Abstract
Reengineering a legacy product line has been addressed very little by current product line research activities. This paper introduces a method to investigate feature dependencies and interactions, which restricts the variants that can be derived from the legacy product line assets. Reorganizing the product line assets with respect to new requirements requires more knowledge than what is easily provided by the classical feature-modeling approaches. Hence, adding all the feature dependencies and interactions into the feature tree results in unreadable and unmanageable feature models that fail to achieve their original goals.
We therefore propose two complementary views to represent the feature model. One view shows the hierarchical refinement of features similar to common feature-modeling approaches in a feature tree. The second view describes what kind of dependencies and interactions there are between various features.
We show two examples of feature dependencies and interactions in the context of an engine-control software product line, and we demonstrate how our approach helps to define correct product configurations from product line variants.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Reuse-driven software processes guidebook. Technical Report Version 02.00.05, Software Productivity Consortium, November 1993.
M. Ardis and D. Weiss. Defining families: The commonality analysis. In International Conference on Software Engineering ICSE1997, pages 649–650. IEEE, 1997.
D. Batory, L. Goglianese, and M. Goodwin. Creating reference architectures: An example for avonics. In Proceedings of the Symposium of Software Reuse, pages 27–37. ACM, 1995.
J. Bayer, O. Flege, P. Knauber, R. Laqua, D. Methig, K. Schmid, T. Widen, and J. De-Baud. PuLSE: A methodology to develop software product lines. In Symposium on Software Reusability (SSR’99), pages 122–131, 1999.
Paul Clements, Rick Kazman, and Mark Klein. Evaluating Software Architectures: Methods and Case Studies. SEI Series in Software Engineering. Addison-Wesley, Reading, MA, 2001.
Paul Clements and Linda Northrop. Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading, MA, 2001.
S. Cohen, J. Stanley, W. Peterson, and R. Krut. Application of feature-oriented domain analysis to the army movement control domain. Technical Report CMU/SEI-91-TR-028, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, June 1992.
K. Czarnecki and U. Eisenecker. Generative Programming — Methods Tools and Applications. Addison-Wesley, Reading, MA, 2000.
James C. Dager. Cummin’s experience in developing a software product line architecture for real-time embedded diesel engine controls. In Patrick Donohoe, editor, Software Product Lines: Experience and Research Directions, pages 23–45. Kluwer Academic Publishers, Boston, 2000.
Alan Michael Davis. Software requirements: Analysis & specification. Prentice-Hall, Englewood Cliffs, NJ, 1990.
S. Easterbrook and B. Nuseibeh. Using viewpoints for inconsistency management. BCS/IEE Software Engineering Journal, pages 31–43, January 1996.
A. Finkelstein, J. Kramer, B. Nuseibeh, L. Finkelstein, and M. Goedicke. Viewpoints: A framework for integrating multiple perspectives in system development. International Journal of Software Engineering and Knowledge Engineering, pages 31–58, March 1992.
J. Gerhardt, H. Hönninger, and H. Bischof. A new approach to functional and software structure for engine management systems — BOSCH ME7. In SAE International Congress and Exposition, Session: Electronic Engine Controls, Detroit, MI, (February, 1998), pages 1–12, Warrendale, PA, 1998. Society of Automotive Engineers (SAE).
Jurgen Gerhardt. ME-motronic engine management. In Gasoline-engine management, pages 306–359. Robert Bosch GmbH, Stuttgart, Germany, 1999.
M. Griss, J. Favaro, and Md’Alessandro. Integrating feature modeling with the RSEB. In Proceedings of Fifth International Conference on Software Reuse, pages 76–85. IEEE, 1998.
A. Hein, J. MacGregor, and S. Thiel. Configuring software product line features. In Workshop on Feature Interaction in Composed Systems 15th European Conference on Object-Oriented Programming (ECOOP 2001), Budapest, Hungary (June 18–22, 2001), 2001.
A. Hein, M. Schlick, and R. Vinga-Martins. Applying feature models in industrial setting. In P. Donohoe, editor, Software Product Lines — Experience and Research Directions, pages 47–70. Kluwer Academic Publishers, Boston, 2000.
A. Hunter and B. Nuseibeh. Managing inconsistent specifications: Reasoning analysis and action. ACM Transactions on Software Engineering and Methodology, pages 335–367, October 1998.
K. Kang, S. Cohen, J. Hess, W. Novak, and S Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-021, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 1990.
B. Keepance and M. Mannion. Using patterns to model variability in product families. IEEE Software, pages 102–108, July/August 1999.
M. Klein, R. Kazman, L. Bass, J. Carriere, M. Barbacci, and H. Lipson. Attribute-based architecture styles. In Patrick Donohoe, editor, Software Architecture, volume 140 of International Federation for Information Processing, pages 225–243. Kluwer Academic Publishers, Boston, 1999.
J. Kuusela and J. Savolainen. Requirements engineering for product lines. In International Conference on Software Engineering (ICSE2000), pages 61–69, 2000.
K. Lee, K. Kang, W. Chae, and B. Choi. Feature-based appraoch to object-oriented engineering of applications for reuse. Software Practise and Experience, pages 1025–1046, 30 2000.
Louise Lorentsen, Antti-Pekka Tuovinen, and Jianli Xu. Experiences in modelling feature interactions with coloured petri nets. In Tibor Gyimothy, editor, Proceedings of Seventh Symposium on Programming Languages and Software Tools SPLST 2001, pages 221–230. University of Szeged, 2001.
Louise Lorentsen, Antti-Pekka Tuovinen, and Jianli Xu. Modelling feature interaction patterns in nokia mobile phones using coloured petri nets and Design/CPN. In Proceedings of Third Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, CPN’01, Aarhus, Denmark, August 29–3, 2001.
N. Nuseibeh, J. Kramer, and A. Finkelstein. A framework for expressing the relationships between multiple views in requirement specification. IEEE Transactions on Software Engineering, pages 760–773, October 1994.
Michael Schlick and Andreas Hein. Knowledge engineering in software product lines. In European Conference on Artificial Intelligence (ECAI2000), Workshop on Knowledge-Based Systems for Model-Based Engineering, Berlin, Germany (August 22nd, 2000), 2000.
STARS. Organization domain modeling (ODM) guidebook, version 2.0. Technical Report STARS-VC-A025/001/00, Software Technology for Adaptable, Reliable Systems (STARS), June 1996.
Steffen Thiel, Stefan Ferber, Thomas Fischer, Andreas Hein, and Michael Schlick. A case study in applying a product line approach for car periphery supervision systems. In In-Vehicle Software 2001, SAE 2001 World Congress, March 5–8, 2001, Cobo Center, Detroit, Michigan, volume SP-1587, pages 43–55, Warrendale, PA, 2001. Society of Automotive Engineers (SAE).
A. D. Vici, N. Argentieri, A. Mansour, M. d’Alessandro, and J. Favaro. FODAcom: An experience with domain analysis in the italian telecom industry. In Proceedings of the Fifth International Conference on Software Reuse, pages 166–175, Los Alamitos, CA, 1998. IEEE Computer Society Press.
Jens Weber and Karlheinz Topp. Information technology — a challenge for automotive electronics. In Embedded Software Session (PC34), SAE 2001 World Congress, March 5–8, 2001, Cobo Center, Detroit, Michigan, number 2001-01-0029, Warrendale, PA, 2001. Society of Automotive Engineers (SAE).
D. Weiss and R. Lai. Software Product-Line Engineering — A Family-Based Software Development Process. Addison-Wesley, Reading, MA, 1999.
P. Zave. Feature interactions and formal specification in telecommunications. IEEE Computer, pages 20–29, August 1993.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ferber, S., Haag, J., Savolainen, J. (2002). Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line. In: Chastek, G.J. (eds) Software Product Lines. SPLC 2002. Lecture Notes in Computer Science, vol 2379. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45652-X_15
Download citation
DOI: https://doi.org/10.1007/3-540-45652-X_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43985-1
Online ISBN: 978-3-540-45652-0
eBook Packages: Springer Book Archive