OCL meets CTL: Towards CTL-Extended OCL Model Checking

In software modeling, the Object Constraint Language (OCL) is an important tool to specify properties that a model has to satisfy. The design of OCL reflects the structure of MOF-based modeling languages like UML and the tight integration results in an intuitive usability. However, OCL allows to express properties in the context of the current state of an instance model only but not with respect to its evolution. In this paper, we show how OCL can be extended with CTL-based temporal operators to express properties over the lifetime of an instance model. We explain syntax and semantics of our OCL extension and provide a prototypical implementation of our MocOCL model checker.

[1]  Martin Gogolla,et al.  OCL: Syntax, Semantics, and Tools , 2002, Object Modeling with the OCL.

[2]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

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

[4]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[5]  John Mullins,et al.  Model Checking of Extended OCL Constraints on UML Models in SOCLe , 2007, FMOODS.

[6]  Martin Gogolla,et al.  OCL Extended with Temporal Logic , 2003, Ershov Memorial Conference.

[7]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[8]  W. Marsden I and J , 2012 .

[9]  Joost-Pieter Katoen,et al.  On a Temporal Logic for Object-Based Systems , 2000, FMOODS.

[10]  Bran Selic,et al.  What will it take? A view on adoption of model-based methods in practice , 2012, Software & Systems Modeling.

[11]  Stephan Merz,et al.  Model Checking , 2000 .

[12]  Perdita Stevens,et al.  Enriching OCL Using Observational Mu-Calculus , 2002, FASE.

[13]  Michael Soden,et al.  Temporal Extensions of OCL Revisited , 2009, ECMDA-FA.

[14]  Arend Rensink,et al.  Model Checking Dynamic States in GROOVE , 2006, SPIN.

[15]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[16]  Wolfgang Müller,et al.  Formal semantics of static and temporal state-oriented OCL constraints , 2003, Software & Systems Modeling.

[17]  Safouan Taha,et al.  Temporal Constraint Support for OCL , 2012, SLE.

[18]  Alexander Knapp,et al.  Model checking of UML 2.0 interactions , 2006, MoDELS'06.

[19]  Jozef Hooman,et al.  Formalizing UML Models and OCL Constraints in PVS , 2004, SFEDL@ETAPS.

[20]  Stefan Conrad,et al.  Temporal OCL Meeting Specification Demands for Business Components , 2001, Unified Modeling Language: Systems Analysis, Design and Development Issues.

[21]  Ivan Porres,et al.  Model Checking Dynamic and Hierarchical UML State Machines , 2006 .

[22]  Jos Warmer,et al.  The object constraint language , 1998 .