| | |
Summary: 19
A Calculus for Uniform Feature Composition
SVEN APEL
University of Passau
and
DELESLEY HUTCHINS
MZA Associates Corporation
The goal of feature-oriented programming (FOP) is to modularize software systems in terms of fea-
tures. A feature refines the content of a base program. Both base programs and features may contain
various kinds of software artifacts, for example, source code in different languages, models, build
scripts, and documentation. We and others have noticed that when composing features, different
kinds of software artifacts can be refined in a uniform way, regardless of what they represent. We
present gDEEP, a core calculus for feature composition, which captures the language independence
of FOP; it can be used to compose features containing many different kinds of artifact in a type-safe
way. The calculus allows us to gain insight into the principles of FOP and to define general algo-
rithms for feature composition and validation. We provide the formal syntax, operational semantics,
and type system of gDEEP and outline how languages like Java, Haskell, Bali, and XML can be
plugged in.
Categories and Subject Descriptors: D.3.1 [Programming Languages]: Formal Definitions and
Theory; D.3.3 [Programming Languages]: Language Constructs and Features
|