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.

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-

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

Saved successfully!

Ooh no, something went wrong!