Domain-specific language design requires feature descriptions
By Arie van Deursen, Paul Klint. 2002
356 citations recorded by the source corpus.
A domain-specific language (DSL) provides a notation tailored towards an application domain and is based on the relevant concepts and features of that domain. As such, a DSL is a means to describe and generate members of a family of programs in the domain. A prerequisite for the design of a DSL is a detailed analysis and structuring of the application domain. Graphical feature diagrams have been proposed to organize the dependencies between such features, and to indicate which ones are common to all family members and which ones vary. In this paper, we study feature diagrams in more details, as well as their relationship to domain-specific languages. We propose the Feature Description Language (FDL), a textual language to describe features. We explore automated manipulation of feature descriptions such as normalization, expansion to disjunctive normal form, variability computation and constraint satisfaction. Feature descriptions can be directly mapped to UML diagrams which in their turn can be used for Java code generation. The value of FDL is assessed via a case study in the use and expressiveness of feature descriptions for the area of documentation generators.
Subfields: Artificial Intelligence, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/75150eef8adbc1ed0bb94b206ba353345a5efcaf
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Krzysztof Czarnecki
- Simon Helsen
- Ulrich W. Eisenecker
- Patrick Heymans
- Pierre-Yves Schobbens
- Jean-Christophe Trigaux
- Yves Bontemps
- Pablo Trinidad Martín-Arroyo
In Information Systems
- Krzysztof Czarnecki
- Simon Helsen
- Ulrich W. Eisenecker
- Patrick Heymans
- Pierre-Yves Schobbens
- Jean-Christophe Trigaux
- Yves Bontemps
- Pablo Trinidad Martín-Arroyo
In Software
- Krzysztof Czarnecki
- Simon Helsen
- Ulrich W. Eisenecker
- Patrick Heymans
- Pierre-Yves Schobbens
- Jean-Christophe Trigaux
- David Benavides
- Sergio Segura
Citations in the corpus
- Staged Configuration Using Feature Models (2004, methodology): “Generative software development aims at automating application engineering based on system families: a system is generated from a specification written in one or more textual or graphical domain-specific languages (DSLs).”
- Automated analysis of feature models 20 years later: A literature review (2010, background): “[88] were the first authors proposing some kind of automated support for the automated analysis of feature models.”
- Formalizing cardinality-based feature models and their specialization (2005, methodology): “In this context, feature models are used to scope and develop DSLs (Czarnecki and Eisenecker, 2000; Deursen and Klint, 2002; Greenfield and Short, 2004), which may range from simple parameter lists or feature hierarchies to more sophisticated DSLs with graph-like structures.”
- Generic semantics of feature diagrams (2007, methodology): “Work supported by Walloon Region and FSE under FIRST Europe Objective 3 Project PLENTY EPH3310300R0462 / 215315 Preprint submitted to Elsevier Science 4 May 2006”
- Staged configuration through specialization and multilevel configuration of feature models (2005, background): “Deursen and Klint, 2002), which may range from simple parameter lists or feature hierarchies to more sophisticated DSLs with graph-like structures.”
- Automated Reasoning on Feature Models (2005, background): “In addition, Mannion’s model uses the XOR (⊕) operator to model alternative relations, which is either a mistake or a limitation because the model becomes invalid if more than two features are involved in an alternative relation.”
- ABS: A Core Language for Abstract Behavioral Specification (2010, background): “Examples of design-oriented languages are UML/OCL [36], FDL [35], and architectural description languages [11,29].”