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.4. DOELSTELLINGEN 5<br />
• Ten vierde is het mogelijk om het principe van Design By Contract in een programmeertaal<br />
te simuleren.<br />
Indien we deze aanpak in software ontwikkeling volgen, zal de productiviteit zeker verhogen.<br />
Een implementatie van een systeem door MDD/MDA tools is sneller en eciënter dan een<br />
handgeschreven implementatie. Verder is de kwaliteit van ons systeem verhoogd. Er is garantie<br />
voor een consistentie tussen ons UML/OCL- model en de gegenereerde artefacten.<br />
1.4 Doelstellingen<br />
In het kader van dit eindwerk zullen we een bepaald aspect van de modeltransformaties proberen<br />
te bestuderen - namelijk de transformaties van OCL expressies naar werkende code. Tot<br />
nu toe zijn OCL expressies vooral gebruikt als validatie van modellen en documentatie. Dus<br />
spreken we hier over statische OCL. In deze thesis willen we verder gaan door beperkingen te<br />
leggen op instantiaties van UML modellen. Dit soort van OCL expressies noemt men run-time<br />
OCL. Er zijn twee basissoorten van OCL expressies of constraints: klasse-invarianten en preen<br />
postcondities. Wat we in deze thesis willen realiseren is precies deze twee basissoorten van<br />
OCL expressies te transformeren door een specieke codegeneratie. We gebruiken JAVA als<br />
doeltaal voor deze codegeneratie.<br />
Deze specieke transformatie (codegeneratie) zal gebeuren op basis van twee aanpakken. Een<br />
eerste aanpak is de naïeve aanpak waarbij beide basissoorten van constraints gecontroleerd<br />
worden op iedere stabiel moment van een systeem. Maar hier stoppen we niet. Een tweede<br />
meer geavanceerde aanpak zal bestudeerd worden. Hierbij worden alleen de relevante OCLexpressies<br />
gecontroleerd waarbij de overhead drastisch kan dalen en de eciëntie van ons<br />
systeem verhoogt.<br />
Deze transformaties zullen we uitwerken met het HAT-tool van het software engineeringsbedrijf<br />
E2S uit Gent [10].<br />
Hiernaast zullen we ook een aantal bestaande tools evalueren die run-time OCL ondersteunen.<br />
1.5 Overzicht<br />
In dit hoofdstuk werd het ontwerp van dit eindwerk in een ruimer kader geplaatst. De doelstellingen<br />
werden kort aangehaald.<br />
In het tweede hoofdstuk gaan we de state-of-the-art van OCL toolondersteuning bespreken.<br />
Hier stellen we eerst een aantal evaluatiecriteria voor. Op basis van de opgestelde criteria<br />
evalueren we een aantal tools. Ten slotte trekken we een conclusie over de huidige toolondersteuning<br />
van run-time OCL expressies.<br />
In het derde hoofdstuk stellen we verschillende aanpakken van transformaties van constraints<br />
naar code voor. Deze constraints zijn OCL expressies op UML modellen. Eerst zullen we een<br />
beschrijving van een mogelijke OCL naar JAVA vertaling voorstellen. Daarna zullen we deze<br />
transformaties zowel op een naïeve als op een meer intelligente manier beschrijven.