ABSTRACT
The OCL 2.4 standard library has a relatively small set of operations for primitive types, and no facilities for common software aspects such as processes and files. In this paper we identify requirements for extended library facilities, based on examination of related specification languages, and on consideration of the need to represent program semantics for software migration. We outline possible libraries and provide example implementations.
- Acceleo project. 2022. https://www.eclipse.org/acceleo, accessed 1.5.2022.Google Scholar
- M. Agarwal, K. Talamadupula, F. Martinez, S. Houde, M. Muller, J. Richards, S. Ross, and J. Weisz. 2021. Using document similarity methods to create parallel datasets for code translation. asXiv:2110.05423v1 (2021).Google Scholar
- F. Buttner and M. Gogolla. 2014. On OCL-based imperative languages. Science of Computer Programming 92 (2014), 162--178.Google ScholarCross Ref
- X. Chen, C. Liu, and D. Song. 2018. Tree-to-tree Neural Networks for Program Translation. In 32nd Conference on Neural Information Processing Systems (NIPS 2018).Google ScholarCross Ref
- Eclipse. 2019. ATL user guide. eclipse.org (2019).Google Scholar
- Epsilon. 2022. The Epsilon Object Language, https://www.eclipse.org/epsilon/doc/eol.Google Scholar
- E. Gamma et al. 1995. Design Patterns. Addison-Wesley.Google Scholar
- Facebook Research. 2021. TransCoder, github.com/ facebookre-search/TransCoder.Google Scholar
- K. Jin and K. Lano. 2021. Mutation Operators for OCL Specification. In OCL '21, MODELS 2021 Workshops. 128--134.Google Scholar
- B. Kernighan and D. Ritchie. 1988. The C Programming Language (2nd ed.). Prentice Hall.Google Scholar
- K. Lano. 2021. Adding regular expression operators to OCL. In OCL 2021.Google Scholar
- K. Lano. 2022. Program translation using Model-driven engineering. In ICSE 2022 Companion Proceedings.Google Scholar
- OMG. 2014. Object Constraint Language (OCL) 2.4 Specification.Google Scholar
- Eclipse Organisation. 2022. https://download.eclipse.org/ocl/doc/6.4.0/ocl.pdf Eclipse OCL Version 6.4.0, https://projects.eclipse.org/projects/modeling.mdt.ocl.Google Scholar
- Eclipse QVTo project. 2022. Imperative OCL, wiki.eclipse.org/QVTo.Google Scholar
Recommendations
Specification of temporal properties with OCL
The Object Constraint Language (OCL) is widely used to express static constraints on models and object-oriented systems. However, the notion of dynamic constraints, controlling the system behavior over time, has not been natively supported. Such dynamic ...
A metamodel for OCL
UML'99: Proceedings of the 2nd international conference on The unified modeling language: beyond the standardThe Object Constraint Language (OCL) allows the extension of UML models with constraints in a formal way. While the UML itself is defined by following a metamodeling approach, there is currently no equivalent definition for the OCL. We propose a ...
OCL Constraints Generation from Natural Language Specification
EDOC '10: Proceedings of the 2010 14th IEEE International Enterprise Distributed Object Computing ConferenceObject Constraint Language (OCL) plays a key role in Unified Modeling Language (UML). In the UML standards, OCL is used for expressing constraints such as well-definedness criteria. In addition OCL can be used for specifying constraints on the models ...
Comments