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.
Viktor Kuncak, Simon Guilloud, Sankalp Gambhir
Joseph Sifakis, Simon Bliudze, Anastasia Mavridou, Eduard Baranov
Viktor Kuncak, Nicolas Charles Yves Voirol