Computer Networks 57 (2013) 2395–2398
Contents lists available at SciVerse ScienceDirect
Computer Networks journal homepage: www.elsevier.com/locate/comnet
Editorial
Special Issue on ‘‘Feature interaction in communications and software systems’’ 1. Introduction
1.2. Feature interaction in systems generally
1.1. Feature interaction in telecommunications
A key characteristic of telephony is that the basic system can be extended by independently designed modules of functionality. Of course, this is not unique to telephony. Many systems (including software systems) share this characteristic. For example, many software packages support plugins that add new functionality to the basic application. It is therefore not surprising that researchers have found feature interactions in new kinds of systems. Examples of these include aspect-oriented software [2], automotive safety [15], building control [18], business processes [13], electronic voting [12], email [14], home automation [19], lift control [21], optical networks [9], policy-based management [22], sensor networks [3], software product lines [10], software licensing [11] and web services [24]. As can be seen, this is a wide-ranging set of applications that is bound to grow as systems become more complex and more modular.
The ideas behind feature interaction were first identified in telephony. Telephone subscribers can choose various capabilities as features that augment the basic call. For example, a subscriber might choose to forward incoming calls when busy, to queue incoming calls, or to have a distinctive ring pattern. Since these features may be independently designed and tested, they may not fully cooperate with each other. For example, call forwarding on busy and call waiting will conflict when the user is on the phone and a call arrives. The former would forward the call, but the latter would allow the user to accept the call. Other feature interactions can be subtle and hard to anticipate. Normally feature interaction is seen as something to be avoided, but some interactions can be benign or even desirable. As a result, there can be subjectivity in judging whether an interaction should be considered to exist and whether it should be avoided. Feature interaction in telephony has a lengthy history. It was first discussed in 1989 by Bowen et al. [4]. Cameron and Lin [8] then investigated compatibility among different telecommunications services. Cameron et al. [7] later defined a benchmark for feature interaction techniques – particularly for Intelligent Network services. Feature interaction techniques for telephony continued to evolve in the 1990s. By this point many of the issues in telephony had been addressed pragmatically, though research continued to explore new solutions for an ‘old’ problem. In 2003, Calder et al. [6] reviewed the state of the art, concluding that feature interaction techniques would be challenged by new developments such as Next Generation Networks, IP Networks, and Internet telephony. With the relentless pace of telecommunications, yet other advances have continued to raise new challenges such as the IP Multimedia System, mobile telephony, peer-to-peer systems and social networking.
1389-1286/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.comnet.2013.05.006
1.3. Feature interaction approaches Feature interaction techniques can be classified in many ways. Cameron et al. [7] classified feature interactions according to the users and components involved. Calder et al. [5] subsequently gave a different classification based on how a trigger causes an interaction. For interaction detection, one categorisation depends on the stage at which interactions are handled: avoidance (designing a system to avoid interactions), detection (discovering when an interaction occurs) and resolution (deciding how to deal with a detected interaction). Most techniques can be classified as offline/static (design-time analysis) or online/dynamic (execution-time analysis). Many offline approaches use formal methods to analyse a system for interactions. Another classification axis is whether the technique is centralised (features and analysis on one system) or distributed (across many systems). Since exhaustive analysis may be impracticable or feature inter-
2396
Editorial / Computer Networks 57 (2013) 2395–2398
actions may be subjective, some techniques look for interaction-prone feature combinations rather than trying to definitively discover interactions. For interaction resolution, a different range of techniques is applied. A simple but common strategy is to prioritise features so that more important ones can be selected if an interaction is detected. A feature that causes an interaction at run-time might be rolled back so that its execution is ignored. Resolution rules may also be defined for how to handle run-time interactions, typically by giving preference to one feature but sometimes entering into negotiation or asking the user to decide.
2. The special issue Selection began with a call for papers that covered the gamut of feature interaction techniques and applications. This resulted in 26 submissions. A number of these were tangential to the core feature interaction problem and were not selected for reviewing. The remaining papers then went through two rounds of rigorous reviewing, resulting in the five papers presented in this special issue. These give a good cross-section of ongoing research into feature interaction. All the papers present novel techniques applied in various domains. It is interesting that several of the papers use smart homes as their focus, underlining the future importance of this area as a key application of pervasive computing.
2.1. Feature interaction detection based on feature-based specifications Apel et al. [1] present a new technique for detecting feature interactions through the use of feature-based specifications. This aims to describe features in a modular way. Independent feature specifications allow different feature combinations in a manner reminiscent of software product lines. Feature-aware verification of the composite specification is then performed using model checking. The approach is evaluated on ten different applications, ranging from an email system to a list-based system for storing numeric values. The authors conclude that feature-based specification is a viable approach that can detect a substantial percentage of interactions.
2.3. Policy conflicts in home automation Maternaghan and Turner [17] study policy conflicts as the analogue of feature interaction in policy-based system management. A home automation system is the testbed for the conflict detection technique. Policies are rules in ‘when-do’ form, with triggers and conditions combined into a composite ‘when’ event that activates a policy. Conflict detection proceeds in two phases: checking whether the ‘when’ clauses of policies can overlap, then checking whether the ‘do’ actions conflict through contradictory effects on environment variables. A range of 20 typical home automation policies is presented. Automated analysis of these policies is discussed, leading to identification of potential conflicts. Many of these are subjective, so the user is involved in judging the conflicts as they are filtered by the approach. 2.4. Considering impacts and requirements for better understanding of environment interactions in home network services Nakamura et al. [20] look at feature interaction in smart homes. Actions within the home are characterised by preconditions, post-conditions, and the environment properties that are used and changed. A new technique for interaction detection addresses limitations that were found in the authors’ previous approach. This allows environment impacts to be discovered, and explicitly recognises what features are designed to achieve. A case study using five features successfully identifies a number of interactions, including ones that were not found by the previous approach. 2.5. Specifying software features for composition: a toolsupported approach Tun et al. [23] employ a tool-based approach to feature interaction in home-based systems. The work addresses two challenges: helping developers to design features that can be combined with independently designed ones, and resolving interactions among such features. The event calculus is used to describe features formally. Logical reasoning is then applied to the combination of features, detecting interactions as constraint violations using a satisfaction solver. Resolution is aided by making explicit the assumptions of individual features.
2.2. Feature interaction in a federated communicationsenabled collaboration platform 3. Future prospects Kolberg et al. [16] discuss a novel platform that integrates and federates individual collaboration solutions such as Wikis, shared documents and virtual worlds. Key features of the new collaboration platform are presented, including user views, collaborative sharing and context awareness. The platform and its features are modelled in an event-condition-action style. This forms the basis of the interaction detection technique, identifying conflicts among conditions or resulting system states. The detection approach is applied to a collaboration platform and shown to discover significant interactions.
As will be evident from this special issue, feature interaction is still a live problem. It is true that feature interaction is no longer a hot topic in its original domain of traditional telephony. However, new types of feature interaction are always appearing due to continuing advances in all kinds of services. It will also be clear that feature interaction is a system phenomenon, and not solely restricted to telecommunications. As new types of systems emerge, particularly software systems and hybrid systems, new challenges will be found in feature interaction.
Editorial / Computer Networks 57 (2013) 2395–2398
Future systems are likely to introduce new kinds of feature interactions. To take just one trend, there is a move towards alternative interface modalities such as speech, audio, touch, gesture and smell. This is likely to give rise to interesting new forms of interactions. For example, there could be interference between the selected modality and the context. Thus it could be embarrassing to receive a speech reminder about medication while someone is visiting. This is one example of increasing personalisation in computer systems, which is bound to give rise to new kinds of feature interactions. New kinds of networks are also likely to raise new feature interaction issues. With the meteoric rise of social networking, new kinds of interactions can be anticipated. For example it is already known that privacy is an issue, and also how personal information may be used by a service provider. Sharing information through peer-to-peer networks has also become common, and will give rise to interactions affecting privacy and ownership. We anticipate with interest the next decade of feature interaction research. Acknowledgements We are grateful to all the authors who responded to the call for this special issue. Our particular thanks are due to the many referees who carefully reviewed the articles. We were fortunate to have editorial support throughout from Suganya Selvi of Elsevier.
[11]
[12]
[13]
[14]
[15]
[16]
[17] [18]
[19]
[20]
References [1] S. Apel, Feature-interaction detection based on feature-based specifications, Computer Networks, in this special issue. [2] L. Blair, J. Pang, Aspect-oriented solutions to feature interaction concerns using AspectJ, in: D. Amyot, L. Logrippo (Eds.), Proc. 7th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2003, pp. 87–103. [3] J.M. Blum, Handling emergent conflicts in adaptable rule-based sensor networks, PhD thesis, Computing Science and Mathematics, University of Stirling, Scotland, November 2012. [4] T.F. Bowen, F.S. Dworack, C.H. Chow, N. Griffeth, G.E. Herman, Y.-J. Lin, The feature interaction problem in telecommunications systems, in: Proc. 7th Int. Conf. on Software Engineering for Telecommunication Switching Systems, Institution of Electrical and Electronic Engineers Press, New York, USA, 1989, pp. 59–62. [5] M. Calder, M. Kolberg, E.H. Magill, D.J. Marples, S. Reiff-Marganiec, Hybrid solutions to the feature interaction problem, in: D. Amyot, L. Logrippo (Eds.), Proc. 7th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2003, pp. 295–312. [6] M.H. Calder, M. Kolberg, E.H. Magill, S. Reiff-Marganiec, Feature interaction: a critical review and considered forecast, Computer Networks 41 (2003) 115–141. [7] E.J. Cameron, N.D. Griffeth, Y.-J. Lin, M.E. Nilson, W.K. Schnure, H. Velthuijsen, A feature-interaction benchmark for IN and beyond, IEEE Communications Magazine 31 (8) (1993) 18–23. [8] E.J. Cameron, Y.-J. Lin, Real-time transition model for analyzing behavioral compatibility of telecommunications services, ACM Software Engineering Notes 16 (5) (1991) 101–111. [9] C. Chi, D. Wang, R. Hao, A framework on feature interactions in optical network protocols, in: D. Amyot, L. Logrippo (Eds.), Proc. 7th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2003, pp. 141–148. [10] A. Classen, Problem-oriented feature interaction detection in software product lines, in: L. du Bousquet, J.-L. Richier (Eds.), Proc. 9th Int. Conf. on Feature Interactions in Software and
[21]
[22] [23]
[24]
2397
Communications Systems, IOS Press, Amsterdam, Netherlands, 2008, pp. 203–206. G.R. Gangadharan, M. Weiss, B. Esfandiari, V. d’Andrea, A feature interaction view of license conflicts, in: L. du Bousquet, J.-L. Richier (Eds.), Proc. 9th Int. Conf. on Feature Interactions in Software and Communications Systems, IOS Press, Amsterdam, Netherlands, 2008, pp. 21–32. J.P. Gibson, E. Lallet, J.-L. Raffy, Feature interactions in a software product line for e-voting, in: M. Nakamura, S. Reiff-Marganiec (Eds.), Proc. 10th Int. Conf. on Feature Interactions in Software and Communications Systems, IOS Press, Amsterdam, Netherlands, 2009, pp. 91–106. S. Gorton, S. Reiff-Marganiec, Towards feature interactions in business processes, in: L. du Bousquet, J.-L. Richier (Eds.), Proc. 9th Int. Conf. on Feature Interactions in Software and Communications Systems, IOS Press, Amsterdam, Netherlands, 2008, pp. 99–113. R.J. Hall, Feature interactions in electronic mail, in: M.H. Calder, E.H. Magill (Eds.), Proc. 6th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2000, pp. 67–82. A.L. Juarez Dominguez, Detection of Feature Interactions in Automotive Active Safety Features, PhD thesis, University of Waterloo, Canada, November 2012. M. Kolberg, J.F. Buford, K. Dhara, X. Wu, V. Krishnaswamy, Feature interaction in a federated communications-enabled collaboration platform, Computer Networks, in this special issue. C. Maternaghan, K.J. Turner, Policy conflicts in home automation, Computer Networks, in this special issue. A. Metzger, C. Webel, Feature interaction detection in building control systems by means of a formal product model, in: D. Amyot, L. Logrippo (Eds.), Proc. 7th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2003, pp. 105–121. M. Nakamura, H. Igaki, K. Matsumoto, Feature interactions in integrated services of networked home appliances, in: S. ReiffMarganiec, M.D. Ryan (Eds.), Proc. 8th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2005, pp. 236–251. M. Nakamura, K. Ikegami, S. Matsumoto, Considering impacts and requirements for better understanding of environment interactions in home network services, Computer Networks, in this special issue. M.C. Plath, M.D. Ryan, Plug-and-play features, in: K. Kimbler, W. Bouma (Eds.), Proc. 5th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 1998, pp. 150–164. S. Reiff-Marganiec, K.J. Turner, Feature interaction in policies, Computer Networks 45 (5) (2004) 569–584. T.T. Tun, R. Laney, Y. Yu, B. Nuseibeh, Specifying software features for composition: a tool-supported approach, Computer Networks, in this special issue. M. Weiss, Feature interactions in web services, in: D. Amyot, L. Logrippo (Eds.), Proc. 7th Int. Conf. on Feature Interactions in Telecommunications and Software Systems, IOS Press, Amsterdam, Netherlands, 2003, pp. 149–156.
Ken Turner graduated in electrical engineering from the University of Glasgow in 1970. He was awarded a PhD from the University of Edinburgh in 1974 for his research on pattern recognition. Until 1986 he was employed by International Computers Ltd. as a data communications consultant. Since then, he has been a Full Professor of Computing Science at the University of Stirling. His research interests include home care systems, policy-based management, service-oriented computing and formal methods.
2398
Editorial / Computer Networks 57 (2013) 2395–2398
Evan Magill graduated in Electrical and Electronic Engineering from the University of Manchester in 1977. He was awarded a MSc in Digital Electronics from the University of Manchester in 1979, and was awarded a PhD from the University of Strathclyde in 1991 for his research in Telecommunications. Between 1979 and 1987 he was employed by British Aerospace, Bell Northern Research, and Northern Telecom. In 1990 he became a Lecturer and later a Senior Lecturer at the University of Strathclyde. In 2000 he became a Full Professor of Computing Science at the University of Stirling. His research interests include healthcare and homecare networks, feature interactions, wireless sensor networks, and virtual worlds.
Kenneth J. Turner Evan H. Magill Computing Science and Mathematics, University of Stirling, Stirling FK9 4LA, UK E-mail addresses:
[email protected] (K.J. Turner),
[email protected] (E.H. Magill)