Skip to main content
Log in

Semantic decoupling: reducing the impact of requirement changes

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

Abstract

The continuous stream of requirements changes that often takes place during software development and can create major problems in the development process. This paper defines a concept we call semantic coupling that can be used during all the phases of a system specification and design to reduce the impact of changing requirements. Within the general framework of the intent specifications, traceability matrices representing the mappings between different abstraction levels are used to evaluate the sensitivity of a given design to requirement changes. The practicality of using the approach on real software is demonstrated using the specification of the control software for a NASA robot designed to service the heat-resistant tiles on the Space Shuttle.

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

Similar content being viewed by others

References

  1. Allen EB, Khosgoftaar TM, Chen Y (2001) Measuring coupling and complexity of software modules: an information theory approach. In: Seventh international software metrics symposium, p 124

  2. Aoki M (2001) Towards a comparative institutional analysis. MIT Press, Cambridge (Chap. 4)

    Google Scholar 

  3. Arisholm E, Briand L, Foyen A (2004) Dynamic coupling measurement for object-oriented software. IEEE Trans Softw Eng 30(8):491–506

    Article  Google Scholar 

  4. Baldwin CY, Clark KB (2000) Design rules, vol 1: the power of modularity. The MIT Press, Cambridge

    Google Scholar 

  5. Baldwin CY, Clark KB (2006) Modularity in the design of complex engineering systems. In: Minai A, Braha D, Yam YB (eds) Complex engineered systems: science meets technology. New England Complex Systems Institute Series on Complexity, NY

    Google Scholar 

  6. Cai Y, Sullivam KJ (2005) Simon: modeling and analysis of design space structures. In: Proceedings of the 20th IEEE/ACM international conference on automated software engineering, pp 329–332

  7. Dahlstedt AG, Persson A (2003) Requirements interdependencies-moulding the state of research into a research agenda. In: Ninth international workshop on requirements engineering: foundation for software quality (REFSQ ‘03)

  8. DePauw W, Kimmelman D et al (1997) Visualizing object-oriented software execution. In: Stasko J (ed) Software visualization. MIT Press, Cambridge, pp 329–367

    Google Scholar 

  9. Dick J (2002) Rich traceability. In: Proceedings of the 1st international workshop on traceability in emerging forms of software engineering, Edinburgh, Scotland, Sept 2002

  10. Dowling KR, Bennett R, Blackwell M, Graham T, Gatrall S, O’Toole R, Schempf H (1992) A mobile robot system for ground servicing operations on the space shuttle. Cooperative intelligent robotics in space III. In: Proceedings of the Meeting, Boston, MA, 16–18 November 1992 (A93-29101 10–54). Society of Photo-Optical Instrumentation Engineers, Bellingham, WA, pp 298–309

  11. Dulac N, Viguier T, Leveson N, M-A Storey (2002) On the use of visualization in formal requirements specification. International Conference on Requirements Engineering, Essen, Germany

  12. Eppinger S, Whitney D et al (1994) A model-base method for organizing tasks in product development. Res Eng Des 6:1–13

    Article  Google Scholar 

  13. Garud R, Kumaraswamy A (1995) Technological and organizational designs to achieve economics of substitution. Strateg Manag J 17:63–65

    Google Scholar 

  14. Glaser R, Chi MTH, Farr MJ (1988) The nature of expertise. Erlbaum, Hillsdale

    Google Scholar 

  15. Gotel O, Finkelstein A (1997) Extended requirements traceability: results of an industrial case study. In: Proceedings of third international symposium on requirements engineering (RE97). IEEE Computer Society Press, pp 169–178

  16. Jaffe MS (1988) Completeness, robustness, and safety in real-time software. PhD Dissertation, University of California, Irvine

  17. Kotonya G, Sommerville I (1998) Requirements engineering: processes and techniques. Wiley, New York

    Google Scholar 

  18. Leveson NG (1995) Safeware: system safety and computers. Addison-Wesley, Boston

    Google Scholar 

  19. Leveson NG (2000) Intent specifications: an approach to building human-centered specifications. IEEE Trans Softw Eng 26(1):15–35

    Google Scholar 

  20. Leveson NG (2000) Completeness in formal specification language design for process-control systems. ACM Formal Methods in Software Practice, Portland

  21. Leveson NG, Reese JD (1994) TCAS II intent specification. http://sunnyday.mit.edu/papers/intent.pdf

  22. Leveson NG (2004) A new accident model for engineering safer systems. Saf Sci 42(4):237–270

    Article  Google Scholar 

  23. Lopes CV, Bajracharya SK (2005) An analysis of modularity in aspect oriented design. In: 4th international conference on aspect-oriented software development. New York, NY, USA, pp 15–26

  24. MacCormack A, Rusnak J, Baldwin C (2004) Exploring the structure of complex software designs: an empirical study of open source and proprietary code. Harvard Business School Working Paper Number 05-016

  25. Marcus A, Maletic J (2003) Recovering documentation-to-source-code traceability links using latent semantic indexing. International Conference on Software Engineering (ICSE)

  26. Myers GJ (1975) Reliable software through composite design. Petrocelli/Charter, New York

    Google Scholar 

  27. Myers GJ (1978) Composite/structured design. Van Nostrand Reinhold Company, New York

    Google Scholar 

  28. Offutt J, Harrold MJ, Kolte P (1993) A software metric system for module coupling. J Syst Softw 20(3):295–308

    Article  Google Scholar 

  29. Owens BD, Herring MS, Dulac N, Leveson N, Ingham M, Weiss KA (2008) Application of a safety-driven design methodology to an outer planet exploration mission. IEEE Aerospace Conference, Big Sky, Montana, March 2008

  30. Parnas DL (1972) On the criteria to be used in decomposing system into modules. Commun ACM 15(12):1053–1058

    Article  Google Scholar 

  31. Pohl K (1996) Process-centered requirements engineering. Wiley, New York

    Google Scholar 

  32. Pimmler TU, Eppinger S (1994) Integration analysis of product decompositions. In: Proceedings of the ASME DETC design theory and methodology conference. Minneapolis

  33. Rasmussen J (1985) The role of hierarchical knowledge representation in decision making and system management. IEEE Trans Syst Man Cybern 15(2):234–243

    Google Scholar 

  34. Rotenstreich S (1994) Toward measuring potential coupling. Softw Eng J 9(2):83–90

    Article  Google Scholar 

  35. Sangal N, Jordan E, Sinha V, and Jackson D (2005) Using dependency models to manage complex software architecture. In: Proceedings of the 20th annual ACM SIGPLAN conference on object oriented programming, systems, languages, and applications, pp 167–176

  36. Smith RP, Eppinger S (1997) Identifying controlling features of engineering design iteration. Manage Sci 43(3):276–293

    Google Scholar 

  37. Stevens WP, Myers GJ, Constantine LL (1974) Structured design. IBM Syst J 13(2):115–139

  38. Steward DV (1981) The design structure system: a method for managing the design of complex systems. IEEE Trans Eng Manage 28(3):71–74

    Google Scholar 

  39. Sullivan K, Cai Y, Hallen B, Griswold WG (2001) The structure and value of modularity in software design. SIGSOFT Softw Eng Notes 26(5):99–108

    Article  Google Scholar 

  40. Sullivan K, Griswold W, Song Y et al (2005) Information hiding interfaces for aspect-oriented design. In: ESEC/FSE ‘05, September

  41. Vicente KJ, Christoffersen K, Pereklit A (1995) Supporting operator problem solving through ecological interface design. IEEE Trans Syst Man Cybern 25(4):529–545

    Article  Google Scholar 

  42. Wilkie FG, Kitchenham BA (2000) Coupling measures and change ripples in C++ application software. J Syst Softw 52(2–3):157–164

    Article  Google Scholar 

  43. Yourdon E, Constantine L (1979) Structured design. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nancy Leveson.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Navarro, I., Leveson, N. & Lunqvist, K. Semantic decoupling: reducing the impact of requirement changes. Requirements Eng 15, 419–437 (2010). https://doi.org/10.1007/s00766-010-0109-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-010-0109-5

Keywords

Navigation