22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!