Abstract
The Collection iterations and operations are perhaps the most important part of OCL. It is therefore important for an OCL evaluation tool to provide efficient support for Collections. Unfortunately, some clauses of the OCL specification appear to inhibit efficient or deterministic support. We review the inhibitions and demonstrate a new deterministic and lazy implementation that avoids them.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The Eclipse OCL class name is currently LazyCollectionValueImpl.
- 2.
Unifying the four concrete eager Collection types by a single lazy replacement is an API breakage that requires Eclipse OCL to make a major version number change. The code for lazy evaluations is therefore only available on the ewillink/509670 branch in the Eclipse OCL GIT repository.
References
Gogolla, M., Hilken, F.: Making OCL collection operations more deterministic with restricting equations. In: 16th International Workshop in OCL and Textual Modeling, Saint-Malo, France, 2 October 2016. http://www.db.informatik.uni-bremen.de/publications/intern/ocl2016-talk-lightning-mg-fh.pdf
Tisi, M., Douence, R., Wagelaar, D.: Lazy evaluation for OCL. In: 15th International Workshop on OCL and Textual Modeling, Ottawa, Canada, 8 September 2015. https://ocl2015.lri.fr/OCL_2015_paper_1111_1115.pdf
Willink, E.: An extensible OCL virtual machine and code generator. In: 2012 Workshop on OCL and Textual Modelling (OCL 2012), Innsbruck, Austria, 30 September 2012. http://st.inf.tu-dresden.de/OCL2012/preproceedings/14.pdf
Willink, E: Local optimizations in eclipse QVTc and QVTr using the micro-mapping model of computation. In: 2nd International Workshop on Executable Modeling, Exe 2016, Saint-Malo, October 2016. http://eclipse.org/mmt/qvt/docs/EXE2016/MicroMappings.pdf
Willink, E.: Safe navigation in OCL. In: 15th International Workshop on OCL and Textual Modeling, Ottawa, Canada, 8 September 2015. https://ocl2015.lri.fr/OCL_2015_paper_1111_1400.pdf
Dresden OCL Project. http://www.dresden-ocl.org/index.php/DresdenOCL
Eclipse OCL Project. https://projects.eclipse.org/projects/modeling.mdt.ocl
Eclipse QVT Declarative Project. https://projects.eclipse.org/projects/modeling.mmt.qvtd
OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.3. OMG Document Number: ptc/16-06-03, June 2016
OMG: Unified Modeling Language (OMG UML), Version 2.5., OMG Document Number: formal/15-03-01, Object Management Group (2015). http://www.omg.org/spec/UML/2.5
Object Constraint Language. Version 2.4., OMG Document Number: formal/2014-02-03, Object Management Group (2009). http://www.omg.org/spec/OCL/2.4
USE: The UML-based Specification Environment. http://useocl.sourceforge.net/w/index.php/Main_Page
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Willink, E.D. (2018). Deterministic Lazy Mutable OCL Collections. In: Seidl, M., Zschaler, S. (eds) Software Technologies: Applications and Foundations. STAF 2017. Lecture Notes in Computer Science(), vol 10748. Springer, Cham. https://doi.org/10.1007/978-3-319-74730-9_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-74730-9_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-74729-3
Online ISBN: 978-3-319-74730-9
eBook Packages: Computer ScienceComputer Science (R0)