ABSTRACT
Systems assembled from independently developed features suffer from feature interactions, in which features affect one another's behaviour in surprising ways. The feature-interaction problem states that the number of potential interactions is exponential in the number of features in a system. Resolution strategies offer general strategies that resolve entire classes of interactions, thereby reducing the work of the developer who is charged with the task of resolving interactions. In this paper, we focus on resolving interactions due to conflict. We present an approach, language, and implementation based on resolution modules in which the developer can specify an appropriate resolution for each variable under conflict. We performed a case study involving 24 automotive features, and found that the number of resolutions to be specified was much smaller than the number of possible feature interactions (6 resolutions for 24 features), that what constitutes an appropriate resolution strategy is different for different variables, and that the subset of situation calculus we used was sufficient to construct nontrivial resolution strategies for six distinct output variables.
- E. Baroth and C. Hartsough. Visual object-oriented programming. chapter Visual Programming in the Real World, pages 21–42. Manning Publications Co., Greenwich, CT, USA, 1995. Google ScholarDigital Library
- D. Batory, J. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. IEEE Transactions on Software Engineering, 30(6):355–371, June 2004. Google ScholarDigital Library
- T. Bowen, C.-H. Chow, F. Dworak, N. Griffeth, and Y.-J. Lin. Views on the feature interaction problem. Technical Report Technical Memorandum TM-ARH-012849, Bellcore, Oct. 1988.Google Scholar
- T. Bowen, F. Dworack, C. Chow, N. Griffeth, G. Herman, and Y.-J. Lin. The feature interaction problem in telecommunications systems. In Proceedings of the 7th International Conference on Software Engineering for Telecommunication Switching Systems (SETSS), pages 59–62, 1989.Google Scholar
- M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec. Feature interaction: a critical review and considered forecast. Comput. Netw., 41(1):115–141, Jan. 2003. Google ScholarDigital Library
- E. Cameron, N. Griffeth, Y. Lin, and H. Velthuijsen. “Definitions of Services, Features, and Feature Interactions”, December 1992. Bellcore Memorandum for Discussion, presented at the International Workshop on Feature Interactions in Telecommunications Software Systems.Google Scholar
- A. Chavan, L. Yang, K. Ramachandran, and W. H. Leung. Resolving feature interaction with precedence lists in the feature language extensions. In Proceedings of the 9th International Conference on Feature Interactions (ICFI), pages 114–128, 2007.Google Scholar
- Y.-L. Chen and S. Lafortune. Resolving feature interactions using modular supervisory control with priorities. In Feature Interactions in Telecommunications Systems IV, pages 108–121. IOS Press, 1997.Google Scholar
- Y.-L. Chen, S. Lafortune, and F. Lin. Priority assignment algorithms for resolving blocking in modular control of discrete event systems. In Proceedings of the 35th IEEE Conference on Decision and Control, volume 3, pages 2743–2748, Dec 1996.Google Scholar
- A. C. W. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh. Inconsistency handling in multi-perspective specifications. IEEE Transactions on Software Engineering, 20(8):569–578, Aug 1994. Google ScholarDigital Library
- N. Fritsche. Runtime resolution of feature interactions in architectures with separated call and feature control. In Feature Interactions in Telecommunications Systems III, pages 43–63. IOS Press, 1995.Google Scholar
- N. Griffeth and H. Velthuijsen. The negotiating agents approach to runtime feature interaction resolution. In Feature Interactions in Telecommunications Systems, pages 217–235, 1994.Google Scholar
- D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231–274, June 1987. Google ScholarDigital Library
- J. Hay and J. Atlee. Composing features and resolving interactions. In ACM SIGSOFT Foundations of Software Engineering (FSE), pages 110–119, 2000. Google ScholarDigital Library
- C. L. Heitmeyer. Software cost reduction. Technical report, Naval Research Laboratory, 2002.Google Scholar
- S. Homayoon and H. Singh. Methods of addressing the interactions of intelligent network services with embedded switch services. IEEE Communications Magazine, 26(12):42–46, Dec 1988. Google ScholarDigital Library
- M. Jackson and P. Zave. Distributed feature composition: A virtual architecture for telecommunications services. IEEE Transactions on Software Engineering, 24(10):831–847, October 1998. Google ScholarDigital Library
- Y. Jia and J. Atlee. Run-time management of feature interactions. In ICSE Workshop on Component-Based Software Engineering (CBSE), 2003.Google Scholar
- W. M. Johnston, J. R. P. Hanna, and R. J. Millar. Advances in dataflow programming languages. ACM Comput. Surv., 36(1):1–34, Mar. 2004. Google ScholarDigital Library
- A. L. Juarez-Dominguez, N. A. Day, and J. J. Joyce. Modelling feature interactions in the automotive domain. In Proceedings of the 2008 International Workshop on Models in Software Engineering, MiSE ’08, pages 45–50, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- R. Laney, L. Barroca, M. Jackson, and B. Nuseibeh. Composing requirements using problem frames. In 12th IEEE International Proceedings of the Requirements Engineering Conference, pages 122–131, Sept 2004. Google ScholarDigital Library
- R. Laney, T. Tun, M. Jackson, and B. Nuseibeh. Composing features by managing inconsistent requirements. In Proceedings of the 9th International Conference on Feature Interactions (ICFI), pages 129–144, 2007.Google Scholar
- H. J. Levesque, R. Reiter, Y. Lespérance, F. Lin, and R. B. Scherl. GOLOG: A logic programming language for dynamic domains. Journal of Logic Programming, 31(1-3):59–84, 1997.Google ScholarCross Ref
- D. Marples and E. Magill. The use of rollback to prevent incorrect operation of features in intelligent network based systems. In Feature Interactions in Telecommunications Systems V, pages 115–134, 1998.Google Scholar
- J. McCarthy and P. J. Hayes. Some philosophical problems from the standpoint of artificial intelligence. In Machine Intelligence, pages 463–502. Edinburgh University Press, 1969.Google Scholar
- P. Shaker, J. Atlee, and S. Wang. A feature-oriented requirements modelling language. In Requirements Engineering Conference (RE), 2012 20th IEEE International, pages 151–160, Sept 2012. Google ScholarDigital Library
- S. Shapiro and Y. Lespérance. Modeling Multiagent Systems with CASL - A Feature Interaction Resolution Application. In C. Castelfranchi and Y. Lespérance, editors, Intelligent Agents VII Agent Theories Architectures and Languages, volume 1986 of Lecture Notes in Computer Science, pages 244–259. Springer Berlin Heidelberg, 2001. Google ScholarDigital Library
- SWI-Prolog. Swi-prolog {online}.Google Scholar
- U.S. National Highway Traffic Safety Administration. Safercar.gov {online}.Google Scholar
- D. Weiss and R. Lai. Software Product Line Engineering, A Family Based Development Process. Addison Wesley, 1999. Google ScholarDigital Library
- P. Zave. Requirements for evolving systems: A telecommunications perspective. In Proceedings of the 5th IEEE International Symposium on Requirements Engineering (RE), pages 2–9, 2001. Google ScholarDigital Library
- P. A. Zimmer and J. M. Atlee. Ordering features by category. Journal of Systems and Software, 85(8):1782–1800, Aug. 2012. Google ScholarDigital Library
Index Terms
- Variable-specific resolutions for feature interactions
Recommendations
Continuous variable-specific resolutions of feature interactions
ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software EngineeringSystems that are assembled from independently developed features suffer from feature interactions, in which features affect one another's behaviour in surprising ways. The Feature Interaction Problem results from trying to implement an appropriate ...
Composing features and resolving interactions
SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applicationsOne of the accepted techniques for developing and maintaining feature-rich applications is to treat each feature as a separate concern. However, most features are not separate concerns because they override and extend the same basic service. That is, “...
Composing features and resolving interactions
One of the accepted techniques for developing and maintaining feature-rich applications is to treat each feature as a separate concern. However, most features are not separate concerns because they override and extend the same basic service. That is, “...
Comments