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.
2.2. TOOLS 11<br />
alleen maar invarianten en precondities. In de laatste versie 2.2.0 die we getest hebben, zijn<br />
postcondities nog niet ondersteund. Bijgevolg zijn sleutelwoorden als @pre en result ook niet<br />
vertaald.<br />
Iedere keer een OCL expressie gebruik maakt van collectieoperaties die over collecties itereren<br />
zijn er hulp methoden voor gecreëerd. Op deze manier wordt de code met dupliceerde<br />
hulp methoden aangevuld. Bij operaties zijn er wel de precondities gecheckt maar niet de<br />
invarianten.<br />
Hieronder geven we een skelet van hoe de gegenereerde JAVA code eruit ziet:<br />
Listing 1 Octopus<br />
class X{<br />
private int attribute;<br />
public X(){<br />
}<br />
public void operation(){<br />
assert (precondition);<br />
//... <br />
}<br />
private boolean helpMethod(){<br />
}<br />
public void inv0(){<br />
boolean result = helpMethod();<br />
if(!result) throw new InvariantException();<br />
public void inv1(){<br />
}<br />
public List checkAllInvariants(){<br />
List result = new ArrayList();<br />
try{<br />
inv0();<br />
}catch(InvariantException e){result.add(e);}<br />
try{<br />
inv1();<br />
}catch(InvariantException e){result.add(e);}<br />
return result;<br />
}<br />
}<br />
2.2.2 OCLE<br />
OCLE [12] is een UML CASE tool dat OCL volledig ondersteunt, zowel op metamodel als<br />
op modelniveau. De codegenerator produceert code voor de modelstructuur en voor de OCL<br />
specicatie. Het resultaat is een volledig werkende code. Versie 2.0 van het tool biedt ondersteuning<br />
voor OCL 2.0 en is compatibel met UML 1.5.<br />
Indien men dit tool voor codegeneratie wil gebruiken moet men eerst een model in het tool<br />
creëren en dan de bijbehorende OCL constraints toevoegen. Deze constraints kunnen geva-