B. OBJECTGEORIËNTEERDE BENADERING

B1. Een omgeving voor objectgerichte analyse en ontwerp


Prof. J. LEWI, KUL, Dep. Computerwetenschappen
Celestijnenlaan, 200 A - 3001 Heverlee

Het objectgeoriënteerde paradigma heeft in de huidige stand van zaken een dermate rijpheid bereikt dat het de meest populaire en meest effectieve hedendaagse aanpak voor de produktie van software van hoge kwaliteit is geworden. Met hun wortels in programmeertalen zoals Smalltalk, zijn de objectgeoriënteerde principes vooreerst toegepast of het implementatieniveau. Om structurele continuïteit te bekomen, hebben onderzoekers over de hele wereld nagegaan hoe deze objectgeoriënteerde principes ook gedurende de vroegere fasen van de software-levenscyclus toegepast kunnen worden. Dit resulteerde in een groot aantal methoden bepaalde aspecten van de objectgeoriënteerde aanpak meer benadrukken dan andere, kunnen we toch een onderscheid maken tussen structurele methoden enerzijds, waar relaties tussen objecten de drijvende kracht zijn, en methoden waarin het gedrag van klassen, in de vorm van boodschappen tussen objecten, een centrale rol spelen, anderzijds.

In dit onderzoeksproject is de EROOS-methode voor objectgeoriënteerde analyse en ontwerp, die ontwikkeld is aan de KULeuven, toegepast op een aantal gevalstudies. Tegelijkertijd is een prototype van een ontwikkelomgeving gerealiseerd, die deze methode ondersteunt. EROOS is een structurele methode, waarin naast relaties en attributen ook beperkingen, uitgedrukt in een beperkte vorm van eerste-orde- logica, sleutelconcepten zijn. EROOS toepassen op een aantal gevalstudies van kleinere schaal in verschillende toepassingsdomeinen, heeft als resultaat dat de basisconcepten uit de analyse-en ontwerpfasen tegelijkertijd verfijnd en uitgebreid zijn. Zo zijn de klassen uitgebreid met een archief, waarin alle reeds vernietigde objecten nog steeds beschikbaar zijn, om tegemoet te komen aan verschillende vormen van statistieken welke typisch gevonden worden in informatiesystemen. Gevalstudies in dit domein hebben ook geleid tot een precieze en formele definitie van de generalisatie- en specialisatierelatie tussen klassen. De analyse van kleine gevalstudies in het domein van reële-tijd-systemen, zoals verkeerslichten, luchtverversing- en liftcontrolesystemen, gaven aanleiding tot uitbreiding van de zeggingskracht van de beperkingen om tijdsaspecten uit te drukken. Een belangrijk deel van het project was gewijd aan de toepassing van de principes van objectgeoriënteerde analyse op een echte industriële gevalstudie. Daarvoor werd de werking van een bepaald apparaat in de telecommunicatiewereld, een flexibele multiplexer genoemd, in alle detail geanalyseerd en gespecificeerd. De EROOS-methode bleek op dat moment al voldoende stabiel om alle aspecten van de gegeven multiplexer op een elegante wijze te specificeren. De resulterende specificatie was echter te complex om in zijn geheel begrepen te worden. Samenvattend kunnen we stellen dat de principes van objectgeoriënteerde analyse met succes kunnen toegepast worden op applicaties van kleine schaal. Er zijn echter nog steeds bijkomende concepten nodig om de complexiteit van problemen op grotere schaal te beheersen. Op dit moment zijn enkele, nog onvolwassen concepten voorgesteld in verschillende methoden om toepassingen op verschillende niveaus van abstractie te specificeren.

Zoals voorheen al vermeld, behoorde de ontwikkeling van een prototypeomgeving die de EROOS-methode voor objectgeoriënteerde analyse en ontwerp ondersteunt, ook tot de doelstellingen van dit onderzoeksproject. Naast aspecten van grafische gebruikersinterface, vormen ook de problemen om documenten met een complexe inwendige structuur te creëren en te manipuleren, een struikelblok in de ontwikkeling van een dergelijke omgeving. Omdat bovendien de methode die ondersteund moest worden, verwacht werd grondig te evolueren gedurende het project, was een flexibele taal van hoog niveau om de inwendige structuur van een document te beschrijven van het hoogste belang. Alhoewel op het moment dat het project aanving verschillende gesofistikeerde werktuigen om grafische gebruikersinterfaces te genereren, beschikbaar waren, werden geen geschikte werktuigen gevonden om de structuur van EROOS-modellen te beschrijven. Om deze reden werd een generisch pakket, dat een uitgebreide verzameling bewerkingen om te navigeren doorheen complexe grafen aanbood, uitgebreid om zulke structuren te editeren, wat resulteerde in de zogenoemde Reusable Graphical Editor. Gedurende dit project heeft dit pakket bewezen uitermate geschikt te zijn om de voortdurende veranderingen en uitbreidingen aan de concepten van onderliggende EROOS-methode op te vangen. Bovendien is de Reusable Graphical Editor ook met succes toegepast in de context van andere projecten, waarin gelijksoortige prototypewerktuigen moesten ontwikkeld worden. In een tweede fase bleek het werktuig, dat initieel geselecteerd was om deze gebruikersinterface te genereren, niet toepasbaar te zijn. Dit verklaart waarom op het einde van het project slechts een eerder primitieve vorm van de gebruikersinterfacing verwezenlijkt kon worden. Op dit moment zijn deze problemen echter opgelost, zodat een werktuig met een professionele gebruikersinterface beschikbaar is voor verdere experimenten met de EROOS-methode.

Inhoud Volgende Artikel