Abstract
In this paper we describe a transformation from a subset of OCL to ANSI C code, and we show that the generated code provides improved efficiency compared to OCL execution using Java, C# or C++. The transformation is itself formally specified using OCL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The operation versions should have the same signatures, overloading is not supported for this translation.
- 2.
References
Cuadrado, J., Jouault, F., Molina, J., Bezivin, J.: Deriving OCL optimisation patterns from benchmarks. In: OCL 2008 (2008)
Dieumegard, A., Toon, A., Pantel, M.: Model-based formal specification of a DSL library for a qualified code generator. In: OCL 2012 (2012)
Funk, M., Nysen, A., Lichter, H.: From UML to ANSI-C: an Eclipse-based code generation framework. RWTH (2007)
Kernighan, B., Ritchie, D.: The C Programming Language. Prentice Hall, Upper Saddle River (1988)
Kuhlmann, M., Hamann, L., Gogolla, M., Buttner, F.: A benchmark for OCL engine accuracy, determinateness and efficiency. SoSyM 11, 165–182 (2012)
Lano, K.: Agile Model-Based Development Using UML-RSDS. Taylor and Francis, Milton Park (2016)
OMG: OCL Version 2.4 (2014)
OMG: Semantics of a Foundational Subset for Executable UML Models (FUML), v1.1 (2015)
Zschaler, S., Poernomo, I., Terrell, J.: Towards using constructive type theory for verifable modular transformations. In: FREECO 2011 (2011)
Willink, E.: An extensible OCL virtual machine and code generator. In: OCL 2012 (2012)
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
Lano, K., Yassipour-Tehrani, S., Alfraihi, H., Kolahdouz-Rahimi, S. (2018). Translating UML-RSDS OCL to ANSI C. 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_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-74730-9_28
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)