Variability Support in Domain-Specific Language Development

  • Edoardo Vacchi
  • Walter Cazzola
  • Suresh Pillay
  • Benoît Combemale
Conference paper

DOI: 10.1007/978-3-319-02654-1_5

Part of the Lecture Notes in Computer Science book series (LNCS, volume 8225)
Cite this paper as:
Vacchi E., Cazzola W., Pillay S., Combemale B. (2013) Variability Support in Domain-Specific Language Development. In: Erwig M., Paige R.F., Van Wyk E. (eds) Software Language Engineering. SLE 2013. Lecture Notes in Computer Science, vol 8225. Springer, Cham

Abstract

Domain Specific Languages (DSLs) are widely adopted to capitalize on business domain experiences. Consequently, DSL development is becoming a recurring activity. Unfortunately, even though it has its benefits, language development is a complex and time-consuming task. Languages are commonly realized from scratch, even when they share some concepts and even though they could share bits of tool support. This cost can be reduced by employing modern modular programming techniques that foster code reuse. However, selecting and composing these modules is often only within the reach of a skilled DSL developer. In this paper we propose to combine modular language development and variability management, with the objective of capitalizing on existing assets. This approach explicitly models the dependencies between language components, thereby allowing a domain expert to configure a desired DSL, and automatically derive its implementation. The approach is tool supported, using Neverlang to implement language components, and the Common Variability Language (CVL) for managing the variability and automating the configuration. We will further illustrate our approach with the help of a case study, where we will implement a family of DSLs to describe state machines.

Keywords

Domain-Specific Languages Language Design and Implementation Variability Management CVL and Neverlang 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  • Edoardo Vacchi
    • 1
  • Walter Cazzola
    • 1
  • Suresh Pillay
    • 2
  • Benoît Combemale
    • 2
  1. 1.Computer Science DepartmentUniversità degli Studi di MilanoItaly
  2. 2.TRISKELL (INRIA - IRISA)Université de Rennes 1France

Personalised recommendations