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.
Additional Metadata
Keywords Language composition, Language concern, Language interface, Modular language development
Persistent URL dx.doi.org/10.1145/3276604.3276622
Conference 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, part of SPLASH 2018
Citation
Leduc, M, Degueule, T.F, & Combemale, B. (2018). Modular language composition for the masses. In Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering SLE-2018, co-located with SPLASH 2018 (pp. 47–59). doi:10.1145/3276604.3276622