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.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.

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

Saved successfully!

Ooh no, something went wrong!