skip to main content
10.1145/3550356.3561537acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Challenges for code generated OCL execution

Published:09 November 2022Publication History

ABSTRACT

While OCL is primarily a specification language supporting the elaboration of often-graphical metamodels with textual constraints, it is also executable enabling the constraints to be used to validate models. The superficial textual similarity of OCL and Java has tempted some authors to attempt a textual transliteration to facilitate a faster Java execution. Unfortunately there are many aspects of OCL semantics that deviate from Java and so transliteration is close to impossible. We identify the semantic differences so that new transliteration attempts can review the almost inevitable limitations of an OCL-like transliteration when choosing to implement a Java-Friendly OCL rather than a full OCL code generator.

References

  1. Nisha Desai, Martin Gogolla, and Hilken Frank. 2017. Executing Models by Filmstripping: Enhancing Validation by Filmstrip Templates and Transformation Alternatives. In Workshop Executable Modeling, EXE 2017.Google ScholarGoogle Scholar
  2. Eclipse EMF Project. [n. d.]. https://projects.eclipse.org/projects/modeling.emf.emf.Google ScholarGoogle Scholar
  3. Eclipse OCL Project. [n. d.]. https://projects.eclipse.org/projects/modeling.mdt.ocl.Google ScholarGoogle Scholar
  4. Marina Egea, Carolina Dania, and Manuel Clavel. 2010. MySQL4OCL: A Stored Procedure-Based MySQL Code Generator for OCL. In OCL 2010: Workshop on OCL and Textual Modelling. Models 2010, Oslo.Google ScholarGoogle Scholar
  5. Florian Heidenreich, Christian Wende, and Birgit Demuth. 2007. A Framework for Generating Query Language Code from OCL Invariants. In Ocl4All: Modelling Systems with OCL. Models 2007, Nashville.Google ScholarGoogle Scholar
  6. Kevin Lano. 2021. In OCL 2021: Workshop on OCL and Textual Modeling. https://oclworkshop.github.io/2021/papers/ocl2021_paper_3.pdfGoogle ScholarGoogle Scholar
  7. Rodion Moiseev, Shinpei Hayashi, and Motoshi Saeki. 2009. Generating Assertion Code from OCL: A Transformational Approach Based on Similarities of Implementation Languages. In Proceedings of the ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems (MODELS 2009). 650--664.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Object Management Group 2005. Unified Modeling Language, Infrastructure (version 2.03, OMG Document Number: formal/2005-07-05 ed.). Object Management Group. http://www.omg.org/spec/UML/2.0/Google ScholarGoogle Scholar
  9. Object Management Group. 2014. Object Constraint Language, Version 2.4. https://www.omg.org/spec/OCL/2.4/PDF.Google ScholarGoogle Scholar
  10. Object Management Group 2017. Unified Modeling Language, Infrastructure (version 2.5.1, OMG Document Number: formal/17-12-05 ed.). Object Management Group. http://www.omg.org/spec/UML/2.5.1/Google ScholarGoogle Scholar
  11. Ayatullah Jibran Shidqie. 2007. Compilation of OCL into Java for the Eclipse OCL Implementation.Google ScholarGoogle Scholar
  12. USE, The UML-based Specification Environment. [n. d.]. http://useocl.sourceforge.net/w/index.php/Main_Page.Google ScholarGoogle Scholar
  13. Claas Wilke. 2010. Java Code Generation for Dresden OCL2 for Eclipse (technische universitat dresden ed.). http://dresden-ocl.sourceforge.net/downloads/pdfs/gb_claas_wilke.pdfGoogle ScholarGoogle Scholar
  14. Edward D. Willink. 2012. An extensible OCL virtual machine and code generator. In OCL 2012: Workshop on OCL and Textual Modeling. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Edward D. Willink. 2015. Safe Navigation in OCL. In OCL 2016: Workshop on OCL and Textual Modeling. Ottawa. http://www.eclipse.org/modeling/mdt/ocl/docs/publications/OCL2015SafeNavigation/SafeNavigation.pdf.Google ScholarGoogle Scholar
  16. Edward D. Willink. 2020. Reflections on OCL 2. The Journal of Object Technology 19 (01 2020), 3:1. Google ScholarGoogle ScholarCross RefCross Ref
  17. Edward D. Willink. 2021. A Validity Analysis to Reify 2-valued Boolean Constraints. In OCL 2021: Workshop on OCL and Textual Modeling. http://ceur-ws.org/Vol-2999/oclpaper1.pdfGoogle ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings
    October 2022
    1003 pages
    ISBN:9781450394673
    DOI:10.1145/3550356
    • Conference Chairs:
    • Thomas Kühn,
    • Vasco Sousa

    Copyright © 2022 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 9 November 2022

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate118of382submissions,31%
  • Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)1

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader