The Definition of Transitive Closure with OCL: Limitations and Applications
The Object Constraint Language (OCL) is based on first-order logic and set theory. As the most well-known application, OCL is used to formulate well-formedness rules in the UML metamodel. Here, the transitive closure of a relationship is defined in terms of an OCL invariant, which seems to contradict classical results on the expressive power of first-order logic. In this paper, we give sufficient justification for the correctness of the definition of transitive closure. Our investigation reinforces some decisions made in the semantics of UML and OCL. Currently, there is a lively debate on the same issues in the semantics of the upcoming UML 2.0.
Record created on 2005-09-20, modified on 2016-08-08