Veröffentlichung
- Titel:
- Meet OCL#, a relational object constraint language
- AutorInnen:
-
Friedrich Steimann
Robert Clarisó
Martin Gogolla - Kategorie:
- Konferenzbandbeiträge
- erschienen in:
- Softw. Syst. Model. 24(6): 1737-1761 (2025)
- Abstract:
At its core, OCL as currently defined is a first-order functional language: its expressions evaluate to single values, with collections accounting for multitudes of values, and special values null and invalid for partiality. By contrast, the data model providing the context of OCL expressions is inherently relational: the associations of UML class diagrams are essentially relations, with uniqueness and order designators extending expressiveness to ordered multirelations. As a result, OCL suffers from a functional/relational impedance mismatch, which is only superficially addressed by its navigation shorthands. At the same time, OCL is inherently unsafe: expressions containing subexpressions evaluating to null may be invalid, translating to a runtime error in programming languages. We address this situation by turning OCL into a relational language that retains most of OCL’s original syntax and semantics, yet revises its fundamental design decisions that lead up to the noted problems. In particular, our version of OCL, which we call OCL# , is type-safe.
- Download:
- electronic edition via DOI (open access)