ABSTRACT
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.
- 1.A. Aho, S. Gallagher, N. Griffeth, C. Schell, and D. Swayne. "SCF3TM/Sculptor with Chisel: Requirements Engineering for Communications Services. In International Workshop on Feature Interactions in Telecommunications Systems V, pages 45-63, 1998.]]Google Scholar
- 2.D. Amyot, L. Logrippo, R. Buhr, and T. Gray. "Use Case Maps for the Capture and Validation of Distributed Systems Requirements". In International Symposium on Requirements Engineering, 1999.]] Google ScholarDigital Library
- 3.J. Blom, B. Jonsson, and L. Kempe. Using Temporal Logic for Modular Specification of Telephone Services. In International Workshop on Feature Interactions in Telecommunications Systems II, pages 197-216, 1994.]]Google Scholar
- 4.S. Bomot, J. Sifakis, and S. Tripakis. "Modelling Urgency in Timed Systems". In International Symposium: Compositionality - The Significant Difference, LNCS 1536, 1997.]] Google ScholarDigital Library
- 5.M. BostrOm and M. Engstedt. Feature Interaction Detection and Resolution in the Delphi framework. In International Workshop on Feature Interactions in Telecommunications Systems Ill, pages 157-172, 1995.]]Google Scholar
- 6.K. Braithwaite and J. Atlee. "Towards Automated Detection of Feature Interactions". In International Workshop on Feature Interactions in Telecommunications Systems II, pages 36--59, 1994.]]Google Scholar
- 7.R. Brooks. "A Robust Layered Control System for a Mobile Robot". IEEE Journal of Robotics and Automation, RA-2:14-23, April 1986.]]Google ScholarCross Ref
- 8.G. Bums, P. Mataga, and I. Sutherland. Features as Service Transformers. In International Workshop on Feature Interactions in Telecommunications Systems V, pages 85-97, 1998.]]Google Scholar
- 9.M. Cain. "Managing Run-Time Interactions Between Call-Processing Features". 1EEE Communications, 30(2):44-50, February 1992.]]Google ScholarDigital Library
- 10.E. Cameron, N. Griffeth, Y. Lin, M. Nilson, W. Schnure, and H. Velthuijsen. A Feature Interaction Benchmark in IN and Beyond. Technical Report TM-TSV-021982, Network Systems Specifications Research, Bell Communications Research, September 1992.]]Google Scholar
- 11.E. Cameron, N. Griffeth, Y. Lin, and H. Velthuijsen. "Definitions of Services, Features, and Feature Interactions", December 1992. Bellcore Memorandum for Discussion, presented at the International Workshop on Feature Interactions in Telecommunications Software Systems.]]Google Scholar
- 12.E. Cameron and Y.-J. Lin. "A Real-Time Transition Model for Analyzing Behavioural Compatibility of Telecommunications Services". In Proceedings of the ACM SIGSOFT'91 Conference on Software for Critical Systems, pages 101-111, 1991.]] Google ScholarDigital Library
- 13.Y.-L. Chen, S. Lafortune, and E Lin. "Resolving Feature Interactions Using Modular Supervisory Control with Priorities". In International Worksohp on Feature Interactions in Telecommunications Systems IV, 1997.]]Google Scholar
- 14.E Ciancarini. "Coordination models and languages as software integrators". ACM Computing Surveys, 28(2):300-302, June 1996.]] Google ScholarDigital Library
- 15.L. du Bousquet. Feature interaction detection using testing and model-checking. In Formal Methods 99, 1999.]] Google ScholarDigital Library
- 16.A. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh. "Inconsistency Handling in Multiperspective Specifications". IEEE Transactions on Software Engineering, 20(8):569-578, August 1994.]] Google ScholarDigital Library
- 17.D. Gelernter and N. Carriero. "Coordination languages and their significance". Communications of the ACM, 35(2):97-107, February 1992.]] Google ScholarDigital Library
- 18.N. Griffeth and H. Velthuijsen. "The Negotiating Agents Approach to Runtime Feature Interaction Resolution". In International Workshop on Feature Interactions in Telecommunications Systems, pages 217-235, 1994.]]Google Scholar
- 19.S. Homayoonand H. Singh. "Methods of Addressing the Interactions of Intelligent Network Services with Embedded Switch Services". IEEE Communications, 26(12):42-70, December 1998.]]Google Scholar
- 20.M. Jackson and P. Zave. "Distributed Feature Composition: A Virtual Architecture for Telecommunications Services". IEEE Transactions on Software Engineering, 24(10):831-847, October 1998.]] Google ScholarDigital Library
- 21.K. Kimbler. "Comprehensive approach to service interaction handling". Computer Networks and ISDN Systems, 30:1363-1387, 1998.]] Google ScholarDigital Library
- 22.D. Marples and E. Magill. "The use of RoUback to prevent incorrect operations of Features in Intellent Network Based Systems". In International Workshop on Feature Interactions in Telecommunications Systems V, pages 115-134, 1998.]]Google Scholar
- 23.D. Pinard, M. Weiss, and T. Gray. "Issues in Using an Agent Framework for Converged Voice/Data Applications". In Practical Applications of Intelligent Agents and Multi-Agents, 1997.]]Google Scholar
- 24.B. Stepien and L. Logrippo. Representing and Verifying Intentions in Telephony Features Using Abstract Data Types. In International Workshop on Feature Interactions in Telecommunications Systems, pages 141-155, 1995.]]Google Scholar
- 25.L. Stealing and E. Shapiro. The Art ofProlog. M1T Press, Cambridge, Mass., 1986.]]Google Scholar
- 26.J. Thistle, R. Malhame, H.-H. Hoang, and S. Lafortune. "Feature Interaction Modelling, Detection and Resolution: A Supervisory Control Approach". In International Worksohp on Feature Interactions in Telecommunications Systems IV, pages 93-107, 1997.]]Google Scholar
- 27.G. Utas. "A Pattern Language of Feature Interaction". In International Workshop on Feature Interactions in Telecommunications Systems V, pages 98-114, 1998.]]Google Scholar
- 28.A. van Lamsweerde, R. Darimont, and E. Letier. "Managing Conflicts in Goal-Driven Requirements Engineering". IEEE Transaction on Software Engineering, 24(11):908-926, November 1998.]] Google ScholarDigital Library
- 29.A. van Lamsweerde and E. Letier. "Integrating Obstacles in Goal-Driven Requirements Engineering". In Proceedings of the 20th International Conference on Software Engineering, pages 53-63, 1998.]] Google ScholarDigital Library
- 30.P. Zave, February 2000. Presented at the IFIP WG 2.9 Workshop on Requirements Engineering.]]Google Scholar
- 31.P. Zave and M. Jackson. "Conjunction as Composition". A CM Transactions on Software Engineering and Methodology, 2(4):379--411, October 1993.]] Google ScholarDigital Library
- 32.I. Zibman, C. Woolf, P. O'Reilly, L. Strickland, D. Willis, and J. Visser. "Minimizing Feature Interactions: An Architecture and Processing Model Approach". In International Workshop on Feature Interactions in Telecommunications Systems III, pages 65-83, 1995.]]Google Scholar
Index Terms
- Composing features and resolving interactions
Recommendations
Variable-specific resolutions for feature interactions
FSE 2014: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software EngineeringSystems assembled from independently developed features suffer from feature interactions, in which features affect one another's behaviour in surprising ways. The feature-interaction problem states that the number of potential interactions is ...
Composing features and resolving interactions
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, “...
Composing atomic features
Special issue: Synchronization and concurrency in object-oriented languagesSCOOP (Simple Concurrent Object-Oriented Programming) is a model of concurrency that builds on the concept of contracts for synchronizing accesses to objects. This model is based on a pessimistic concurrency control scheme whose reservation semantics ...
Comments