About Feature Interaction

Feature interaction has been recognized as an important problem in telecommunications since the early 1980s. This FAQ sheet on feature interaction defines the problem and gives many examples (Pamela Zave; HTML).

The following papers cover many different aspects of this multi-faceted problem.

Research Papers on Feature Interaction

"Mid-call, multi-party, and multi-device telecommunication features and their interactions" (Pamela Zave; 5th International Conference on Principles, Systems and Applications of IP Telecommunications, ACM Digital Library, 2011) presents a scheme for understanding and managing the most difficult and most mysterious category of feature interactions.

"Modularity in Distributed Feature Composition" (Pamela Zave; Software Requirements and Design: The Work of Michael Jackson, Good Friends Publishing, ISBN 978-0-557-444670, 2010) gives an overview of modularity in DFC. Because feature interaction is a by-product of feature modularity, the paper presents five classes of feature interaction and explains how interactions of each class are managed in DFC.

"Address translation in telecommunication features" (Pamela Zave; ACM Transactions on Software Engineering and Methodology XIII(1):1-36, January 2004) analyzes the feature interactions caused by address translation, defines user-oriented principles for resolving them, and uses global coordinating conventions to manage them in a modular and extensible way. The formal model is a generalization of DFC, so that the results apply to other telecommunication protocols, such as those used for electronic mail. The conference version of this paper won the Best Paper Award at the 7th International Workshop on Feature Interactions in Telecommunications and Software Systems (2003). Here is a related talk given at the Software Requirements to Architectures Workshop in Portland, Oregon, May 2003.

When there is more than one application server in the signaling path between IP media endpoints, and the servers manipulate media flow, media flow must be controlled compositionally. In other words, correct media behavior is defined by correct interaction among features. To solve this problem, "Compositional control of IP media" (Pamela Zave and Eric Cheung; IEEE Transactions on Software Engineering, pages 46-66, January/February 2009) presents an architecture-independent descriptive model, a set of high-level programming primitives, a formal specification of their compositional semantics, a signaling protocol, an implementation, and partial verification of correctness. The paper also discusses how the principles developed to solve this problem may help in making other network applications compositional. Here is a talk on the subject.

In telecommunications, audio signaling is the use of the audio channel for signaling and user-interface purposes. When features use audio signaling, and are assembled in a pipes-and-filters configuration, there is a potential for undesirable feature interactions. "Audio feature interactions in voice-over-IP" (Pamela Zave; 1st International Conference on Principles, Systems and Applications of IP Telecommunications, ACM SIGCOMM, 2007) analyzes the potential feature interactions. It proposes a method for eliminating some of them, as well as directions for future work on the remaining interactions. The method can be implemented in SIP, using compositional patterns of signaling that will work correctly regardless of how many features are active Here is a talk on the subject.

"Component coordination: A telecommunication case study" (Pamela Zave, Healfdene H. Goguen, and Thomas M. Smith; Computer Networks 45(5):645-664, August 2004) reports on the development of a voice-over-IP service centered on personal mobility. It explains the functions of personal mobility, as well as its interactions with other major features. It shows how configurations and feature interactions can be managed with the help of the coordination mechanisms in DFC.

"An experiment in feature engineering" (Pamela Zave; Programming Methodology, Annabelle McIver and Carroll Morgan, editors, Springer-Verlag, New York, 2003) describes the design of a feature set consisting of Selective Call Forwarding, Blocking with Urgent Calling Privilege, Outbound Messaging, and Inbound Messaging. It introduces a method for analyzing and managing the feature interactions that arise among this set.

"Ideal connection paths in DFC" (Pamela Zave; AT&T Technical Report, 2003) defines and explains the latest version of the DFC routing algorithm, and proves many valuable properties of it.

"Requirements for evolving systems: A telecommunications perspective" (Pamela Zave; 5th IEEE International Symposium on Requirements Engineering, IEEE Computer Society, 2001) relates feature-oriented descriptions to the needs of evolving systems, and explains how formal methods apply to both. The term "feature engineering" denotes the requirements-and-design process for feature-oriented systems.

"Secrets of call forwarding: A specification case study" (Pamela Zave; 8th International IFIP Conference on Formal Description Techniques for Distributed Systems and Communications Protocols, Chapman & Hall, 1996) is a detailed analysis of the semantics of different kinds of call forwarding, and how they can be composed so that the features interact correctly.

"Matching and merging of Statecharts specifications" (Shiva Nejati, Mehrdad Sabetzadeh, Marsha Chechik, Steve Easterbrook, and Pamela Zave; 29th International Conference on Software Engineering, IEEE Computer Society, 2007) introduces the possibility of comparing the programs written to implement various features within the framework of the DFC architecture. This analysis could lead to an algorithm for detecting certain classes of feature interaction. This paper won an ACM SIGSOFT Distinguished Paper award.