Skip to main content

Integrating OCL and Textual Modelling Languages

  • Conference paper
Book cover Models in Software Engineering (MODELS 2010)

Abstract

In the past years, many OCL tools achieved a transition of OCL from a language meant to constrain UML models to a universal constraint language applied to various modelling and metamodelling languages. However, OCL users still experience a discrepancy between the now highly extensible parsing and evaluation backend of OCL tools and the lack of appropriate frontend tooling like advanced OCL editors that adapt to the different application scenarios.

We argue that this has to be addressed both at a technical and methodological level. Therefore, this paper provides an overview of the technical foundations to provide an integrated OCL tooling frontend and backend for arbitrary textual modelling languages and contributes a stepwise process for such an integration. We distinguish two kinds of integration: external definition of OCL constraints and embedded definition of OCL constraints. Due to the textual notation of OCL the second kind provides particularly deep integration with textual modelling languages. We apply our approach in two case studies and discuss the benefits and limitations of the approach in general and both integration kinds in particular.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Object Management Group Object Constraint Language. Version 2.2 (February 2010)

    Google Scholar 

  2. Object Management Group Unified Modeling Language: Superstructure Version 2.2. Final Adopted Specification formal/2009-02-02 (February 2009)

    Google Scholar 

  3. Dang, D.H., Gogolla, M.: On Integrating OCL and Triple Graph Grammars. In: Chaudron, M.R.V. (ed.) MODELS 2008. LNCS, vol. 5421, pp. 124–137. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Debnath, N., Funes, A., Dasso, A., Montejano, G., Riesco, D., Uzal, R.: Integrating OCL Expressions into RSL Specifications. In: IEEE Int’l Conf. on Electro/Information Technology (EIT 2007), May 2007, pp. 182–186 (2007)

    Google Scholar 

  5. Stölzel, M., Zschaler, S., Geiger, L.: Integrating OCL and Model Transformations in Fujaba. ECEASST 5 (2006)

    Google Scholar 

  6. Demuth, B., Hußmann, H., Loecher, S.: OCL as a Specification Language for Business Rules in Database Applications. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 104–117. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Akehurst, D., Patrascoiu, O.: OCL 2.0 - Implementing the Standard for Multiple Metamodels. Electron. Notes Theor. Comput. Sci. 102, 21–41 (2004)

    Article  Google Scholar 

  8. Bräuer, M., Demuth, B.: Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support. In: Ocl4All: Modelling Systems with OCL Workshop at MoDELS 2007, Berlin, Germany, Technische Universität Berlin (October 2007)

    Google Scholar 

  9. Loecher, S., Ocke, S.: A Metamodel-based OCL-compiler for UML and MOF. Electron. Notes Theor. Comput. Sci. 102, 43–61 (2004)

    Article  Google Scholar 

  10. Eclipse Model Development Tools, http://www.eclipse.org/modeling/mdt/

  11. Object Management Group Meta-Object Facility (MOF) Core Specification. Version 2.0 (January 2006)

    Google Scholar 

  12. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework, 2nd edn. Pearson Education, London (2008)

    Google Scholar 

  13. Wilke, C., Thiele, M., Wende, C.: Extending Variability for OCL Interpretation. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 361–375. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  14. Kolovos, D., Paige, R., Polack, F.: Detecting and Repairing Inconsistencies across Heterogeneous Models. In: 2008 Int’l Conf. on Software Testing, Verification, and Validation, pp. 356–364. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  15. Chimiak-Opoka, J., Demuth, B., Silingas, D., Rouquette, N.: Requirements Analysis for an Integrated OCL Development Environment. In: OCL 2009 Workshop - The Pragmatics Of OCL And Other Textual Specification Languages (2009)

    Google Scholar 

  16. Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and Refinement of Textual Syntax for Models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  17. TU Dresden: Software Technology Group DresdenOCL (2010), http://dresden-ocl.sourceforge.net/

  18. Odersky, M., Spoon, L., Venners, B.: Programming in Scala, 1st edn. Artima Press, Mountain View (2008)

    Google Scholar 

  19. Kiama - A Scala library for language processing (2010), http://code.google.com/p/kiama/

  20. Wilke, C., Thiele, M.: DresdenOCL - Manual for Installation, Use and Development. Technische Universität Dresden, Dresden, Germany (2011)

    Google Scholar 

  21. Knuth, D.: Semantics of context-free languages. Theory of Computing Systems 2(2), 127–145 (1968)

    MathSciNet  MATH  Google Scholar 

  22. 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, Ufa, Russia, July 25-31. Ufa State Aviation Technical University, Ufa (2009)

    Google Scholar 

  23. Wilke, C.: Java Code Generation for Dresden OCL2 for Eclipse. Großer Beleg (minor thesis), Technische Universität Dresden, Dresden, Germany (February 2009)

    Google Scholar 

  24. AtlanMod Metamodel Zoo, http://www.emn.fr/z-info/atlanmod/index.php/Zoos

  25. Bracha, G., Lindstrom, G.: Modularity Meets Inheritance. In: Int’l Conf. on Computer Languages, IEEE Computer Society, pp. 282–290. IEEE Computer Society, Los Alamitos (1992)

    Google Scholar 

  26. Taivalsaari, A.: On the Notion of Inheritance. ACM Computing Surveys 28(3), 438–479 (1996)

    Article  Google Scholar 

  27. Wende, C., Thieme, N., Zschaler, S.: A Role-based Approach Towards Modular Language Engineering. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 254–273. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  28. Karol, S., Zschaler, S.: Providing Mainstream Parser Generators with Modular Language Definition Support. Technical Report TUD-FI10-01 - Januar 2010, Technische Universität Dresden (January 2010)

    Google Scholar 

  29. Clark, C.: Newlines and Lexer States. SIGPLAN Notices 35(4), 18–24 (2000)

    Article  Google Scholar 

  30. Aksit, M., Mostert, R., Haverkort, B.: Compiler Generation Based on Grammar Inheritance. Technical report, University of Twente (July 1990)

    Google Scholar 

  31. The Java Compiler Compiler, https://javacc.dev.java.net/

  32. Ford, B.: Parsing Expression Grammars: A Recognition-Based Syntactic Foundation. In: 31st Symposium on Principles of Programming Languages (POPL 2004), pp. 111–122. ACM, New York (2004)

    Google Scholar 

  33. Grimm, R.: Better Extensibility through Modular Syntax. In: 2006 Conf. on Programming Language Design and Implementation (PLDI 2006), pp. 38–51. ACM, New York (2006)

    Google Scholar 

  34. Bosch, J.: Delegating Compiler Objects: Modularity and Reusability in Language Engineering. Nordic J. of Computing 4(1), 66–92 (1997)

    MATH  Google Scholar 

  35. Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The Syntax Definition Formalism SDF – Reference Manual. SIGPLAN Notices 24(11), 43–75 (1989)

    Article  Google Scholar 

  36. Wyk, E.R.V., Schwerdfeger, A.C.: Context-Aware Scanning For Parsing Extensible Languages. In: 6th Int’l Conf. on Generative Programming and Component Engineering (GPCE 2007), pp. 63–72. ACM, New York (2007)

    Google Scholar 

  37. Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  38. Berkenkötter, K.: OCL-based Validation of a Railway Domain Profile. In: Auletta, V. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 159–168. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  39. Scheidgen, M.: Textual Modelling Embedded into Graphical Modelling. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 153–168. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  40. Kolovos, D.S., Paige, R.F., Polack, F.: Aligning OCL with Domain-Specific Languages to Support Instance-Level Model Queries. ECEASST 5 (2006)

    Google Scholar 

  41. Kent, S.: Constraint Diagrams: Visualizing Assertions in Object-Oriented Models. In: OOPSLA, pp. 327–341 (1997)

    Google Scholar 

  42. Bottoni, P., Koch, M., Parisi-Presicce, F., Taentzer, G.: A Visualization of OCL Using Collaborations. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 257–271. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  43. Kolovos, D.S., Rose, L., Page, R.F.: The Epsilon Book, http://www.eclipse.org/gmt/epsilon/doc/book/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heidenreich, F. et al. (2011). Integrating OCL and Textual Modelling Languages. In: Dingel, J., Solberg, A. (eds) Models in Software Engineering. MODELS 2010. Lecture Notes in Computer Science, vol 6627. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21210-9_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21210-9_34

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21209-3

  • Online ISBN: 978-3-642-21210-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics