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.
KeywordsClass Diagram Transitive Closure Object Constraint Language Finite Model Generalization Arrow
Unable to display preview. Download preview PDF.
- 1.Beckert, B., Keller, U., Schmitt, P.H.: Translating the Object Constraint Language into first-order predicate logic. In: Proceedings, VERIFY, Workshop at Federated Logic Conferences (FLoC), Copenhagen, Denmark (2002)Google Scholar
- 3.OMG. OMG Unified Modeling Language Specification. Technical Report OMGUML Version 1.4, Object Mangagement Group (September 2001)Google Scholar
- 4.Richters, M.: A precise approach to validating UML models and OCL constraints. PhD thesis, Bremer Institut für Sichere Systeme, Universität Bremen, Logos-Verlag, Berlin (2001)Google Scholar
- 5.Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading (1998)Google Scholar