Modular language composition for the masses
Presented at the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, part of SPLASH 2018 (November 2018), Boston, Massachusetts, USA
The goal of modular language development is to enable the definition of new languages as assemblies of pre-existing ones. Recent approaches in this area are plentiful but usually suffer from two main problems: either they do not support modular language composition both at the specification and implementation levels, or they require advanced knowledge of specific paradigms which hampers wide adoption in the industry. In this paper, we introduce a non-intrusive approach to modular development of language concerns with well-defined interfaces that can be composed modularly at the specification and implementation levels. We present an implementation of our approach atop the Eclipse Modeling Framework, namely ALEX - an object-oriented metalanguage for semantics definition and language composition. We evaluate ALEX in the development of a new DSL for IoT systems modeling resulting from the composition of three independently defined languages (UML activity diagrams, Lua, and the OMG Interface Description Language). We evaluate the effort required to implement and compose these languages using ALEX with regards to similar approaches of the literature.
|Keywords||Language composition, Language concern, Language interface, Modular language development|
|Conference||11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, part of SPLASH 2018|
Leduc, M, Degueule, T.F, & Combemale, B. (2018). Modular language composition for the masses. In SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2018 (pp. 47–59). doi:10.1145/3276604.3276622