|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ABSTRACT
In this paper, we consider semantic refinement for feature-oriented programming where components are built from features and weavings, which we use to adapt one feature to the context of another one. We address the question of semantic reasoning about multiple weavings. If we know the effect of feature A on X and of feature B on X, what can we conclude about adding both A and B to X? For this, we define conservative weavings which do not modify the state of another feature. We show that composition of several such weavings is however not compositional as it does not preserve semantics. In particular, weavings must consider that other weavings have already been applied. This explains why it is considerably more difficult to reason about multiple aspect weavings. We show criteria on the dependencies between weavings which allow modular, semantics-preserving application of weavings. This is formalized in a calculus for feature composition and also extended to conditional refinements. REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
INDEX TERMS
Primary Classification:
Additional Classification:
General Terms:
Keywords:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||