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.
- 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 Scholar
- Eclipse EMF Project. [n. d.]. https://projects.eclipse.org/projects/modeling.emf.emf.Google Scholar
- Eclipse OCL Project. [n. d.]. https://projects.eclipse.org/projects/modeling.mdt.ocl.Google Scholar
- 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 Scholar
- 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 Scholar
- Kevin Lano. 2021. In OCL 2021: Workshop on OCL and Textual Modeling. https://oclworkshop.github.io/2021/papers/ocl2021_paper_3.pdfGoogle Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Object Management Group. 2014. Object Constraint Language, Version 2.4. https://www.omg.org/spec/OCL/2.4/PDF.Google Scholar
- 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 Scholar
- Ayatullah Jibran Shidqie. 2007. Compilation of OCL into Java for the Eclipse OCL Implementation.Google Scholar
- USE, The UML-based Specification Environment. [n. d.]. http://useocl.sourceforge.net/w/index.php/Main_Page.Google Scholar
- 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 Scholar
- Edward D. Willink. 2012. An extensible OCL virtual machine and code generator. In OCL 2012: Workshop on OCL and Textual Modeling. Google ScholarDigital Library
- 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 Scholar
- Edward D. Willink. 2020. Reflections on OCL 2. The Journal of Object Technology 19 (01 2020), 3:1. Google ScholarCross Ref
- 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 Scholar
Recommendations
Behavior Modeling with Interaction Diagrams in a UML and OCL Tool
BM-FA '14: Proceedings of the 2014 Workshop on Behaviour Modelling-Foundations and ApplicationsThis contribution discusses system modeling with UML behavior diagrams. We consider statecharts and both kinds of interaction diagrams, i.e., sequence and communication diagrams. We present new implementation features in a UML and OCL modeling tool: (1) ...
Translating between Alloy specifications and UML class diagrams annotated with OCL
Model-driven engineering (MDE) is a software engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming the models from abstract (specifications) to more ...
Translating alloy specifications to UML class diagrams annotated with OCL
SEFM'11: Proceedings of the 9th international conference on Software engineering and formal methodsModel-Driven Engineering (MDE) is a Software Engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming models from abstract (specifications) to more ...
Comments