Article ID Journal Published Year Pages File Type
4951488 Journal of Logical and Algebraic Methods in Programming 2017 28 Pages PDF
Abstract

•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.

Domain-specific languages (DSLs) become more useful the more specific they are to a particular domain. The resulting need for developing a substantial number of DSLs can only be satisfied if DSL development can be made as efficient as possible. One way in which to address this challenge is by enabling the reuse of (partial) DSLs in the construction of new DSLs. Reuse of DSLs builds on two foundations: a notion of DSL composition and theoretical results ensuring the safeness of composing DSLs with respect to the semantics of the component DSLs.Given a graph-grammar formalisation of DSLs, in this paper, we build on graph transformation system morphisms to define parameterised DSLs and their instantiation by an amalgamation construction. Results on the protection of the behaviour along the induced morphisms allow us to safely reuse and combine definitions of DSLs to build more complex ones. We illustrate our proposal in e-Motions for a DSL for production-line systems and three independent DSLs for describing non-functional properties, namely response time, throughput, and failure rate.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics
Authors
, , , ,