Tool Independent Code Generation for the UML - Closing the Gap Between Proprietary Models and the Standardized UML Model

Arne Noyer, Padma Iyenghar, Elke Pulvermueller, Florian Pramme, Joachim Engelhardt, Benjamin Samson, Gert Bikker

Abstract

Embedded software development is moving towards the model-based paradigm to support the complexity of today’s embedded systems, as they become more and more important and omnipresent in our daily lives. In this context, the Unified Modeling Language (UML) is a widely used standard. Code generators can be executed to generate source code from UML models. Usually the code generators are proprietary for one UML tool. If code generators for different targets or programming languages have to be supported by various modeling tools, the wheel must be reinvented. Code generators could use the standardized Extensible Markup Language Metadata Interchange (XMI) format of the UML as a basis. However, tools export their data to XMI differently. Therefore, the paper shows how the proprietary models of UML tools can be mapped to a standardized UML model. This is realized by using techniques for model to model transformations. These techniques need a meta-model for the source and the target model. Hence, an approach is introduced for creating meta-models for Application Programming Interfaces (APIs) of UML-tools, which act as a facade. Then the code generators can work with the standardized UML model to generate the source code. This results in an improved scalability of the code generators.

References

  1. ARM (2013). Cortex M3 processor product website. http://www.arm.com/products/processors/cortexm/cortex-m3.php.
  2. Atlanmod and Modelum research groups (2013). API2MoL Project Website. https://code.google.com/a/eclipselabs.org/p/api2mol/.
  3. Burke, P. W. and Sweany, P. (2007). Automatic Code Generation Through Model-Driven Design. In Software Technology Conference (STC).
  4. Bzivin, J., Hillairet, G., Jouault, F., Kurtev, I., and Piers, W. (2005). Bridging the MS/DSL Tools and the Eclipse Modeling Framework. In In Proceedings of the conference for Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 7805).
  5. Eclipse Foundation (2013a). Acceleo Project website. http://www.eclipse.org/acceleo/.
  6. Eclipse Foundation (2013b). Eclipse Modeling Framework Project. http://www.eclipse.org/modeling/emf/.
  7. Eclipse Foundation (2013c). Graphical Modeling Framework Project website. http://www.eclipse.org/modeling/gmp/.
  8. Eclipse Foundation (2013d). Papyrus UML Product website. http://www.eclipse.org/papyrus/.
  9. Eclipse Foundation (2013e). UML2 Project website. http://www.eclipse.org/modeling/mdt/?project=uml2.
  10. Eclipse Foundation (2013f). Xpand Project website. http://www.eclipse.org/modeling/m2t/?project=xpand.
  11. Eclipse Foundation (2013g). Xtend Project website. http://www.eclipse.org/xtend/.
  12. France, R. B., Ghosh, S., Dinh-Trong, T., and Solberg, A. (2006). Model-driven development using UML 2.0: promises and pitfalls. Computer, 39:59 - 66.
  13. Hergenhan, A. and Heiser, G. (2008). Operating Systems Technology for Converged ECUs. Software Systems Research Group.
  14. Hildebrandt, S., Lambers, L., Giese, H., Rieke, J., Greenyer, J., Schfer, W., Lauder, M., Anjorin, A., and Schrr, A. (2013). A Survey of Triple Graph Grammar Tools. In In Proceedings of the Second International Workshop on Bidirectional Transformations (BX 2013).
  15. IBM (2012). Rational Rhapsody Product Website. http://www-01.ibm.com/software/ awdtools/rhapsody/.
  16. Izquierdo, J. L. C., Jouault, F., Cabot, J., and Molina, J. G. (2012). API2MoL: Automating the building of bridges between APIs and Model-Driven Engineering. In Information and Software Technology, 54:257-273.
  17. Jouault, F., Allilaire, F., Bzivin, J., Kurtev, I., and Valduriez, P. (2006). ATL: A QVT-like transformation language. In Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications (OOPSLA 7806). ACM, New York, NY, USA, 719-720.
  18. Kindler, E. and Wagner, R. (2007). Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios. Technical Report, University of Paderborn.
  19. Krichen, F., Hamid, B., Zalila, B., Jmaiel, M., and Coulette, B. (2013). Development of reconfigurable distributed embedded systems with a model-driven approach. Concurrency Computat: Pract. Exper. doi: 10.1002/cpe.3095.
  20. Macedo, N. and Cunha, A. (2013). Implementing QVT-R Bidirectional Model Transformations using Alloy. In FASE 2013.
  21. Moreira, T. G., Wehrmeister, M. A., Pereira, C. E., Petin, J., and Levrat, E. (2010). Automatic code generation for embedded systems: From UML Specifications to VHDL code. In Industrial Informatics (INDIN) 8th IEEE International Conference, pages 1085 - 1090.
  22. Motor Industry Software Reliability Association (MISRA) (2012). MISRA C website. www.misrac.com/Activities/MISRAC/tabid/160/Default.aspx.
  23. Obeo (2013). UML to Java Generator Project. http://marketplace.obeonetwork.com/module/uml2javagenerator.
  24. Object Management Group (2011). Meta Object Facility Specification 2.4.1. http://www.omg.org/spec/MOF/.
  25. Object Management Group (2013a). MOFM2T 1.0 Specification. http://www.omg.org/spec/MOFM2T/1.0/.
  26. Object Management Group (2013b). OMG Website. http://www.omg.org/.
  27. Object Management Group (2013c). QVT Specification 1.0. http://www.omg.org/spec/QVT/1.0/.
  28. Object Management Group (2013d). Unified Modeling Language Specification. http://www.uml.org/.
  29. Ostfalia University (2013). Merapi-Modeling Product website. http://www.merapi-modeling.de.
  30. Rose, L. M., Matragkas, N., and Kolovos, D. S. (2012). A feature model for model-to-text transformation languages. In In Proceedings of Modeling in Software Engineering (MISE).
  31. Sestoft, P., Hulgaard, H., and Wasowski, A. (2002). Code Generation for Embedded Systems. http://www.itu.dk/ wasowski/papers/poster.pdf.
  32. Sparx Systems (2012). Enterprise Architect product website. http://www.sparxsystems.com/products/ea/index.html.
  33. Willert Software Tools GmbH (2013). Company website. http://www.willert.de.
Download


Paper Citation


in Harvard Style

Noyer A., Iyenghar P., Pulvermueller E., Pramme F., Engelhardt J., Samson B. and Bikker G. (2014). Tool Independent Code Generation for the UML - Closing the Gap Between Proprietary Models and the Standardized UML Model . In Proceedings of the 9th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-030-7, pages 117-125. DOI: 10.5220/0004870701170125


in Bibtex Style

@conference{enase14,
author={Arne Noyer and Padma Iyenghar and Elke Pulvermueller and Florian Pramme and Joachim Engelhardt and Benjamin Samson and Gert Bikker},
title={Tool Independent Code Generation for the UML - Closing the Gap Between Proprietary Models and the Standardized UML Model},
booktitle={Proceedings of the 9th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2014},
pages={117-125},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004870701170125},
isbn={978-989-758-030-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 9th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Tool Independent Code Generation for the UML - Closing the Gap Between Proprietary Models and the Standardized UML Model
SN - 978-989-758-030-7
AU - Noyer A.
AU - Iyenghar P.
AU - Pulvermueller E.
AU - Pramme F.
AU - Engelhardt J.
AU - Samson B.
AU - Bikker G.
PY - 2014
SP - 117
EP - 125
DO - 10.5220/0004870701170125