
Ebook: Feature Interactions in Software and Communication Systems IX

This publication deals with the feature interaction problem in telecommunication systems. In this domain, an interaction occurs when one telecommunications feature/service modifies or subverts the operation of another one. Undesired interactions can both lower this quality and delay service provisioning. Therefore, the problem of feature interactions in telecommunications is of great importance. In the past decade, a lot of attention has been devoted to the development of methods for detection and resolution of feature interactions. However, this feature interaction phenomenon is not unique to the domain of telecommunications systems. It can also occur in any large software system that is subject to continuous changes. All the submitted papers in this publication have been peer reviewed by at least two reviewers drawn from industry or academia.
These proceedings record the papers presented at the ninth International Conference of Feature Interactions in Software and Communication Systems (ICFI 2007), held in the city of Grenoble, France.
This conference builds on the success of the previous conferences in this series. The first edition of this conference, known then as Feature Interaction Workshop (FIW), held in St Petersburg, Florida, USA, in 1992. It was then held in Amsterdam, The Netherlands (1994), Kyoto, Japan (1995), Montreal, Canada (1997), Lund, Sweden (1998), Glasgow, UK (2000), Ottawa, Canada (2003), and Leicester, UK (2005). FIW became ICFI in 2005.
The Feature Interaction Workshop was originally created for discussion and reporting on the feature interaction problem in telecommunication systems. In this domain, an interaction occurs when one telecommunications feature/service modifies or subverts the operation of another one. Undesired interactions can both lower this quality and delay service provisioning. Therefore, the problem of feature interactions in telecommunications is of great importance. In the past decade, a lot of attention has been devoted to the development of methods for detection and resolution of feature interactions. However, this feature interaction phenomenon is not unique to the domain of telecommunications systems. It can also occur in any large software system that is subject to continuous changes.
For this edition, the conference has a range of contributions by distinguished speakers drawn from both telecommunication and other software systems. Besides its formal sessions the conference included a doctoral symposium, a panel and two invited talks. All the submitted papers in these proceedings have been peer reviewed by at least two reviewers drawn from industry or academia. Reviewing and selection were undertaken electronically.
ICFI2007 has been sponsored by IMAG, University Joseph Fourier, INPG, l'INRIA, Grenoble City, Grenoble Alpes Métropole (Communauté d'agglomération de Grenoble), le Conseil Général de l'Isère and la Région Rhônes-Alpes.
University Joseph Fourier (Grenoble I) and the Laboratoire d'Informatique de Grenoble (LIG) have provided all local organization and financial backing for the conference. We would like to thank Jean-Luc Richier, Didier Bert, Pascale Poulet and Frédérique Chrétiennot for their help in organizing this event.
Online information concerning the conference is available under the following Uniform Resource Locator (URL): http://www-lsr.imag.fr/ICFI2007/
Lydie du Bousquet, Farid Ouabdesselam
In software product line engineering, reusable artifacts are pro-actively created such that they can efficiently be reused in order to build customer-specific software products. To support the efficient reuse, variability is explicitly defined and introduced into the reusable artifacts. This variability implies that the reusable artifacts do not define a single software product but a set of such products. Specifically, the reusable artifacts do not constitute an executable system which could be tested. Thus, in order to check the reusable artifacts of a software product line for defects, the variability in those artifacts has to be handled.
This invited talk will elaborate on different strategies for how to handle the variability in the reusable artifacts, and how existing quality assurance techniques for software product lines, including feature interaction analysis, address the specific challenges that are posed by those strategies.
This paper describes the emerging need of feature interaction managers in Next Generation Networks that are based on a convergent IP architecture to support voice, data, and multimedia services. Though this need has been addressed by the telecom industry with various architectural components under different names such as Service Capability Interaction Manager (SCIM) in the 3GPP (3rd Generation Partnership Project) IP Multimedia Subsystem (IMS), the consensus of the industry is to call such a network function Service Brokering and the network component fulfilling this function Service Broker. This paper reports the current industrial status in architecting the Service Broker, discusses the limits of the Service Brokering functions defined in 3GPP, and points out open issues for further research.
In this paper, we introduce the problem of license conflicts, which occurs when information assets (such as software, data, or multimedia files) are composed, derived or versioned. A license specifies a set of permissions granted by an asset owner to an asset consumer (as expressed in the form of licensing clauses), effectively waiving what would otherwise be an infringement of the owner's intellectual rights. Thus, a license allows producers to control how consumers may use and extend the asset. New assets can be produced by composing multiple assets or deriving an asset from an existing asset, as governed by their licenses. Licenses interact with each other either directly or indirectly during the composition or derivation of assets. Licenses can also interact with other versions of the same license during the evolution of an asset. We view interactions of licenses as feature interactions, especially if those interactions result in conflicts. Here, features correspond to licensing clauses. In this paper, we identify and analyze feature interactions of licenses during the composition, derivation, and evolution of assets.
Software product line engineering provides a systematic approach for the reuse of software assets in the production of similar software systems. For such it employs different variability modeling and realization approaches in the development of common assets that are extended and configured with different features. The result is usually generalized and complex implementations that may hide important dependencies and design decisions. Therefore, whenever software engineers need to extend the software product line assets, there may be dependencies in the code that, if not made explicit and adequately managed, can lead to feature interference. Feature interference happens when a combined set of features that extend a shared piece of code fail to behave as expected. Our experience in the development of YANCEES, a highly extensible and configurable publish/subscribe infrastructure product line, shows that the main sources of feature interference in this domain are the inadequate documentation and management of software dependencies. In this paper, we discuss those issues in detail, presenting the strategies adopted to manage them. Our approach employs a contextual plug-in framework that, through the explicit annotation and management of dependencies in the software product line assets, better supports software engineers in their extension and configuration.
The application-specific mode of data sharing and usage, called data pragmatics, leads to many undesired interactions related to data dependency between applications. Our previous work focuses on the automatic detection of these undesired interactions in the context of J2EE (Java 2 Platform Enterprise Edition). In this paper, we propose a set of automated solutions based on middleware for this problem.
Technology to support care at home is a promising alternative to traditional approaches. However, home care systems present significant technical challenges. For example, it is difficult to make such systems flexible, adaptable, and controllable by users. The authors have created a prototype system that uses policy-based management of home care services. Conflict detection and resolution for home care policies have been investigated. We identify three types of conflicts in policy-based home care systems: conflicts that result from apparently separate triggers, conflicts among policies of multiple stakeholders, and conflicts resulting from apparently unrelated actions. We systematically analyse the types of policy conflicts, and propose solutions to enhance our existing policy language and policy system to tackle these conflicts. The enhanced solutions are illustrated through examples.
Feature interaction detection methods, whether online or offline, depend on previous knowledge of conflicts between the actions executed by the features. This knowledge is usually assumed to be given in the application domain. A method is proposed for identifying potential conflicts in call control actions, based on analysis of their pre/post-conditions. First of all, pre/post-conditions for call processing actions are defined. Then, conflicts among the pre/post-conditions are defined. Finally, action conflicts are identified as a result of these conflicts. These cover several possibilities where the actions could be simultaneous or sequential. A first-order logic model-checking tool is used for automated conflict detection. As a case study, the APPEL call control language is used to illustrate the approach, with the Alloy tool serving as the model checker for automated conflict detection. This case study focuses on pre/post-conditions describing call control state and media state. The results of the method are evaluated by a domain expert with pragmatic understanding of the system's behavior. The method, although computationally expensive, is fairly general and can be used to study conflicts in other domains.
Policies exhibit conflicts much as features exhibit interaction. Since policies are defined by end users, the combinatorial problems involved in detecting conflicts are substantially worse than for detecting feature interactions. A new, ontology-driven method is defined for automatically identifying potential conflicts among policies. This relies on domain knowledge to annotate policy actions with their effects. Conflict filtering is performed offline, but supports conflict detection and resolution online. The technique has been implemented in the RECAP tool (Rigorously Evaluated Conflicts Among Policies). Subject to user guidance, this tool filters conflicting pairs of actions and automatically generates resolutions. The approach is generic, but is illustrated with the APPEL policy language for call control. The technique has improved the scalability of conflict handling, and has reduced the effort required of the previous manual approach.
The feature interaction problem is generally associated with conflicting features causing undesirable effects. However, in this paper we report on a situation where the combination of features (as policies) and service-targeted business processes yields non-negative effects. We consider business processes as base systems and policies as a feature mechanism for defining user-centric requirements and system variability. The combination of business processes and a diverse range of policies leads to refinement of activities and possible reconfiguration of processes. We discuss the ways in which policies can interact with a business process and how these interactions are different from other approaches such as the classical view of POTS or telecommunications features. We also discuss the conflicts that can arise and potential resolutions.
With existing general purpose programming languages, interacting features executed in the same process must be implemented by changing the code of one another [1]. The Feature Language Extensions (FLX) is a set of programming language constructs that enables the programmer to develop interacting features as separate and reusable program modules. Features are integrated and have their interactions resolved in feature packages. FLX provides the precedence list facilities for the programmer to specify the execution order of the features in a feature package. While not applicable in all situations, precedence lists can be used to resolve many interaction conditions in a single statement. This paper describes the two types of precedence lists supported by FLX and their usage. We give the contradiction conditions that may occur when multiple precedence lists are used in a feature package and show how to resolve them. Finally, we show that the two types of FLX precedence lists are primitive: they can be used to implement arbitrary precedence relations among features that do not exhibit contradictions.
One approach to system development is to decompose the requirements into features and specify the individual features before composing them. A major limitation of deferring feature composition is that inconsistency between the solutions to individual features may not be uncovered early in the development, leading to unwanted feature interactions. Syntactic inconsistencies arising from the way software artefacts are described can be addressed by the use of explicit, shared, domain knowledge. However, behavioural inconsistencies are more challenging: they may occur within the requirements associated with two or more features as well as at the level of individual features. Whilst approaches exist that address behavioural inconsistencies at design time, these are over-restrictive in ruling out all possible conflicts and may weaken the requirements further than is desirable. In this paper, we present a lightweight approach to dealing with behavioural inconsistencies at run-time. Requirement Composition operators are introduced that specify a run-time prioritisation to be used on occurrence of a feature interaction. This prioritisation can be static or dynamic. Dynamic prioritisation favours some requirement according to some run-time criterion, for example, the extent to which it is already generating behaviour.
Feature interaction is a major obstacle for the rapid development of new services in telecommunication networks. Based on the similarities between Artificial Immune System and Feature Interaction Management System, an Artificial Immune-based Feature Interaction Management System (AIFIMS) is proposed for the online FI detection and resolution in next generation networks (NGN). AIFIMS consists of three modules: Artificial Immune-based Detection (AID) module, Artificial Immune-based Resolution (AIR) module and Management module. By introducing and exploiting some AIS mechanisms such as multi-protection mechanism, Antigen Recognition, clonal selection, immune learning and so on, AID module can effectively detect FIs in a universal way, and new kinds of FIs can be gradually recognized and memorized also. AIR module resolves the detected FIs fexibly through simulating Antigen Cleanup mechanism. With the experimental verification, AIFIMS is effective to provide a unified framework for detecting and resolving FIs among ever-changing NGN services.
Many of the formal techniques are orchestrated for interaction detection in a complex integrated solution of hardware and software components. However, the applicability of these techniques is in question, keeping in view time-to-market delivery and scarcity of available resources. The situation is even more intractable when little or no knowledge of components is provided.
We introduce a novel approach of using model inference methods in the domain. We advocate that these methods can be used in detecting feature interactions among components by putting the integrated system under a systematic testing effort and extracting only “context-relevant” models. Our technique allows us to detect those interactions in the system which are normally hidden while testing the components in isolation. We apply our approach to an active problem we are facing in furnishing mobile phone services.
The feature or service interaction problem within home networks is an established topic for the FI community. Interactions between home appliances, services and their environment have been reported previously. Indeed earlier work by the authors introduced a device centric approach which detects undesirable behaviour between appliances and their effects on the environment.
However this previous work did not address side-effects between components of the modelled environment. That is some appliances do not only affect the environment through their main function, but may do so also in other ways. For instance, an air conditioner cools the air as its main function, but also decreases the humidity as a side-effect.
Here we extend our earlier approach to handle such side effects effectively and discuss previously unreported results.
Middleware enables distributed components to interact with each other in diverse and complex styles, which increase the occasions of undesired components interactions (UCIs). Such UCIs may cause serious problems, e.g. quality violation, function loss, and even system crash. In this position paper, we present an online approach for detection and resolution of UCIs based on runtime software architecture (RSA), which does three contributions. First, RSA is implemented by reflection which is a powerful and popular mechanism to monitor and control component-based systems at runtime so that UCIs could be detected and resolved online. Second, RSA is a type of software architecture which is a comprehensive and commonly used model for design and analysis of component-based systems and then helps to represent and analyze UCIs and plan corresponding resolutions. Third, RSA can monitor and adapt runtime systems automatically under the guide of well-defined patterns so that fully automatic detection and resolution of UCIs become possible and reusable.
Policy conflict is the equivalent of feature interaction in traditional services. Conflicts between the actions of policies occur at execution time. Potential conflicts must be detected and resolved. Using an established policy system and core language, a specialised policy language for wireless sensor network management has been defined. This short paper describes the policy language and discusses policy conflicts, external sensor network restrictions, and possible approaches to resolving these issues.
Assuring safety in the home network system (HNS) is a crucial issue to guarantee high quality of life. In this position paper, we first review our previous work, formulating three kinds of safety for the HNS integrated services: local safety, global safety, and environment safety. We then present a method that validates safety for integrated service. Finally, we discuss a perspective in how the safety can be assured when considering the feature interaction problem.
Feature interaction detection in the context of systems that are highly integrated into their environment, such as embedded or software-intensive systems, is different from classical feature interaction detection. The physical environment may be “the source of additional interactions” as interactions may be caused by, and occur in, the system's physical environment.
We thus propose an approach for automated detection of feature interactions in the environment which is based on feature diagrams capturing variability, problem diagrams describing the system in its context and event calculus formulae allowing for automated reasoning. Feasibility of the approach is demonstrated through a proof-of-concept tool implementation and an in-depth illustration.
The rise of communicating devices has led to more and more machine to machine applications. In this context devices can be modeled using service-oriented computing. Furthermore service-oriented approach paradigms support the dynamic nature inherent in this kind of applications. However even though devices and their services can cooperate in the same application, they are likely to belong to independent organizations. As a consequence each part of the application need guarantees on the service availabilities, and this can be achieved through service level agreements.