Dankwoord - martes
Dankwoord - martes
Dankwoord - martes
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
INHOUDSOPGAVE<br />
iii<br />
3 Methodologie 17<br />
3.1 Design By Contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
3.1.1 Klasse-invarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />
3.1.2 Precondities en postcondities . . . . . . . . . . . . . . . . . . . . . . . . 18<br />
3.1.3 Assertions in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
3.1.3.1 Waarom assertie gebruiken? . . . . . . . . . . . . . . . . . . . . 19<br />
3.2 Beschrijving van de methodologie . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
3.2.1 Vertaling van attributen en associaties . . . . . . . . . . . . . . . . . . . 20<br />
3.2.2 Vertaling van OCL operaties over basistypen . . . . . . . . . . . . . . . 21<br />
3.2.2.1 Boolean type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />
3.2.2.2 Real en Integer types . . . . . . . . . . . . . . . . . . . . . . . 22<br />
3.2.2.3 String type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />
3.2.3 Vertaling van OCL collectieoperaties . . . . . . . . . . . . . . . . . . . . 23<br />
3.2.3.1 Eenvoudige collectieoperaties . . . . . . . . . . . . . . . . . . . 24<br />
3.2.3.2 Collectieiteratoren . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />
3.2.3.3 Inkapseling van sjablonen voor collectieoperaties in JAVA methoden<br />
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
3.2.4 Vertaling van OCL if-then-else expressies . . . . . . . . . . . . . . . . 32<br />
3.2.5 Vertaling van OCL let expressies . . . . . . . . . . . . . . . . . . . . . . 33<br />
3.2.6 Vertaling van klasse-invarianten . . . . . . . . . . . . . . . . . . . . . . . 33<br />
3.2.7 Vertaling van pre- en postcondities . . . . . . . . . . . . . . . . . . . . . 34<br />
3.2.8 Vertaling van meer geavanceerde constructies . . . . . . . . . . . . . . . 35<br />
3.2.8.1 Vertaling van het sleutelwoord @pre . . . . . . . . . . . . . . . 35<br />
3.2.8.2 Het sleutelwoord result . . . . . . . . . . . . . . . . . . . . . 36<br />
3.3 Naïeve aanpak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
3.3.1 Vertaling van invarianten . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
3.3.1.1 Inkapseling van een invariant in een booleaanse methode . . . 37<br />
3.3.1.2 Inkapseling van alle klasse-invarianten in een gemeenschappelijke<br />
methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
3.3.2 Vertaling van pre- en postcondities . . . . . . . . . . . . . . . . . . . . . 38<br />
3.4 Intelligente aanpak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
3.4.1 Het Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
3.4.2 Graafconstructie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />
3.4.3 String matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42