Extending Variability for OCL Interpretation

  • Claas Wilke
  • Michael Thiele
  • Christian Wende
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6394)


In recent years, OCL advanced from a language used to constrain UML models to a constraint language that is applied to various modelling languages. This includes Domain Specific Languages (DSLs) and meta-modelling languages like MOF or Ecore. Consequently, it is rather common to provide variability for OCL parsers to work with different modelling languages. A second variability dimension relates to the technical space that models are realised in. Current OCL interpreters do not support such variability as their implementation is typically bound to a specific technical space like Java, Ecore, or a specific model repository. In this paper we propose a generic adaptation architecture for OCL that hides models and model instances behind well-defined interfaces. We present how the implementation of such an architecture for DresdenOCL enables reuse of the same OCL interpreter for various technical spaces and evaluate our approach in three case studies.


OCL OCL Infrastructure OCL Tool MDSD Modelling Constraint Interpretation Technological Spaces Variability Adaptation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    OMG: Object Constraint Language, Version 2.2. Object Management Group (OMG), Needham (February 2010)Google Scholar
  2. 2.
    OMG: Unified Modeling LanguageTM, OMG Available Specification, Version 2.2. Object Management Group (OMG), Needham (February 2009)Google Scholar
  3. 3.
    Warmer, J., Kleppe, A.: The Object Constraint Language - Getting Your Models Ready for MDA, 2nd edn. Pearson Education Inc., Boston (2003)Google Scholar
  4. 4.
    Akehurst, D., Howells, W., McDonald-Maier, K.: UML/OCL - Detaching the Standard LibraryGoogle Scholar
  5. 5.
    Loecher, S., Ocke, S.: A Metamodel-based OCL-compiler for UML and MOF. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863. Springer, Heidelberg (2003)Google Scholar
  6. 6.
    Eclipse Model Development Tools,
  7. 7.
    Amelunxen, C., Königs, A., Rötschke, T., Schürr, A.: Metamodeling with MOFLON. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088, pp. 573–574. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Demuth, B., Wilke, C.: Model and Object Verification by Using Dresden OCL. In: Proceedings of the Russian-German Workshop Innovation Information Technologies: Theory and Practice, July 25-31. Ufa State Aviation Technical University, Ufa (2009)Google Scholar
  9. 9.
    Arnold, D.: C# Compiler Extension to Support the Object Constraint Language Version 2.0. Master Thesis, Carleton University, Ottawa, Ontario (2004)Google Scholar
  10. 10.
    Heidenreich, F., Wende, C., Demuth, B.: A Framework for Generating Query Language Code from OCL Invariants. In: Akehurst, D.H., Gogolla, M., Zschaler, S. (eds.) Ocl4All - Modelling Systems with OCL. ECEASST, vol. 9. Technische Universität, Berlin (2008)Google Scholar
  11. 11.
    Sakr, S., Gaafar, A.: Towards Complete Mapping between XML/XQuery and UML/OCL. In: Proceedings of the IADIS e-society 2004 conference (ES 2004), Avila, Spain. (2004)Google Scholar
  12. 12.
    Bräuer, M., Demuth, B.: Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support. In: Akehurst, D.H., Gogolla, M., Zschaler, S. (eds.) Ocl4All - Modelling Systems with OCL. ECEASST, vol. 9. Technische Universität, Berlin (2008)Google Scholar
  13. 13.
    Akehurst, D., Patrascoiu, O.: Ocl 2.0 - Implementing the Standard for Multiple Metamodels. In: OCL2.0 - Industry standard or scientific playground? - Proceedings of the UML 2003 Workshop, pp. 19–25 (2003) (Citeseer)Google Scholar
  14. 14.
  15. 15.
    OMG: Meta-Object Facility (MOF) Core Specification, Version 2.0. Object Management Group (OMG) (January 2006)Google Scholar
  16. 16.
    Kurtev, I., Bézivin, J., Aksit, M.: Technological spaces: An initial appraisal. In: CoopIS, DOA (2002)Google Scholar
  17. 17.
    Bézivin, J., Kurtev, I.: Model-based technology integration with the technical space concept. In: Metainformatics Symposium (2005) (Citeseer)Google Scholar
  18. 18.
    Eclipse Modeling Framework (EMF) Project,
  19. 19.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-0211990, Software Engineering Institute (1990)Google Scholar
  20. 20.
    Kolovos, D., Paige, R., Polack, F.: Detecting and Repairing Inconsistencies across Heterogeneous Models. In: Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation, pp. 356–364. IEEE Computer Society, Los Alamitos (2008)CrossRefGoogle Scholar
  21. 21.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  22. 22.
    ISO: Payments Standards - Initiation - UNIFI (ISO 20022) Message Definition Report. International Organization for Standardization (ISO), Geneva (October 2006)Google Scholar
  23. 23.
    EPC: SEPA Business-To-Business Direct Debit Scheme Customer-To-Bank Implementation Guidelines, Version 1.3. Number EPC131-08. European Payments Council (EPC), Brussels (October 2009)Google Scholar
  24. 24.
    Euro Banking Association (EBA),
  25. 25.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software, 2nd edn. Addison-Wesley Professional, Indianapolis (1995)Google Scholar
  26. 26.
    Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based Specification Environment for Validating UML and OCL. Science of Computer Programming 69(1-3), 27–34 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Occello, A., Dery-Pinna, A.M., Riveill, M.: Validation and Verification of an UML/OCL Model with USE and B: Case Study and Lessons Learnt. In: Proceedings of the Software Testing Verification and Validation Workshop, ICSTW 2008. IEEE International Conference on Software Testing, Verification, and Validation (ICST), Lillehammer, Norway, pp. 113–120. IEEE Digital Library (April 2008)Google Scholar
  28. 28.
    OCLE2.0 - Object Constraint Language Environment,
  29. 29.
    MIP OCL Parser (MIP MDA Tools),
  30. 30.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Towards Using OCL for Instance-Level Queries in Domain Specific Languages. ECEASST, vol. 5. Technische Universität, Berlin (2006)Google Scholar
  31. 31.
    Damus, C.W.: MDT OCL Goes Generic - Introduction to OCL and Study of the Generic Metamodel and API. In: EclipseCon 2008, Slides of the presentation (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Claas Wilke
    • 1
  • Michael Thiele
    • 1
  • Christian Wende
    • 1
  1. 1.Department of Computer Science, Institute for Software and Multimedia Technology, Software Technology GroupTechnische Universität Dresden 

Personalised recommendations