Abstract

Like any software, domain-specific languages (DSLs) are subject to regularly evolve. One reason to evolve a DSL is when the external libraries it (or its code generator) depends on evolve as well. In current practice, every time a change or addition occurs in the external library, the language engineer has to manually adapt and rebuild the DSL accordingly. In this paper, we propose an approach to evolve DSLs automatically when changes occur in the external libraries they depend on. This provides a seamless evolution to the domain user by reducing the inconsistencies that may arise between the metamodel of the DSL and the generated artifacts. We evaluate the feasibility of our approach on a case study of generating modeling editors where the input/output interactions with the editor are performed through Arduino devices. We show how the DSL can evolve automatically when new Arduino devices and their APIs are available.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call