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.
"Address translation in telecommunication features" 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 (Pamela Zave; ACM Transactions on Software Engineering and Methodology XIII(1):1-36, January 2004). 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" 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 (Pamela Zave and Eric Cheung; IEEE Transactions on Software Engineering, to appear, 2008). 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" 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 (Pamela Zave; Proceedings of the Conference on Principles, Systems and Applications of IP Telecommunications, 2007). Here is a talk on the subject.
"Component coordination: A telecommunication case study" 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 (Pamela Zave, Healfdene H. Goguen, and Thomas M. Smith; Computer Networks 45(5):645-664, August 2004).
"An experiment in feature engineering" 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 (Pamela Zave; in Annabelle McIver and Carroll Morgan, editors, Programming Methodology, pages 353-377, Springer-Verlag, New York, 2003).
"Ideal connection paths in DFC" defines and explains the latest version of the DFC routing algorithm, and proves many valuable properties of it (Pamela Zave; AT&T Technical Report, 2003).
"Requirements for evolving systems: A telecommunications perspective" 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 (Pamela Zave; in Proceedings of the Fifth IEEE International Symposium on Requirements Engineering, pages 2-9, IEEE Computer Society, 2001).
"Secrets of call forwarding: A specification case study" 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 (Pamela Zave; Proceedings of the Eighth International IFIP Conference on Formal Description Techniques for Distributed Systems and Communications Protocols, pages 153-168, Chapman & Hall, 1996).
"Matching and merging of Statecharts specifications" 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 (Shiva Nejati, Mehrdad Sabetzadeh, Marsha Chechik, Steve Easterbrook, and Pamela Zave; Proceedings of the Twenty-ninth International Conference on Software Engineering, IEEE Computer Society, 2007).