Multi-Platform Code Generation Supported by Domain-Specific Modeling

Full Text (PDF, 289KB), PP.11-18

Views: 0 Downloads: 0

Author(s)

Gabor Kovesdan 1,* Laszlo Lengyel 1

1. Department of Automation and Applied Informatics, Budapest University of Technology and Economics, Budapest, Hungary

* Corresponding author.

DOI: https://doi.org/10.5815/ijitcs.2017.12.02

Received: 1 Aug. 2017 / Revised: 15 Aug. 2017 / Accepted: 26 Aug. 2017 / Published: 8 Dec. 2017

Index Terms

Domain-Specific Modeling, Model Transformation, Code Generation

Abstract

Code generation is widely used to make software development more efficient and less prone to human errors. A significant use case of code generation is processing of Domain-Specific Languages (DSLs) and Domain-Specific Models (DSMs). Sometimes, it is desired to generate semantically equivalent or similar functionality to different languages to better support multiple platforms and achieve better reuse in the tooling. For example, it is convenient if a single tool supports code generating from a DSM to either Java or C#. There has been relevant research on using modeling and model transformations for code generation to multiple platforms. The Model-Driven Architecture (MDA) inherently supports multi-platform code generation based on models. Nevertheless, the MDA standard is a high-level general framework that includes standards, notions and principles but does not specify more concrete methods or workflows about their efficient adoption. Our research focuses on the efficient and practically usable application of MDA principles to generate multi-platform code. This paper reports on our results on multi-platform code generation and the difficulties that we are about to addressed in future research. The approach and the challenges presented in the paper are useful for tool developers, such as developers of DSLs, who generates code for several platforms.

Cite This Paper

Gábor Kövesdán, László Lengyel, "Multi-Platform Code Generation Supported by Domain-Specific Modeling", International Journal of Information Technology and Computer Science(IJITCS), Vol.9, No.12, pp.11-18, 2017. DOI:10.5815/ijitcs.2017.12.02

Reference

[1]D. S. Frankel, “Model Driven Architecture: Applying MDA to Enterprise Computing”, John Wiley & Sons, 2003.

[2]D. Thomas, “UML - Unified or Universal Modeling Language? UML2, OCL, MOF, EDOC - The Emperor Has Too Many Clothes”, Journal of Object Technology, vol. 2, no. 1, 2003, pp. 7-12.

[3]E. Seidewitz, “UML with meaning: executable modeling in foundational UML and the Alf action language”, Proceedings of the 2014 ACM SIGAda annual conference on High integrity language technology, Portland, Oregon, USA, 2014, October 18-21.

[4]M. Fowler, “Domain-Specific Languages”, Addison-Wesley, 2010.

[5]S. Kelly and J. P. Tolvanen, “Domain-Specific Modeling: Enabling Full Code Generation”, Wiley-IEEE Computer Society Press, 2008.

[6]N. Harrand, F. Fleurey, B. Morin and K. E. Husa, “ThingML: a language and code generation framework for heterogeneous targets”, Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2016), Saint-malo, France, 2016 October 2-7.

[7]J. Stocq and J. Vanderdonckt, “A domain model-driven approach for producing user interfaces to multi-platform information systems”, Proceedings of the working conference on Advanced visual interfaces, Gallipoli, Italy, 2004 May 25-28.

[8]E. Umuhoza, H. Ed-douibi, M. Brambilla, J. Cabot and A. Bongio, “Automatic code generation for cross-platform, multi-device mobile apps: some reflections from an industrial experience”, Proceedings of the 3rd International Workshop on Mobile Development Lifecycle, Pittsburgh, PA, USA, 2015 October 26.

[9]E. Stroulia, B. Bazelli, J. W. Ng and T. Ng, “WL++: code generation of multi-platform mobile clients to RESTful back-ends”, Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems, Florence, Italy, 2015 May 16-17.

[10]G. Kövesdán, M. Asztalos and L. Lengyel, “Modeling Cloud Messaging with a Domain-Specific Modeling Language”, Proceedings of the 2nd International Workshop on Model-Driven Engineering on and for the Cloud, Valencia, Spain, 2014 September 30.

[11]The Object Management Group, “CORBA 3.3 Specification”, http://www.omg.org/spec/CORBA/3.3/.

[12]W. Grosso, “Java RMI”, O’Reilly Media, 2001.

[13]World Wide Web Consortium, “Simple Object Access Protocol (SOAP) Specification”, http://www.w3.org/TR/soap/.

[14]L. Richardson and S. Ruby, “RESTful Web Services”, O’Reilly Media, 2007.

[15]International Telecommunication Union, “ITU-T Z.100 Standard. Specification and Description Language (SDL)”, http://www.itu.int/ITU-T/studygroups/com10/languages/Z.100_1199.pdf.

[16]J. Quaresma, “A Protocol Implementation Generator, Master Thesis”, http://nordsecmob.aalto.fi/en/publications/theses_2010/jose_quaresma.pdf.