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.

52 HOOFDSTUK 4. REALISATIE IN HAT<br />

Algorithm 1 Algoritme intelligente aanpak gebaseerd op string matching<br />

foreach operation<br />

if(set of postconditions not empty)<br />

foreach postcondition<br />

pat := search for pattern<br />

foreach invariant<br />

find pat<br />

if(found)<br />

print invariant using assert construction<br />

else do nothing<br />

else do nothing<br />

reguliere expressies. Vervolgens gaan we zoeken of dit object (variabele) ook in een van de<br />

klasse-invarianten betrokken is. Indien dat het geval is gaan we deze invariant afdrukken door<br />

gebruik van de assert constructie. We tonen het algoritme in Algorithm1.<br />

Dat kan in sommige gevallen goed werken maar de mogelijkheid voor het afdrukken van dezelfde<br />

invariant meerdere keren in een operatie is niet uitgesloten. Bijgevolg is onze intelligente<br />

aanpak niet meer intelligent.<br />

We willen dit probleem oplossen door in plaats van elke keer de gevonden invariant af te<br />

drukken, gaan we deze in een collectie opslaan en dan duplicaten weghalen. Vervolgens door<br />

het afdrukken van ieder element van deze collectie krijgen we het gewenste resultaat.<br />

4.5 Evaluatie<br />

Voor de evaluatie van dit tool gaan we opnieuw de voorgestelde criteria van hoofdstuk 2<br />

gebruiken. We hebben al in hoofdstuk 2 gezien dat de geëvalueerde tools geen mogelijkheden<br />

aanbieden om aanpassingen en verjningen aan de gegenereerde code uit te voeren. Wat wel<br />

mogelijk is is allen een model en de bijbehorende beperkingen te modelleren en vervolgens code<br />

te genereren. In HAT is wel mogelijk dat een gebruiker stereotypen, regels en constraints en<br />

code specicatie zelf kan denieren. Dit gebeurt met behulp van UML proelen. Eens zijn deze<br />

UML proelen op UML modellen toegepast dan verrijken deze UML proelen de modellen<br />

en bovendien controleren ze of het model met de opgestelde constraints samengaat. UML<br />

proelen kunnen ook verschillende projectproducten opleveren: documenten, testsequenties,<br />

metrieken enz.<br />

Hieronder vatten we alles samen.

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

Saved successfully!

Ooh no, something went wrong!