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