22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!