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.
60 HOOFDSTUK 6. BESLUIT<br />
De oorspronkelijke mogelijkheden van HAT lieten ons niet toe om de intelligente aanpak te<br />
implementeren. Dat was eigenlijk het moment van de geboorte van de intelligente aanpak<br />
gebaseerd op string matching. Deze methode zoekt voor elke postconditie horend bij een<br />
publieke operatie welke object of variabele tijdens de uitvoering van deze operatie zou moeten<br />
aangepast worden. Vervolgens gaan we de gevonden object of variabele met een of meerdere<br />
klasse-invarianten proberen te matchen. Met deze oplossing hebben we het probleem van de<br />
intelligente aanpak niet kunnen implementeren omgezeild.<br />
Tijdens de implementatie in HAT hebben we samen met E2S naar verschillende oplossingen<br />
gezocht om wat verjningen aan het tool aan te brengen.<br />
6.3 Kritische noot<br />
Een nadeel van het HAT tool is dat er geen ondersteuning is voor sleutelwoorden zoals @pre<br />
en result. Blijkbaar is de complexiteit verhoogd om deze sleutelwoorden te implementeren<br />
dan de voordelen die dat zou opbrengen.<br />
Naast de methodologie die we voor het bereiken van de doelstellingen ontwikkeld hebben,<br />
hebben we ook een evaluatie van bestaande tools gemaakt die run-time OCL ondersteunen.<br />
Voor onze grote verassing wat wij uit de gegenereerde code gemerkt hebben is dat er geen enkel<br />
van de geëvalueerde tools een meer intelligente, slimme implementatie had voor het nagaan<br />
van voldoening van constraints. Alle tools volgen min of meer een aanpak die op onze naïeve<br />
aanpak lijkt. Dat plaats HAT tool een stap voor zijn concurrenten alhoewel nog wat werk<br />
moet gedaan worden om een een deftige implementatie van de intelligente aanpak in HAT te<br />
hebben.<br />
6.4 Toekomstig werk: uitbreidingen en aanpassingen<br />
We hebben aangegeven hoe run-time OCL expressies naar werkende code in HAT getransformeerd<br />
kunnen zijn. We sommen enkele uitbreidingen op die nuttig zijn om het systeem<br />
bruikbaarder te maken.<br />
Het zou interessant zijn om een ondersteuning voor sleutelwoorden zoals @pre en result te<br />
voorzien. Dat zou het tool bruikbaarder maken wat betreft transformaties van run-time OCL<br />
expressies.<br />
Op basis van de methodologie die we in deze thesis ontwikkeld hebben, zouden we generatoren<br />
ook in andere talen moeiteloos kunnen implementeren.<br />
Een volledige beschrijving van OCL taal kan ook beschouwd worden. De methodologie die we<br />
voorgesteld hebben, is niet volledig in de zin dat we maar een deelverzameling van de OCL<br />
taal genomen hebben. We hebben vooral op een aantal aspecten gefocust: klasse-invarianten,<br />
pre- en postcondities. Aeiding regels, initiële waarden, body-of-query operaties hebben we<br />
niet bestudeerd.<br />
Alhoewel onze aandacht in deze thesis op de JAVA programmeertaal gericht was, zou er interessant<br />
zijn om een alternatieve implementatie wat betreft aspect-georiënteerde uitbreidingen