"Detecting Feature Interactions in Telecommunications Systems Designs" Mohammed Faci's PhD Thesis University of Ottawa 1995 Abstract A basic telephone service is used to establish a communication session between two users. A telephone feature, such as call waiting, call forwarding, and three way calling, is defined as an added functionality of the basic telephone service. A feature interaction is the interference of the functionality of one telephone feature with the functionality of another telephone feature, meaning that the invocation of the first feature modifies the functionality of the other active feature, or even prevents its functionality altogether. This problem has become a major obstacle for the extension of telephone systems with new services. Our contributions in this thesis are the following: (1) define a model for specifying telephone systems and their services; (2) formalize the notion of feature interaction; and (3) develop a design methodology for detecting feature interactions at the specification level. In the first part of the thesis, we define a model for structuring the components of telephone specifications. In this model, a specification is expressed as a set of communicating processes representing three types of constraints: local constraints, end-to-end constraints, and global constraints. Each of these constraints is defined and used in our specifications. In the second part of the thesis, we develop a methodology for detecting feature interactions. Central to our methodology is the formalization of the notion of feature interaction. Intuitively, we say that an interaction exists between n features if one of the features cannot exhibit its behaviour when integrated into POTS in combination with other features. We formalize this concept by defining the composition and integration of features. Composition expresses the synchronization of features on their common actions with POTS and their interleaving on their independent actions. Integration expresses the extension of POTS with the n features, such that each feature is able to execute all of its actions which are allowed in the context of POTS, when the other features are disabled. Then, we reason about interactions in terms of the conformance relation studied in testing theory, in the following way. An interaction exists between n features if their integration does not conform to their composition. A set of concrete telephony examples is used to show the applicability of the methodology. The specification language used is LOTOS, which turns out to be ideally suited to express our methodology. However, our method is general enough to be adapted to other specification languages with similar constructs.