Java Modelling Language: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 14:
</source>
===Direttive===
Le direttive principali del linguaggio sono:
;
: ;
: ;
: ;
: ;
: ;
: ;
: ;
: ===Espressioni===
JML mette a inoltre a disposizione anche le seguenti espressioni:
;<code>\result</code>
;<code>\old(<name>)</code>
:il [[quantificatore universale (simbolo)|quantificatore universale]]
;<code>\exists</code>
:il [[quantificatore esistenziale (simbolo)|quantificatore esistenziale]]
;<code>a ==> b</code>
:il costrutto logico <code>a</code> implica <code>b</code>
;<code>a <==> b</code>
:il costrutto logico <code>a</code> se e solo se <code>b</code>
Le annotazioni JML hanno inoltre accesso agli [[oggetto (informatica)|oggetti]] Java, oltre che ai metodi ed agli [[Operatore (informatica)|operatori]] degli oggetti. Questi sono combinati per fornire fspecifiche formali delle proprietà delle classi, dei campi e dei metodi. Un esempio di senmplice annotazione di un metodo potrebbe essere il seguente:
▲; <code>\result</code> : identificatore del valore di ritorno del metodo che segue
▲; <code>\old(<name>)</code> : modificatore con cui riferirsi al valore della variabile <code><name></code> al momento del lancio nel metodo
▲; <code>\forall</code> : The [[universal quantifier]].
<source lang=java>
public class BankingExample {
Riga 64 ⟶ 78:
public /*@ pure @*/ int getBalance() throws BankingException { ... }
}
</
==Collegamenti esterni==
*[http://www.jmlspecs.org/ Sito ufficiale]
|