Skip to main content
Log in

Structuring product family requirements for n-dimensional and hierarchical product lines

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

The software product-line approach (for software product families) is one of the success stories of software reuse. When applied, it can result in cost savings and increases in productivity. In addition, in safety-critical systems the approach has the potential for reuse of analysis and testing results, which can lead to a safer system. Nevertheless, there are times when it seems like a product family approach should work when, in fact, there are difficulties in properly defining the boundaries of the product family. In this paper, we draw on our experiences in applying the software product-line approach to a family of mobile robots, a family of flight guidance systems, and a family of cardiac pacemakers, as well as case studies done by others to (1) illustrate how domain structure can currently limit applicability of product-line approaches to certain domains and (2) demonstrate our progress towards a solution using a set-theoretic approach to reason about domains of what we call n-dimensional and hierarchical product families.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.
Fig. 10.
Fig. 11.

Similar content being viewed by others

Notes

  1. We would like to thank Steven P. Miller of Rockwell-Collins Inc. for this example.

References

  1. Parnas DL (1976) On the design and development of program families. IEEE Trans Softw Eng 2(1):1–9

    Google Scholar 

  2. Campbell G, O'Connor J, Mansour C, Turner-Harris J (1994) Reuse in command and control systems. IEEE Softw 11(5): 70–79

    Google Scholar 

  3. Campbell GH Jr, Faulk SR, Weiss DM (1990) Introduction to synthesis. Technical Report INTRO-SYNTHESIS-PROCESS-90019-N, Software Productivity Consortium, Herdon, VA

  4. Ardis MA, Weiss DM (1997) Defining families: the commonality analysis. In: 19th international conference on software engineering (ICSE'97), Boston, MA, pp 649–650

  5. Weiss DM, Lai CTR (1999) Software product line engineering: a family-based software development process. Addison-Wesley, Reading, MA

  6. Bentley JL (1986) Programming pearls: little languages. Commun ACM 29(8):711–721

    Google Scholar 

  7. Neighbors J (1984) The draco approach to constructing software from reusable components. IEEE Trans Softw Eng 10(5):564–574

    Google Scholar 

  8. Lam W (1997) Creating reusable architectures: initial experience report. ACM SIGSOFT Softw Eng Notes 22(4):39–43

  9. Lam W, McDermid JA, Vickers AJ (1997) Ten steps towards systematics requirements reuse. Requirements Eng 2(2):120–113

    Google Scholar 

  10. Batory D, O'Mally S (1992) The design and implementation of hierarchical software systems with reusable components. ACM Trans Softw Eng Methodol 1(4):355–398

    Google Scholar 

  11. Gomaa H. Reusable software requirements and architectures for families of systems. J Syst Softw 25(3):189–202

  12. Prieto-Diaz R (1990) Domain analysis: an introduction. ACM SIGSOFT Softw Eng Notes 15(2):47–54

  13. Weiss DM (1997) Defining families: the commonality analysis. Technical report, Lucent Technologies Bell Laboratories, Naperville, IL

  14. Lutz RR (2000) Extending the product family approach to support safe reuse. J Syst Softw 53:207–21

    Google Scholar 

  15. Kuusela J, Savolainen J (2000) Requirements engineering for product families. In: Proceedings of the 22nd international conference on software engineering (ICSE'00), Limerick, Ireland, June 2000, pp 60–68

  16. Brownsword L, Clements P (1996) A case study in successful product line development. Technical report CMU/SEI-96-TR-016. Software Engineering Institute, Carnegie Mellon University, October 1996

  17. Lane TG (1990) Studying software architecture through design spaces and rules. Technical report CMU/SEI-90-TR-18, Software Engineering Institute, Carnegie Mellon University, November 1990

  18. Baum L, Becker M, Geyer L, Molter G (2000) Mapping requirements to reusable components using design spaces. In: 4th international conference on requirements engineering (ICRE'00), Schaumburg, IL, June 2000

  19. Baum L, Geyer L, Molter G, Rothkugel S, Sturm P (1998) Architecture-centric software development based on extended design spaces. In: Development and evolution of software architectures for product families: 2nd international workshop on development and evolution of software architectures for product families (ARES), February 1998. Lecture notes in computer science, vol 1429. Springer, Berlin Heidelberg New York, pp 197–204

  20. Faulk SR (2001) Product-line requirements specification (PRS): an approach and case study. In: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering (RE'01), Toronto, Canada, August 2001, pp 48–55

  21. Miller SP (1998) Specifying the mode logic of a flight guidance system in CoRE and SCR. In: Proceedings of the 2nd workshop on formal methods in software practice, Clearwater Beach, FL, pp 44–53

  22. Erickson DM (2000) Structuring formal requirements specifications for reuse: a mobile robotics case study. Masters Project, University of Minnesota, April 2000

  23. Brooks RA (1986) A robust layered control system for a mobile robot. IEEE J Robotics Autom RA-2(1):14–23

    Google Scholar 

  24. ActivMedia. Makers of the Pioneer robot. http://www.activrobots.com/

  25. Thompson JM, Heimdahl MPE. Extending the product family approach to support n-dimensional and hierarchical product lines. In 5th IEEE international symposium on requirements engineering, Toronto, Canada, August 2001

Download references

Acknowledgements

The authors wish to thank Steven P. Miller at the Rockwell-Collins Advanced Technology Center for his thoughtful comments and encouragement with regard to this work as well as his insights into how the structuring techniques presented here might be applied to the systems manufactured by Rockwell-Collins, Inc. This work as been partially supported by NSF grants CCR-9624324 and CCR-9615088, by NASA grants NAG-1-2242 and NCC-01-001, and by the University of Minnesota Doctoral Dissertation Fellowship.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jeffrey M. Thompson.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Thompson, J.M., Heimdahl, M.P.E. Structuring product family requirements for n-dimensional and hierarchical product lines. Requirements Eng 8, 42–54 (2003). https://doi.org/10.1007/s00766-003-0166-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-003-0166-0

Keywords

Navigation