Object Constraint Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Fix link
Riga 22:
 
=== Invarianti su collezioni ===
Gli attributi con molteplicità maggiore di 1 (ovvero che rappresentano [[insieme|insiemi]]), detti ''collezioni'', possono essere manipolati in OCL con un insieme di [[operatore (informatica)|operatori]] specifici. Anche un attributo con molteplicità 1 ma trattato come collezione può essere manipolato con i seguenti operatori.
 
L'operatore <code>->size()</code> fornisce la numerosità di una collezione. La seguente regola indica che ogni persona ha due genitori:
Riga 258:
== Voci correlate ==
 
* Il linguaggio [[Eiffel (linguaggio)|linguaggio Eiffel]] fu uno dei primi [[linguaggio di programmazione|linguaggi]] [[Programmazione orientata agli oggetti|object-oriented]] a includere un sottolinguaggio dichiarativo per esprimere [[asserzione|asserzioni]]
* Anche [[Java (linguaggio)|Java]] ha un proprio sottolinguaggio per le [[asserzione (Java)|asserzioni]]
* [[Syntropy]], [[Catalysis]] e [[BON]] sono altri linguaggi che consentono di esprimere vincoli su sistemi a oggetti
* L'uso di precondizioni, postcondizioni e invarianti come strumenti di specifica di dati e operazioni ha origine negli studi sulla [[semantica assiomatica]] di [[C.A.R. Hoare]] e [[Edsger Dijkstra]].