Temporal Constraint Support for OCL

  • Bilal Kanso
  • Safouan Taha
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7745)


The Object Constraint Language is widely used to express precise and unambiguous constraints on models and object oriented programs. However, the notion of temporal constraints, controlling the system behavior over time, has not been natively supported. Such temporal constraints are necessary to model reactive and real-time systems. Although there are works addressing temporal extensions of OCL, they only bring syntactic extensions without any concrete implementation conforming to the OCL standard. On top of that, all of them are based on temporal logics that require particular skills to be used in practice.

In this paper, we propose to fill in both gaps. We first enrich OCL by a pattern-based temporal layer which is then integrated into the current Eclipse’s OCL plug-in. Moreover, the temporal constraint support for OCL, that we define using formal scenario-based semantics, connects to automatic test generators and forms the first step towards creating a bridge linking model driven engineering and usual formal methods.


OCL Object-oriented Programming Temporal constraints Eclipse/MDT Model-Driven Engineering Formal Methods 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Projet TASCCC, Test Automatique basé sur des SCénarios et évaluation Critères Communs,
  2. 2.
    Object Management Group. Object Constraint Language (February 2010),
  3. 3.
    Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 21st International Conference on Software Programming, pp. 411–420 (1999)Google Scholar
  4. 4.
    Jard, C., Jéron, T.: TGV: theory, principles and algorithms. In: World Conference on Integrated Design and Process Technology, IDPT 2002, California, USA (2002)Google Scholar
  5. 5.
    Gaston, C., Le Gall, P., Rapin, N., Touil, A.: Symbolic Execution Techniques for Test Purpose Definition. In: Uyar, M.Ü., Duale, A.Y., Fecko, M.A. (eds.) TestCom 2006. LNCS, vol. 3964, pp. 1–18. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Cabrera Castillos, K., Dadeau, F., Julliand, J., Taha, S.: Measuring Test Properties Coverage for Evaluating UML/OCL Model-Based Tests. In: Wolff, B., Zaïdi, F. (eds.) ICTSS 2011. LNCS, vol. 7019, pp. 32–47. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Baier, C., Katoen, J.P.: Principles of Model Checking. Representation and Mind Series. The MIT Press (2008)Google Scholar
  8. 8.
    Ziemann, P., Gogolla, M.: OCL Extended with Temporal Logic. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 351–357. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Richters, M., Gogolla, M.: OCL: Syntax, Semantics, and Tools. In: Clark, A., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 42–68. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Cengarle, M.V., Knapp, A.: Towards OCL/RT. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 390–409. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Calegari, D., Cengarle, M.V., Szasz, N.: UML 2.0 interactions with OCL/RT constraints. In: FDL, pp. 167–172 (2008)Google Scholar
  12. 12.
    Distefano, D., Katoen, J.P., Rensink, A.: On a temporal logic for object-based systems. In: Fourth International Conference on Formal Methods for Open Object-Based Distributed Systems IV, Norwell, MA, USA, pp. 305–325 (2000)Google Scholar
  13. 13.
    Mullins, J., Oarga, R.: Model Checking of Extended OCL Constraints on UML Models in SOCLe. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 59–75. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
  15. 15.
    Flake, S., Mueller, W.: Formal semantics of static and temporal state-oriented OCL constraints. Software and Systems Modeling (SoSyM) 2, 186 (2003)Google Scholar
  16. 16.
    Bradfield, J., Filipe, J.K., Stevens, P.: Enriching OCL Using Observational Mu-Calculus. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 203–217. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Ramakrishnan, S., Mcgregor, J.: Extending OCL to support temporal operators. In: 21st International Conference on Software Engineering (ICSE 1999) Workshop on Testing Distributed Component-Based Systems, LA, May 16-22 (1999)Google Scholar
  18. 18.
    Conrad, S., Turowski, K.: Temporal OCL: Meeting specifications demands for business components. In: Unified Modeling Language: Systems Analysis, Design, and Development Issues, pp. 151–166. Idea Publishing Group (2001)Google Scholar
  19. 19.
    Object Managment Group. UML profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) (November 2009)Google Scholar
  20. 20.
    Specification patterns,
  21. 21.
    OCL temporal extension (2012),
  22. 22.
  23. 23.
  24. 24.
  25. 25.
    Ledru, Y., du Bousquet, L., Maury, O., Bontron, P.: Filtering TOBIAS Combinatorial Test Suites. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 281–294. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  26. 26.
    Tretmans, J.: Conformance testing with labelled transition systems: Implementation relations and test generation. Computer Networks and ISDN Systems 29(1), 49–79 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Bilal Kanso
    • 1
  • Safouan Taha
    • 1
  1. 1.Computer Science DepartmentSUPELEC Systems Sciences (E3S)Gif-sur-Yvette cedexFrance

Personalised recommendations