文摘
In this paper, we propose the use of parameterized DSLs, we present their implementation in the e-Motions system, and show its potential presenting the definition of the e-Motions implementation of a production-line DSL. Beyond a comprehensive presentation of the core concepts, this paper extends the work to situations where more than two DSLs need to be composed. We provide more adequate notions of behaviour-aware morphisms. Specifically, we lift our definitions for behaviour-preserving, -reflecting, and -protecting to deal with traces, rather than only individual rules. In addition to extending formal results on these morphisms to these new notions, we provide formal results stating that composition of multiple GTSs is equivalent to iterative composition of individual GTSs, allowing us to directly apply our earlier theory to the case of composing multiple DSLs. We present an implementation of these mechanisms as an extension of the e-Motions system, and show its use in our case study. Although we motivate and illustrate our approach using the e-Motions language, our proposal is language-independent, and all the results are presented for GTSs and adhesive HLR systems.