Domain-Specific Language Design Requires Feature Descriptions
ArieVanDeursen and
PaulKlint
Journal of Computing and Information Technology, 2002.
Abstract
A
DomainSpecificLanguage (
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 detail,
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
DocumentationGeneration.
http://www.cwi.nl/~arie/papers/fdl/fdl.pdf
CategoryPaper