On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages

  • Dimitrios S. Kolovos
  • Richard F. Paige
  • Fiona A. C. Polack
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5115)


The Object Constraint Language (OCL) can be used to capture structural constraints in the context of the abstract syntax of modelling languages (metamodels) defined in the MOF metamodelling architecture. While the expression language of OCL has been revised and updated a number of times since its inception, the constructs used for capturing constraints (invariants) have remained unchanged. In this paper we argue that the abstract and concrete syntax of OCL invariants should also be updated to address a number of shortcomings and render OCL more usable in a contemporary modelling environment. To support our arguments we have implemented the proposed extensions in the prototype Epsilon Validation Language (EVL). To demonstrate the benefits delivered, we present and discuss a concrete example.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Object Management Group. Meta Object Facility (MOF) 2.0 Core Specification,
  2. 2.
    Object Management Group. UML 2.0 OCL Specification,
  3. 3.
    Burdy, L., Cheon, Y., Cok, D., Ernst, M., Kiniry, J., Leavens, G.T., Leino, K.R.M., Poll, E.: An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer 7(3), 212–232 (2005)CrossRefGoogle Scholar
  4. 4.
    Barnett, M., DeLine, R., Jacobs, B., Fähndrich, M., Leino, K.R.M., Schulte, W., Venter, H.: The Spec# programming system: Challenges and directions. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 144–152. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)zbMATHGoogle Scholar
  6. 6.
    Kolovos, D.S.: Extensible Platform for Specification of Integrated Languages for mOdel maNagement (Epsilon),
  7. 7.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 128–142. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Chiorean, D., Bortes, M., Corutiu, D.: Proposals for a Widespread Use of OCL. In: Proc. Tool Support for OCL and Related Formalisms - Needs and Trends, Models/UML 2005, Montego Bay, Jamaica (October 2005)Google Scholar
  9. 9.
    Cabot, J., Teniente, E.: Incremental Evaluation of OCL Constraints. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 81–95. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Egyed, A.: Instant consistency checking for the UML. In: ICSE 2006: Proceeding of the 28th international conference on Software engineering, Shanghai, China, pp. 381–390. ACM Press, New York (2006)CrossRefGoogle Scholar
  11. 11.
    Eclipse Foundation,
  12. 12.
  13. 13. Eclipse Modelling Framework,
  14. 14.
    Sun Microsystems. Meta Data Repository,
  15. 15.
    Epsilon component - Eclipse Generative Modeling Technology (GMT),
  16. 16.
    Eclipse GMF - Graphical Modeling Framework,
  17. 17.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall PTR, Englewood Cliffs (2004)Google Scholar
  18. 18.
  19. 19.
    Jouault, F., Bezívin, J.: Using ATL for Checking Models. In: Proc. International Workshop on Graph and Model Transformation (GraMoT), Tallinn, Estonia (September 2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Dimitrios S. Kolovos
    • 1
  • Richard F. Paige
    • 1
  • Fiona A. C. Polack
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations