Object Constraint Language (OCL): A Definitive Guide

The Object Constraint Language (OCL) started as a complement of the UML notation with the goal to overcome the limitations of UML (and in general, any graphical notation) in terms of precisely specifying detailed aspects of a system design. Since then, OCL has become a key component of any model-driven engineering (MDE) technique as the default language for expressing all kinds of (meta)model query, manipulation and specification requirements. Among many other applications, OCL is frequently used to express model transformations (as part of the source and target patterns of transformation rules), well-formedness rules (as part of the definition of new domain-specific languages), or code-generation templates (as a way to express the generation patterns and rules). This chapter pretends to provide a comprehensive view of this language, its many applications and available tool support as well as the latest research developments and open challenges around it.

[1]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[2]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[3]  Jordi Cabot,et al.  Specifying Aggregation Functions in Multidimensional Models with OCL , 2010, ER.

[4]  Michel R. V. Chaudron Models in Software Engineering, Workshops and Symposia at MODELS 2008, Toulouse, France, September 28 - October 3, 2008. Reports and Revised Selected Papers , 2009, MoDELS Workshops.

[5]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[6]  Achim D. Brucker,et al.  Extending OCL with null-references: towards a formal semantics for OCL 2.1 , 2009, MODELS'09.

[7]  Ákos Horváth,et al.  Incremental evaluation of model queries over EMF models , 2010, MODELS'10.

[8]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[9]  Antonio Vallecillo,et al.  Objects, Models, Components, Patterns , 2011, Lecture Notes in Computer Science.

[10]  Lars Hamann,et al.  OCL Tools Report based on the IDE4OCL Feature Model , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[11]  Martin Gogolla,et al.  Verifying UML/OCL models using Boolean satisfiability , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[12]  Jordi Cabot,et al.  Constraint Support in MDA Tools: A Survey , 2006, ECMDA-FA.

[13]  John Mylopoulos,et al.  On the Frame Problem in Procedure Specifications , 1995, IEEE Trans. Software Eng..

[14]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[15]  Jordi Cabot,et al.  Lazy execution of model-to-model transformations , 2011, MODELS'11.

[16]  Ernest Teniente,et al.  AuRUS: Automated Reasoning on UML/OCL Schemas , 2010, ER.

[17]  Roel Wieringa,et al.  A survey of structured and object-oriented software specification methods and techniques , 1998, CSUR.

[18]  Edward D. Willink,et al.  Modeling the OCL Standard Library , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[19]  Martin Gogolla,et al.  On better understanding OCL collections or an OCL ordered set is not an OCL set , 2009, MODELS'09.

[20]  Achim D. Brucker,et al.  The HOL-OCL Book , 2006 .

[21]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[22]  Christian Wende,et al.  A Framework for Generating Query Language Code from OCL Invariants , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[23]  Martin Gogolla,et al.  Extensive Validation of OCL Models by Integrating SAT Solving into USE , 2011, TOOLS.

[24]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[25]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[26]  Peretz Shoval,et al.  Conceptual Modeling - ER 2010, 29th International Conference on Conceptual Modeling, Vancouver, BC, Canada, November 1-4, 2010. Proceedings , 2010, ER.

[27]  J. Davenport Editor , 1960 .

[28]  Antoni Olivé Ramon,et al.  EU-Rent car rentals specification , 2003 .

[29]  Jordi Cabot,et al.  UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming , 2007, ASE.

[30]  Thomas Baar,et al.  Electronic Communications of the EASST Volume 36 ( 2010 ) Proceedings of the Workshop on OCL and Textual Modelling ( OCL 2010 ) On the Need of User-defined Libraries in OCL , 2010 .

[31]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..