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