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.
Similar content being viewed by others
References
OMG. UML 2.0 Infrastructure Specification. OMG Document ptc/03-09-15, September 2003
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)
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)
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)
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)
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)
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)
Oslo, T.: Oslo project (2007). http://oslo-project.berlios.de/
MDT-OCL Team: Eclipse MDT—OCL project (2007). http://www.eclipse.org/modeling/mdt/?project=ocl
Dresden OCL Team: Dresden OCL Toolkit (2007). http://dresden-ocl.sourceforge.net/
OCTOPUS Team: OCTOPUS—OCl TOol for Precise Uml Specifications (2007). http://octopus.sourceforge.net/
USE Team: USE—a UML-based Specification Environment (2007). http://www.db.informatik.uni-bremen.de/projects/USE/
OCLE Team: OCLE–Object Constraint Language Environment (2007). http://lci.cs.ubbcluj.ro/ocle/index.htm
OMG: Object Constraint Language—OMG Available Specification, version 2.0. OMG Document formal/06-05-01, May (2006)
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)
OMG: Meta object facility (MOF) 2.0 Query/View/Transformation Specification. OMG Document ptc/05-11-01, November (2005)
RoclET Team. RoclET project (2007). http://www.roclet.org/
Borland. Together technologies (2007). http://www.borland.com/together/
Brucker, A.D., Wolff, B.: The HOL-OCL book. Technical Report 525, ETH Zurich (2006)
Brucker, A.D.: An Interactive Proof Environment for Object-oriented Specifications. PhD thesis, ETH Zurich (2007). ETH Dissertation No. 17097
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)
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)
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)
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)
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)
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)
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)
Stephan, F., Wolfgang, M.: Formal semantics of static and temporal state-oriented OCL-constraints. J. Softw. Syst. Model. (SoSym) 2(3), 164–186 (2003)
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)
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)
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)
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)
Flake, S.: Ocltype—a type or metatype?. Electr. Notes Theor. Comput. Sci. 102, 63–75 (2004)
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)
Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of “Semantics”?. IEEE Comput. Softw. 37(10), 64–72 (2004)
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)
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)
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)
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)
Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine—Definition, Verification, Validation. Springer, Heidelberg (2001)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-008-0083-2