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.

3.2. BESCHRIJVING VAN DE METHODOLOGIE 21<br />

self.associationEnd<br />

wordt getransformeerd naar de volgende JAVA code:<br />

this.getAssociationEnd();<br />

3.2.2 Vertaling van OCL operaties over basistypen<br />

Deze sectie denieert de vertaling van operaties over basistypen. Met basistypen bedoelen<br />

we hier de Boolean, Integer, Real en String typen. De vertaling van deze basistypen en<br />

hun bijbehorende operaties is op zichzelf niet zo moeilijk. We kunnen voor elke van deze<br />

operaties een implementatie in JAVA voorzien door middel van een van standaard bibliotheek<br />

waarin voor elk type een klasse zal geimplementeerd worden en binnen zo'n klasse zullen de<br />

bijbehorende operaties als statische methoden geimplementeerd worden. Vermits in JAVA<br />

deze typen en hun bijbehorende operaties tegenhangers hebben verkiezen we hier om een<br />

hergebruik van de JAVA API te maken. Bijgevolg is de vertaling van deze OCL operaties<br />

eigenlijk een afbeelding op hun tegenhangers in JAVA. We zullen kort de vertaling van de meest<br />

voorkomende operaties bespreken. We zullen deze vertaling ook in een tabelvorm voorstellen.<br />

We hebben al gezegd dat er Boolean, Integer, Real en String basistypen in OCL zijn. We<br />

beginnen met het Boolean basistype.<br />

3.2.2.1 Boolean type<br />

Een boolean type kan twee waarden hebben: false of true. JAVA biedt equivalente sleutelwoorden<br />

en bijgevolg is de vertaling naar JAVA direct. Natuurlijk moeten de bijbehorende operaties<br />

wel afgebeeld worden. In tabel 3.1 introduceren we het meest voorkomende booleaanse operaties.<br />

Booleaanse operaties hebben twee delen, namelijk een rechter- en een linkerdeel. In<br />

de tabel hieronder stelt 'a' het linker deel van deze operaties voor die een OCL expressies<br />

is. Hetzelfde geldt voor het rechterdeel. Het resultaat van het toepassen van een booleaanse<br />

operaties geeft een booleaanse waarde terug.<br />

Operatie OCL notatie Java vertaling Type van het resultaat<br />

or a or b a || b Boolean<br />

and a and b a && b Boolean<br />

exclusieve or a xor b (a || b) &&(a != b) Boolean<br />

negation not a ! a Boolean<br />

equals a = b a == b Boolean<br />

not equals a b a != b Boolean<br />

implies a implies b a ? b : true Boolean<br />

Tabel 3.1: Standaard operaties voor de Boolean type<br />

We gaan dat verduidelijken aan de hand van een voorbeeld voor de conjunctie en disjunctie<br />

van twee booleaanse attributen. Stel dat we de volgende OCL expressie hebben:

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

Saved successfully!

Ooh no, something went wrong!