Advertisement

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

  • Matthias Bräuer
  • Birgit Demuth
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5002)

Abstract

OCL 2.0 specifies a standard library of predefined types and associated operations. A model-level representation of the library is required to reference its elements within the abstract syntax model created by an OCL parser. Existing OCL engines build this model in the implementation code which severely limits reusability, flexibility and maintainability. To address these problems, we show how a common pivot model with explicit support for template types can help to externalize the definition of the standard library and integrate it with instances of arbitrary domain-specific modeling languages. We exemplify the feasibility of our approach with a prototypical implementation for the Dresden OCL2 Toolkit and present a tailored EMF editor for modeling the OCL types and operations. We limit our discussion to the model level, i.e., we do not consider an implementation of the standard library for an execution engine.

Keywords

Modeling Language Type Parameter Object Constraint Language Object Management Group Eclipse Modeling Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Object Management Group (OMG): Object Constraint Language, Version 2.0 (2006)Google Scholar
  2. 2.
    Object Management Group (OMG): Meta Object Facility (MOF) Core Specification, Version 2.0 (2006)Google Scholar
  3. 3.
    Technische Universität Dresden, Department of Computer Science: (Dresden OCL Toolkit), http://dresden-ocl.sourceforge.net
  4. 4.
    University of Kent at Canterbury, Department of Computing: (Kent Object Constraint Language Library), http://www.cs.kent.ac.uk/projects/ocl
  5. 5.
    Kappel, G., Kapsammer, E., Kargl, H., Kramler, G., Reiter, T., Retschitzegger, W., Schwinger, W., Wimmer, M.: On Models and Ontologies - A Layered Approach for Model-based Tool Integration. In: Mayr, H.C., Breu, R. (eds.) Proceedings of Modellierung 2006, GI-Edition, Innsbruck, Austria, March 22-24, 2006. Lecture Notes in Informatics (2006)Google Scholar
  6. 6.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework, 1st edn. Eclipse Series. Addison Wesley Longman, Amsterdam (2003)Google Scholar
  7. 7.
    Object Management Group (OMG): Unified Modeling Language: Superstructure Specification, Version 2.0 (2005)Google Scholar
  8. 8.
    Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages? White Paper (2005), http://www.martinfowler.com/articles/languageWorkbench.html
  9. 9.
    Object Management Group (OMG): MDA Guide Version 1.0.1 (2003), http://www.omg.org/docs/omg/03-06-01.pdf
  10. 10.
    Bézivin, J., Jouault, F., Kurtev, I., Valduriez, P.: Model-Based DSL Frameworks. In: Companion to the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, Portland, Oregon, USA, pp. 602–616. ACM Press, New York (2006)Google Scholar
  11. 11.
    Warmer, J., Kleppe, A.: The Object Constraint Language, Getting Your Models Ready for MDA, 2nd edn. Object Technology Series. Addison-Wesley Longman, Amsterdam (2003)Google Scholar
  12. 12.
    Akehurst, D., Howells, W., McDonald-Maier, K.: UML/OCL – Detaching the Standard Library. In: Proceedings OCLApps 2006: OCL for (Meta-) Models in Multiple Application Domains, MoDELS/UML 2006, Genova, Italy, pp. 205–212 (2006)Google Scholar
  13. 13.
    Loecher, S., Ocke, S.: A Metamodel-Based OCL-Compiler for UML and MOF. Electronic Notes in Theoretical Computer Science, 43–61 (2004)Google Scholar
  14. 14.
    Akehurst, D., Patrascoiu, O.: OCL 2.0 – Implementing the Standard for Multiple Metamodels. Electronic Notes in Theoretical Computer Science, 21–41 (2004)Google Scholar
  15. 15.
    Bracha, G.: Generics in the Java Programming Language. Technical report, Sun Microsystems (2004), http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
  16. 16.
    Bräuer, M.: Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment. Technical report, Technische Universität Dresden (2007)Google Scholar
  17. 17.
    Netbeans.org: Metadata Repository (MDR) (2003)Google Scholar
  18. 18.
    Merks, E., Paternostro, M.: Modeling Generics With Ecore. In: EclipseCon 2007, Santa Clara, California, USA, IBM Corp. (2007) (Tutorial Slides), http://www.eclipsecon.org/2007/index.php?page=sub/&id=3845
  19. 19.
    Kolovos, D.S., Paige, R.F., Polack, F.A.: Towards Using OCL for Instance-Level Queries in Domain Specific Languages. In: Proceedings OCLApps 2006: OCL for (Meta-) Models in Multiple Application Domains, MoDELS/UML 2006, Genova, Italy, pp. 26–37 (2006)Google Scholar
  20. 20.
    Eclipse.org: (Model Development Tools (MDT) OCL component), http://www.eclipse.org/modeling/mdt/?project=ocl
  21. 21.
    Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT) Specification (2005)Google Scholar
  22. 22.
    Object Management Group (OMG): Production Rule Representation Request For Proposal Draft 1.0 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Matthias Bräuer
    • 1
  • Birgit Demuth
    • 1
  1. 1.Software Technology GroupDresden University of TechnologyDresdenGermany

Personalised recommendations