Publication | Closed Access
Composing features and resolving interactions
18
Citations
15
References
2000
Year
Artificial IntelligenceEngineeringSoftware EngineeringConcurrent SystemSemanticsAction LanguageSoftware AnalysisFormal VerificationFeature CompositionModel CompositionConcurrency (Computer Science)Systems EngineeringFeature Interaction ProblemComputer ScienceComposition OperatorAutomated ReasoningConcurrency TheoryFormal MethodsAsynchronous SystemsSeparate Concern
One of the accepted techniques for developing and maintaining feature-rich applications is to treat each feature as a separate concern. However, most features are not separate concerns because they override and extend the same basic service. That is, “independent” features are coupled to one another through the system's basic service. As a result, seemingly unrelated features subtly interfere with each other when trying to override the system behaviour in different directions. The problem is how to coordinate features' access to the service's shared variables. This paper proposes coordinating features via feature composition. We model each feature as a separate labelled-transition system and define a 1conflict-free (CF) composition operator that prevents enabled transitions from synchronizing if they interact: if several features' transitions are simultaneously enabled but have conflicting actions, a non-conflicting subset of the enabled transitions are synchronized in the composition. We also define a conflict- and violation-free (CVF) composition operator that prevents enabled transitions from executing if they violate features' invariants. Both composition operators use priorities among features to decide whether to synchronize transitions.
| Year | Citations | |
|---|---|---|
Page 1
Page 1