Skip to main content

Object Constraint Language (OCL): A Definitive Guide

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7320))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A Challenging Model Transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MoDELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  2. Baar, T.: On the need of user-defined libraries in OCL. ECEASST 36 (2010)

    Google Scholar 

  3. Bergmann, G., Horváth, Á., Ráth, I., Varró, D., Balogh, A., Balogh, Z., Ökrös, A.: Incremental Evaluation of Model Queries over EMF Models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MoDELS 2010, Part I. LNCS, vol. 6394, pp. 76–90. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  4. Borgida, A., Mylopoulos, J., Reiter, R.: On the frame problem in procedure specifications. IEEE Trans. Software Eng. 21(10), 785–798 (1995)

    Article  Google Scholar 

  5. Brucker, A.D., Krieger, M.P., Wolff, B.: Extending OCL with null-references. In: Ghosh [15], pp. 261–275

    Google Scholar 

  6. Brucker, A.D., Wolff, B.: The HOL-OCL book. Technical Report 525, ETH Zurich (2006)

    Google Scholar 

  7. Büttner, F., Gogolla, M., Hamann, L., Kuhlmann, M., Lindow, A.: On better understanding OCL collections or an OCL ordered set is not an OCL set. In: Ghosh [15], pp. 276–290

    Google Scholar 

  8. Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE, pp. 547–548. ACM (2007)

    Google Scholar 

  9. Cabot, J., Mazón, J.-N., Pardillo, J., Trujillo, J.: Specifying aggregation functions in multidimensional models with OCL. In: Parsons, et al. [22], pp. 419–432

    Google Scholar 

  10. Cabot, J., Teniente, E.: Constraint Support in MDA Tools: A Survey. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 256–267. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Cabot, J., Teniente, E.: Incremental integrity checking of UML/OCL conceptual schemas. Journal of Systems and Software 82(9), 1459–1478 (2009)

    Article  Google Scholar 

  12. Chimiak-Opoka, J.D., Demuth, B., Awenius, A., Chiorean, D., Gabel, S., Hamann, L., Willink, E.D.: OCL tools report based on the ide4OCL feature model. ECEASST 44 (2011)

    Google Scholar 

  13. Dobing, B., Parsons, J.: How UML is used. Commun. ACM 49, 109–113 (2006)

    Article  Google Scholar 

  14. Frias, L., Queralt, A., Olivé, A.: Eu-rent car rentals specification. Technical Report LSI Research Report. LSI-03-59-R, UPC (2003)

    Google Scholar 

  15. Ghosh, S. (ed.): MoDELS 2009. LNCS, vol. 6002. Springer, Heidelberg (2010)

    Google Scholar 

  16. Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL Models in USE by Automatic Snapshot Generation. Journal on Software and System Modeling 4(4), 386–398 (2005)

    Article  Google Scholar 

  17. Gogolla, M., Büttner, F., Richters, M.: Use: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1-3), 27–34 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  18. Heidenreich, F., Wende, C., Demuth, B.: A framework for generating query language code from OCL invariants. ECEASST 9 (2008)

    Google Scholar 

  19. Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive Validation of OCL Models by Integrating SAT Solving into USE. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 290–306. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  20. Object Management Group. OCL 2.3.1 Specification (2010)

    Google Scholar 

  21. Object Management Group. UML 2.4.1 Superstructure Specification (2011)

    Google Scholar 

  22. Parsons, J., Saeki, M., Shoval, P., Woo, C.C., Wand, Y. (eds.): ER 2010. LNCS, vol. 6412. Springer, Heidelberg (2010)

    Google Scholar 

  23. Queralt, A., Rull, G., Teniente, E., Farré, C., Urpí, T.: Aurus: Automated reasoning on UML/OCL schemas. In: Parsons, et al. [22], pp. 438–444

    Google Scholar 

  24. Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using boolean satisfiability. In: DATE, pp. 1341–1344. IEEE (2010)

    Google Scholar 

  25. Tisi, M., Martínez, S., Jouault, F., Cabot, J.: Lazy Execution of Model-to-Model Transformations. In: Whittle, J., Clark, T., Kühne, T. (eds.) MoDELS 2011. LNCS, vol. 6981, pp. 32–46. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  26. Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley (2003)

    Google Scholar 

  27. Wieringa, R.: A survey of structured and object-oriented software specification methods and techniques. ACM Comput. Surv. 30(4), 459–527 (1998)

    Article  Google Scholar 

  28. Willink, E.D.: Modeling the OCL standard library. ECEASST 44 (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Cabot, J., Gogolla, M. (2012). Object Constraint Language (OCL): A Definitive Guide. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds) Formal Methods for Model-Driven Engineering. SFM 2012. Lecture Notes in Computer Science, vol 7320. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30982-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30982-3_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30981-6

  • Online ISBN: 978-3-642-30982-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics