OCL's contribution to the definition of constraint languages is twofold: the identification of core concepts for a constraint language suitable for object-oriented modeling; a developer-friendly notation for that language, as an alternative to traditional mathematical syntax. Whilst the former is an important contribution the latter is more questionable. Not only is notation often a matter of taste, but it would also be desirable to freely mix notations, allowing the most appropriate notation to be chosen for the task at hand or for notations to be seamlessly interchanged. A further problem when writing constraints is scalability: the number and complexity of constraints can be overwhelming for a model of a real-sized system, and current techniques for organizing the constraint space of a model are limited. The contribution of this paper is to provide a notation, constraint trees, which can be used both for mixing different notations and for organizing the constraint space of a model. Constraint trees achieve this by revealing aspects of the underlying abstract syntax structure of a constraint. The paper demonstrates the utility of the notation using an example from the telecomms networks domain, and shows how constraint trees can be used to write a constraint involving a mix of textual OCL notation, constraint diagrams, object diagrams and rich pictures. This also demonstrates the organizational role of constraint trees. An outline meta-model definition of constraint trees is provided and issues surrounding their tooling is discussed.
[1]
Martin Gogolla,et al.
Validating UML Models and OCL Constraints
,
2000,
UML.
[2]
Stuart Kent,et al.
Mixing Visual and Textual Constraint Languages
,
1999,
UML.
[3]
Stuart Kent,et al.
Constraint Diagrams: Visualizing Invariants in OO Modelling
,
1997,
OOPSLA 1997.
[4]
Stuart Kent,et al.
Constraint diagrams: visualizing invariants in object-oriented models
,
1997,
OOPSLA '97.
[5]
Stuart Kent,et al.
Visualising action contracts in object-oriented modelling
,
1998,
IEE Proc. Softw..
[6]
Margaret M. Burnett,et al.
Representation Design Benchmarks: A Design-Time Aid for VPL Navigable Static Representations
,
1997,
J. Vis. Lang. Comput..
[7]
Stuart Kent,et al.
A Feasibility Study in Rearchitecting UML as a Family of Languages using a Precise OO Meta-Modeling Approach
,
2000
.
[8]
Andy Evans,et al.
Core Meta-Modelling Semantics of UML: The pUML Approach
,
1999,
UML.
[9]
Bernhard Rumpe,et al.
«UML»’99 — The Unified Modeling Language
,
2003,
Lecture Notes in Computer Science.
[10]
Andy Evans,et al.
The Metamodelling Language Calculus: Foundation Semantics for UML
,
2001,
FASE.
[11]
Stuart Kent,et al.
Visualising Action Contracts in OO Modelling
,
1998
.