An exercise in iterative domain-specific language design

  • Authors:
  • Marcel van Amstel;Mark van den Brand;Luc Engelen

  • Affiliations:
  • Eindhoven University of Technology, Eindhoven, The Netherlands;Eindhoven University of Technology, Eindhoven, The Netherlands;Eindhoven University of Technology, Eindhoven, The Netherlands

  • Venue:
  • Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe our experiences with the process of designing a domain-specific language (DSL) and corresponding model transformations. The simultaneous development of the language and the transformations has lead to an iterative evolution of the DSL. We identified four main influences on the evolution of our DSL: the problem domain, the target platforms, model quality, and model transformation quality. Our DSL is aimed at modeling the structure and behavior of distributed communicating systems. Simultaneously with the development of our DSL, we implemented three model transformations to different formalisms: one for simulation, one for execution, and one for verification. Transformations to each of these formalisms were implemented one at the time, while preserving the validity of the existing ones. The DSL and the formalisms for simulation, execution, and verification have different semantic characteristics. We also implemented a number of model transformations that bridge the semantic gaps between our DSL and each of the three formalisms. In this paper, we describe our development process and how the aforementioned influences have caused our DSL to evolve.