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
Similar content being viewed by others
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)