Dankwoord - martes
Dankwoord - martes
Dankwoord - martes
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1.2. PROBLEEM BESCHRIJVING 3<br />
1.2 Probleem beschrijving<br />
Net zoals broncode, moeten MDD modellen juist en precies zijn om tot een correcte broncode te<br />
kunnen komen. Er bestaan verschillende modelleertalen die in een MDD ontwikkelingsproces<br />
gebruikt kunnen worden. Voorbeelden daarvan zijn UML, GME, MetaEdit [15,17,18]. Hoe<br />
juist en precies men in elk van die talen kan modelleren hangt af van taal tot taal. In deze<br />
thesis gaan we enkel naar UML kijken. UML heeft veel zwakke punten maar blijft toch een<br />
van de meest populaire modelleertalen. Een van de zwakheden van UML modellen (vanaf<br />
hier gaan we de term modellen gebruiken in de context van UML) wordt veroorzaakt door de<br />
semantische onvolledigheid van de modellen.<br />
Modellen kunnen niet alle vaststellingen van een specicatie beschrijven. Bijvoorbeeld het<br />
model in figuur 1.2, duidt de associatie tussen de klasse Person en de klasse Flight aan<br />
dat er met een vlucht nul of meer passagiers geassocieerd kunnen zijn : multipliciteit (0..*).<br />
Dit impliceert dat het aantal passagiers oneindig kan zijn. In werkelijkheid zal dit aantal<br />
eerder beperkt zijn tot het aantal zetels in het vliegtuig dat aan de vlucht geassocieerd is.<br />
Dit voorbeeld toont aan dat deze beperking onbeschrijfbaar is in het UML klasse-diagram.<br />
Bijgevolg zullen modellen die in UML uitgedrukt zijn meestal incompleet, informeel en zelfs<br />
niet precies zijn.<br />
Figuur 1.2: Gesimpliceerd UML model van een Luchthaven systeem<br />
1.2.1 Wat is OCL<br />
De Object Constraint Language (OCL) is een notatie taal voor analyse en design van software<br />
systemen. Deze taal laat ons toe om expressies en beperkingen op een object-georiënteerde<br />
model te schrijven. OCL is ook een deelverzameling van de Unied Modeling Language (UML).<br />
Deze constraints zijn nuttig in het software ontwikkelingsproces. Deze laten de ontwikkelaar<br />
toe om een specieke verzameling van regels die de aspecten van de individuele objecten<br />
bestuurt te creëren.<br />
OCL is ook een constructie waarbij UML het concept van Design By Contract (DBC) [25]<br />
kan ondersteunen. Er zijn twee basis soorten van constraints: klasse-invarianten en pre- en