Object Constraint Language: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Bibliografia: Bot: fix overlinking (v. richiesta) |
m Bot, replaced: Linguaggio formale (matematica) → Linguaggio formale |
||
Riga 1:
L''''Object Constraint Language''' o '''OCL''' è un [[Linguaggio formale
OCL deriva da un linguaggio precedente noto come [[Syntropy]]. Il nucleo di OCL può essere descritto come un linguaggio mutuato dal [[calcolo dei predicati del primo ordine]] per l'espressione di condizioni logiche inerenti allo stato e alle operazioni di oggetti in un contesto ''object-oriented''. Con la potenza del calcolo dei predicati, OCL consente di descrivere [[invariante|invarianti]] che legano il valore degli attributi di una classe, [[asserzione|precondizioni e postcondizioni]] delle operazioni, e via dicendo. A partire dalla versione 2.0 (che è quella inclusa nello standard UML), il linguaggio è stato arricchito di elementi che consentono di descrivere la semantica di operazioni di tipo ''interrogazione'' (''query''), ovvero prive di [[effetto collaterale (informatica)|effetti collaterali]].
Riga 80:
=== Valori iniziali di attributi ===
Un'espressione OCL può essere usata anche per descrivere il valore iniziale di un attributo:
:<code>'''context''' Persona::età:Integer '''init:'''<br /></code>
|