Skip to main content
Log in

Semantics of OCL specified with QVT

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

The Object Constraint Language (OCL) has been for many years formalized both in its syntax and semantics in the language standard. While the official definition of OCL’s syntax is already widely accepted and strictly supported by most OCL tools, there is no such agreement on OCL’s semantics, yet. In this paper, we propose an approach based on metamodeling and model transformations for formalizing the semantics of OCL. Similarly to OCL’s official semantics, our semantics formalizes the semantic domain of OCL, i.e. the possible values to which OCL expressions can evaluate, by a metamodel. Contrary to OCL’s official semantics, the evaluation of OCL expressions is formalized in our approach by model transformations written in QVT. Thanks to the chosen format, our semantics definition for OCL can be automatically transformed into a tool, which evaluates OCL expressions in a given context. Our work on the formalization of OCL’s semantics resulted also in the identification and better understanding of important semantic concepts, on which OCL relies. These insights are of great help when OCL has to be tailored as a constraint language of a given DSL. We show on an example, how the semantics of OCL has to be redefined in order to become a constraint language in a database domain.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. OMG. UML 2.0 Infrastructure Specification. OMG Document ptc/03-09-15, September 2003

  2. Berkenkötter, K.: OCL-based validation of a railway domain profile. In: Kühne, T. (ed.) Models in Software Engineering, Workshops and Symposia at MoDELS 2006, Genova, Italy, October 1–6, 2006, Reports and Revised Selected Papers, LNCS, vol. 4364, pp. 159–168. Springer, Heidelberg (2007)

  3. Demuth, B., Hußmann, H., Loecher, S.: OCL as a specification language for business rules in database applications. In: UML’01: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, Lecture Notes in Computer Science, vol. 2185, pp. 104–117. Springer, Heidelberg (2001)

  4. Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: Octavian Patrascoiu, editor, OCL and Model Driven Engineering, UML 2004 Conference Workshop, 12 October 2004, Lisbon, Portugal, pp. 69–83. University of Kent, Kent (2004)

  5. Akehurst, D.H., Bordbar, B.: On querying UML data models with OCL. In: Gogolla, M., Kobryn, C. (eds.) UML 2001—The Unified Modeling Language, Modeling Languages, Concepts, and Tools, 4th International Conference, Toronto, Canada, 1–5 October 2001, Proceedings, Lecture Notes in Computer Science, vol. 2185, pp. 91–103. Springer, Heidelberg (2001)

  6. Demuth, B., Hußmann, H.: Using UML/OCL constraints for relational database design. In: France, R.B., Rumpe, B. (eds.) UML’99: The Unified Modeling Language—Beyond the Standard, Second International Conference, Fort Collins, CO, USA, 28–30 October 1999, Proceedings, Lecture Notes in Computer Science, vol. 1723. Springer, Heidelberg (1999)

  7. Bauerdick, H., Gogolla, M., Gutsche, F.: Detecting OCL traps in the UML 2.0 superstructure: an experience report. In: Baar, T., Strohmeier, A., Moreira, A.M.D., Mellor, S.J. (eds.) UML 2004—The Unified Modelling Language: Modelling Languages and Applications. 7th International Conference, Lisbon, Portugal, 11–15 October 2004. Proceedings, Lecture Notes in Computer Science, vol. 3273, pp. 188–196. Springer, Heidelberg (2004)

  8. Oslo, T.: Oslo project (2007). http://oslo-project.berlios.de/

  9. MDT-OCL Team: Eclipse MDT—OCL project (2007). http://www.eclipse.org/modeling/mdt/?project=ocl

  10. Dresden OCL Team: Dresden OCL Toolkit (2007). http://dresden-ocl.sourceforge.net/

  11. OCTOPUS Team: OCTOPUS—OCl TOol for Precise Uml Specifications (2007). http://octopus.sourceforge.net/

  12. USE Team: USE—a UML-based Specification Environment (2007). http://www.db.informatik.uni-bremen.de/projects/USE/

  13. OCLE Team: OCLE–Object Constraint Language Environment (2007). http://lci.cs.ubbcluj.ro/ocle/index.htm

  14. OMG: Object Constraint Language—OMG Available Specification, version 2.0. OMG Document formal/06-05-01, May (2006)

  15. Richters, M.: A precise approach to validating UML models and OCL constraints. PhD thesis, Bremer Institut für Sichere Systeme, Universität Bremen, Logos-Verlag, Berlin (2001)

  16. OMG: Meta object facility (MOF) 2.0 Query/View/Transformation Specification. OMG Document ptc/05-11-01, November (2005)

  17. RoclET Team. RoclET project (2007). http://www.roclet.org/

  18. Borland. Together technologies (2007). http://www.borland.com/together/

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

  20. Brucker, A.D.: An Interactive Proof Environment for Object-oriented Specifications. PhD thesis, ETH Zurich (2007). ETH Dissertation No. 17097

  21. Clark, T., Evans, A., Kent, S.: Engineering modelling languages: a precise meta-modelling approach. In: Kutsche, R.-D., Weber, H. (eds.) Fundamental Approaches to Software Engineering. 5th International Conference, FASE 2002 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002 Grenoble, France, April 2002, Proceedings, LNCS, vol. 2306, pp. 159–173. Springer, Heidelberg (2002)

  22. Marković, S., Baar, T.: An OCL semantics specified with QVT. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings, MoDELS/UML 2006, Genova, Italy, 1–6 October 2006, LNCS, vol. 4199, pp. 660–674. Springer, Heidelberg (2006)

  23. Brucker, A.D., Doser, J., Wolff, B.: Semantic issues of OCL: Past, present, and future. In: Demuth, B., Chiorean, D., Gogolla, M., Warmer, J. (eds.) OCL for (Meta-)Models in Multiple Application Domains, pp. 213–228. University Dresden, Dresden (2006) (Available as Technical Report, University Dresden, number TUD-FI06-04-September 2006)

  24. Baar, T.: Non-deterministic constructs in OCL—what does any() mean. In: Prinz, A., Reed, R., Reed, J. (eds.) Proceedings of 12th SDL Forum, Grimstad, Norway, June 2005, LNCS, vol 3530, pp. 32–46. Springer, Heidelberg (2005)

  25. Richters, M., Gogolla, M.: On formalizing the UML object constraint language OCL. In: Ling, T.W., Ram, S., Lee, M.L.(eds) Proceedings of 17th International Conference in Conceptual Modeling (ER’98), LNCS 1507., pp. 449–464. Springer, Berlin (1998)

    Google Scholar 

  26. Richters, M., Gogolla, M.: A metamodel for OCL. In: France, R., Rumpe, B. (eds.) UML’99—The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, 28–30 October 1999, Proceedings, LNCS, vol. 1723, pp. 156–171. Springer, Heidelberg (1999)

  27. Cengarle, M.V., Knapp, A.: A formal semantics for OCL 1.4.. In: Gogolla, M., Kobryn, C.(eds) UML, Lecture Notes in Computer Science, vol. 2185., pp. 118–133. Springer, Heidelberg (2001)

    Google Scholar 

  28. Stephan, F., Wolfgang, M.: Formal semantics of static and temporal state-oriented OCL-constraints. J. Softw. Syst. Model. (SoSym) 2(3), 164–186 (2003)

    Article  Google Scholar 

  29. Hennicker, R., Knapp, A., Baumeister, H.: Semantics of OCL operation specifications. Electronic Notes in Theoretical Computer Science. Proceedings of OCL 2.0 Workshop at UML’03 102, 111–132 (2004)

  30. Baar, T.: Über die Semantikbeschreibung OCL-artiger Sprachen. PhD thesis, Fakultät fÜr Informatik, Universität Karlsruhe (in German). ISBN 3-8325-0433-8, Logos, Verlag, Berlin (2003)

  31. Cengarle, M.V., Knapp, A.: OCL 1.4/5 vs. 2.0 expressions formal semantics and expressiveness. Softw. Syst. Model. 3(1), 9–30 (2004)

    Article  Google Scholar 

  32. Cook, S., Kleppe, A., Mitchell, R., Rumpe, B., Warmer, J., Wills, A.C.: The amsterdam manifesto on OCL. In: Clark, T., Warmer, J.(eds) Object Modeling with the OCL: The Rationale behind the Object Constraint Language., pp. 115–149. Springer, Heidelberg (2002)

    Google Scholar 

  33. Flake, S.: Ocltype—a type or metatype?. Electr. Notes Theor. Comput. Sci. 102, 63–75 (2004)

    Article  Google Scholar 

  34. Akehurst, D.H., Howells, G., McDonald-Maier, K.D.: Supporting OCL as part of a family of languages. In: Baar, T. (ed.), Proceedings of the MoDELS’05 Conference Workshop on Tool Support for OCL and Related Formalisms—Needs and Trends, Montego Bay, Jamaica, 4 October 2005, Technical Report LGL-REPORT-2005–001, pp. 30–37. EPFL (2005)

  35. Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of “Semantics”?. IEEE Comput. Softw. 37(10), 64–72 (2004)

    Google Scholar 

  36. Chiaradía, J.M., Pons, C.: Improving the OCL semantics definition by applying dynamic meta modeling and design patterns. In: Demuth, B., Chiorean, D., Gogolla, M., Warmer, J. (eds.) OCL for (Meta-)Models in Multiple Application Domains, pp. 229–239. University Dresden, Dresden (Available as Technical Report, University Dresden, number TUD-FI06-04-September) (2006)

  37. Bottoni, P., Koch, M., Parisi-Presicce, F., Taentzer, G.: Consistency checking and visualization of OCL constraints. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000—The Unified Modeling Language, Advancing the Standard, Third International Conference, York, UK, 2–6 October 2000, Proceedings, LNCS, vol. 1939, pp. 294–308. Springer, Heidelberg (2000)

  38. Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000—The Unified Modeling Language, Advancing the Standard, Third International Conference, York, UK, 2–6 October 2000, Proceedings, LNCS, vol. 1939, pp. 323–337. Springer, Heidelberg (2000)

  39. Varró, D.: A formal semantics of UML Statecharts by model transition systems. In: Corradini, A., Ehrig, H., Kreowski, H., Rozenberg, G. (eds.) Proceedings of ICGT 2002: 1st International Conference on Graph Transformation, LNCS, vol. 2505, pp. 378–392. Springer, Heidelberg (2002)

  40. Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine—Definition, Verification, Validation. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  41. Chiorean, D., Bortes, M., Corutiu, D.: Proposals for a widespread use of OCL. In: Baar, T. (ed.). Tool Support for OCL and Related Formalisms—Needs and Trends, MoDELS’05 Conference Workshop, Montego Bay, Jamaica, October 4, 2005, Proceedings, Technical Report LGL-REPORT-2005-001, pp. 68–82. EPFL (2005)

  42. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Towards using OCL for instance-level queries in domain specific languages. In: Demuth, B., Chiorean, D., Gogolla, M., Warmer, J. (eds.) OCL for (Meta-) Models in Multiple Application Domains, pp. 26–37. University Dresden. Dresden (available as Technical Report, University Dresden, number TUD-FI06-04-September) (2006)

  43. Baar, T., Marković, S.: A graphical approach to prove the semantic preservation of UML/OCL refactoring rules. In: Virbitskaite, I., Voronkov, A. (eds.) Proceedings, Sixth International Andrei Ershov Memorial Conference on Perspectives of System Informatics (PSI 2006), Akademgorodok near Novosibirsk, Russia, LNCS, vol. 4378, pp. 70–83. Springer, Heidelberg (2007)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Slaviša Marković.

Additional information

Communicated by Prof. Oscar Nierstrasz.

This work was supported by Swiss National Scientific Research Fund under reference number 200020-109492/1.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Marković, S., Baar, T. Semantics of OCL specified with QVT. Softw Syst Model 7, 399–422 (2008). https://doi.org/10.1007/s10270-008-0083-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0083-2

Keywords

Navigation