Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Formalizing the transition from requirements’ change to design change using an evolutionary traceability model

  • 363 Accesses

  • 1 Citations

Abstract

The ideal outcome when responding to changes in the functional requirements of a system is that we can quickly determine (1) where to make the change, (2) how the change affects the architecture of the existing system, (3) which components of the system are affected by the change, and (4) what behavioral changes will need to be made to the components (and their interfaces) that are affected by the change of requirements. If these facts are known, the impact of the change is entirely understood and therefore manageable. Moreover, a system is likely to undergo multiple changes over the course of its service life, so there is also a need to make a comprehensive record of these changes thus preserving the integrity of the system and potentially extending its service life. To this worthy end, a traceability model using Behavior Trees as a formal notation to represent functional requirements is proposed. This will address the issues cited above, revealing change impacts on different types of design constructs (documents) caused by the changes to the requirements. The proposed model introduces the concept of evolutionary design documents that record the change history of the designs. From these documents, any version of a design document as well as the difference between any two versions can be reviewed, thus affording the desirable condition of full traceability. An important advantage of this model is that the major part of the procedure to generate these evolutionary design documents can be supported by automated tools making the method accessible for use in large-scale software and systems development projects.

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

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Notes

  1. 1.

    A disjoint union is a modified union operation which indexes the elements according to their origin sets.

  2. 2.

    A function \(f\): X \(\rightarrow \) Y is surjective if and only if for every \(y\) in the codomain \(Y\) there is at least one \(x\) in the domain \(X\) such that \(f(x) = y\).

References

  1. 1.

    Abi-Antoun M, Aldrich J et al (2006) Differencing and merging of architectural views. In: Proceedings of the 21st IEEE/ACM international conference on automated software engineering, pp 47–58

  2. 2.

    Alanen M, Porres I (2003) Difference and union of models. TUCS technical report no 527, Turku Centre for Computer Science

  3. 3.

    Bass L, Clements P, Kazman R (1998) Software architecture in practice. ISBN: 0201199300. Addison Wesley Longman, Inc., New York

  4. 4.

    Behavior engineering web site, Behavior Engineering. http://www.beworld.org

  5. 5.

    Bennett K, Rajlich V (2000) Software maintenance and evolution: a roadmap. In: Finkelstein A (ed) The future of software engineering. ACM Press, New York

  6. 6.

    Bohner SA, Arnold RS (1996) Software change impact analysis. IEEE Computer society Press Los Alamitos. ISBN 0818673842

  7. 7.

    Bouquet F, Jaffuel E, Legeard B, Peureux F, Utting M (2005) Requirements traceability in automated test generation application to smart card software validation. In: Proceedings of the 1\(^{st}\) international workshop on advances in model-based testing, pp 1–7

  8. 8.

    Bratthall L, Johansson E, Regnell B (2000) Is a design rationale vital when predicting change impact? A controlled experiment on software architecture evolution. In: PROFES 2000—second international conference on product focused software process improvement, Oulo, Finland, pp 126–139

  9. 9.

    Chapin N, Hale JE, Khan KM, Ramil TW (2001) Types of software evolution and software maintenance. J Softw Maint Evol Res Pract 13:3–30

  10. 10.

    Colvin R, Hayes IJ (2007) A semantics for behavior trees. ACCS technical report, no. ACCS-TR-07-01, ARC Centre for complex systems

  11. 11.

    Conklin J (1987) Hypertext: an introduction and survey. Computer, 17–41

  12. 12.

    Cooper L, Chung L (2005) Managing change in OTS-aware requirements engineering approach. ICSE-MPEC’05, pp 1–4

  13. 13.

    Dromey RG (2003) From requirements to design: formalising the key steps (Invited Keynote Address). In: IEEE international conference on software engineering and formal methods, SEFM’2003, Brisbane, pp 2–11

  14. 14.

    Dromey RG, Powell D (2005) Early requirements defects detection. TickIT, International, 4Q05, pp 3–13

  15. 15.

    Dromey RG (2006) Formalizing the transition from requirements to design. In: Liu Z, He J (eds) Mathematical frameworks for component software, models for analysis and synthesis, Chap 6. World Scientific, Singapore, pp 173–206. ISBN 981-270-017-X

  16. 16.

    Dromey RG (2006) Scaleable formalization of imperfect knowledge. In: 1st Asian working conference on verified software (AWCVS’06), Macau, pp 21–33

  17. 17.

    Dromey RG (2014) Engineering large-scale systems—mitigating the pivotal risks. IEEE Softw (submitted)

  18. 18.

    Förtsch S, Westfechtel B (2007) Differencing and merging of software diagrams - state of the art and challenges. In: Proc. second intl. conf. software and data technologies (ICSOFT 2007), vol SE, Barcelona, Spain, 22–25 July 2007. INSTICC Press, Barcelona

  19. 19.

    Gallagher KD, Lyle JR (1991) Using program slicing in software maintenance. IEEE Trans Softw Eng V17(8):751–761

  20. 20.

    Garg PK, Scacchi W (1990) A hypertext system to manage software life-cycle documents. IEEE Softw 7(3):90–98

  21. 21.

    Gonzalez-Perez C, Henderson-Sellers B, Dromey G (2005) A metamodel for the behavior trees modelling technique. In: Third international conference on information technology and applications, ICITA 05:35–39

  22. 22.

    Grunske L, Lindsay P, Yatapanage N, Winter K (2005) An automated failure mode and effect analysis based on high-level design specification with behavior trees. In: The fifth international conference on integrated formal, methods (IFM’05), pp 129–149

  23. 23.

    Grunske L, Geiger L, Lawley M (2005) A graphical specification of model transformations with triple graph grammars. In: First European conference model driven architecture - foundations and applications, ECMDA-FA 2005, Nuremberg, Germany, 7–10 November 2005. Lecture notes in computer science, vol 3748, pp 284–298

  24. 24.

    Grunske L, Winter K, Colvin R (2007) Timed behavior trees and their application to verifying real-time systems. In: Proc. of 18th Australian conference on software engineering (ASWEC 2007), pp 211–222

  25. 25.

    Harjani DR, Queille JP (1992) A process model for the maintenance of large space systems software. In: Proceedings of conference on software maintenance. IEEE Computer Society Press, Los Alamitos, pp 127–136

  26. 26.

    Horowitz E, Williamson RC (1986) SODOS: a software documentation support environment—its definition. IEEE Trans Softw Eng SE-12(8):849–859

  27. 27.

    IEEE (1998) IEEE standard for software maintenance (IEEE Std 1219–1998)

  28. 28.

    Kitchenham BA, Travassos GH, Mayrhauser Av, Niessink F, Schneidewind NF, Singer J, Takada S, Vehvilainen R, Yang H (1999) Toward an ontology of software maintenance. J Softw Maint 11(6):365–389

  29. 29.

    Knuth DE (1997) The art of computer programming, fundamental algorithms, vol 1, 3rd edn. Addison Wesley Longman, Reading. ISBN 0201896834

  30. 30.

    Kolovos DS, Ruscio DD, Pierantonio A, Paige RF (2009) Different models for model matching: an analysis of approaches to support model differencing. In: Proc. 2009 ICSE workshop on comparison and versioning of software models, May 17, 2009. Vancouver, IEEE, USA

  31. 31.

    Krell BE (1992) Developing with Ada: life cycle methods. Bantam Books, New York

  32. 32.

    Lehman MM, Ramil J, Wernick P, Perry DE, Turski WM (1997) Metrics and laws of software evolution—the nineties view. In: Proceedings 4th international symposium on software metrics, pp 20–32

  33. 33.

    Lin K, Chen D, Sun C, Dromey RG (2005) Maintaining constraints in collaborative graphic systems: the CoGSE approach. In: 9th European conference on CSCW, Paris, France, pp 185–204

  34. 34.

    Lindvall M, Sandahl K (1996) Practical implications of traceability. Softw Pract Exp 26(10):1161–1180

  35. 35.

    Luckham DC, Kenney JJ, Ausgusin LM, Vera J, Bryan D, Mann W (1995) Specification and analysis of system architecture using rapide. IEEE Trans Softw Eng 21(4):336–355

  36. 36.

    Mens T (1999) A formal foundation for object-oriented software evolution. PhD. dissertation, Vrije University

  37. 37.

    Mills HD (1971) Top-down programming in large systems. In: Debugging techniques in large systems. Prentice-Hall, Englewood Cliffs. ISBN 0138221227

  38. 38.

    Myers T et al (2008) Seamlessly integrating software & hardware modeling for large-scale systems. In: 2nd international workshop on equation-based object-oriented languages and tools. Paphos, Cyprus

  39. 39.

    Naumovich G, Avrunin GS, Clarke LA, Osterweil LJ (1997) Applying static analysis to software architecture. In: Proceedings of the 6th European, software engineering conference, pp 77– 93

  40. 40.

    Nejati S, Sabetzadeh M et al (2007) Matching and merging of statecharts specifications. In: 29th international conference on software engineering, pp 54–64

  41. 41.

    Nuseibeh B, Easterbrook S (2000) Requirement engineering: a roadmap. Finkelstein A (ed) The future of software engineering. ACM Press, New York, pp 1–4

  42. 42.

    Potts C (1997) Requirements model in context. In: 3rd international symposium on requirements engineering (RE’97), pp 102–104

  43. 43.

    Rajlich V (1999) Software change and evolution, SOFSEM’99. LNCS 1725:189–202

  44. 44.

    Royce W (1998) Software project management, a unified framework. Addison Wesley Longman, Inc., Reading. ISBN 0201309580

  45. 45.

    Saaltink M (1997) The Z/EVES system. In: 19th International conference on the Z formal method (ZUM), vol 1212. LNCS, Reading, pp 72–88

  46. 46.

    Sabetzadeh M, Easterbrook S (2005) An algebraic framework for merging incomplete and inconsistent views. In: Proceedings of 13th IEEE international conference on requirements engineering, pp 306–318

  47. 47.

    Schneider S (2001) The B-method—an introduction, Palgrave Editor. ISBN: 033379284X

  48. 48.

    Selonen P (2007) A review of UML model comparison techniques. In: Proc. 5th Nordic workshop on model driven engineering, 27–29 August 2007, Ronneby, Sweden, pp 37–51 (Research report, U. Göteborg)

  49. 49.

    Shaw M, DeLine R et al (1995) Abstractions for software architecture and tools to support them. IEEE Trans Softw Eng 21(4):314–335

  50. 50.

    Shlaer S, Mellor SJ (1985) Structured development for real-time systems, vol 1–3. Yourdon Press, UK

  51. 51.

    Smith C, Winter K, Hayes I, Dromey RG, Lindsay P, Carrington D (2004) An environment for building a system out of its requirements. In: Proceedings of the 19th IEEE international conference on automated software engineering, pp 398–399

  52. 52.

    Software case study of the satellite system (original requirement). http://www.beworld.org/BE/resource/casestudy/satellite/scsoreq.pdf

  53. 53.

    Software change case study site. http://www.beworld.org/BE/resource/casestudy/satellite/

  54. 54.

    Sommerville I (2011) Software engineering, 9th edn. Addison Wesley, Reading. ISBN:0137053460

  55. 55.

    Swaina RK et al (2012) Test case design using slicing of UML interaction diagram. In: 2nd international conference on communication, computing & security, vol 6, pp 136–144

  56. 56.

    Stafford JA, Wolf A (2001) Architecture-level dependence analysis for software systems. Int J Softw Eng Knowl Eng 11(4):431–453

  57. 57.

    Sun C et al (1998) Achieving convergence, causality-preservation, and intention-preservation in real-time cooperative editing systems. ACM Trans Comput Hum Interact 5(1):63–108

  58. 58.

    Tracz W (July 1995) DSSA (domain-specific software architecture): pedagogical example. ACM SIGSOFT Softw Eng Notes 20(3):49–62

  59. 59.

    Tuffley D, Rout T (2009) Applying behavior engineering to process modeling. In: Proceedings of the 1st improving systems and software engineering conference (ISSEC). National Convention Centre, Canberra, 10–12 August 2009

  60. 60.

    Yau SS, Colofello JS, MacGregor T (1978) Ripple effect analysis of software maintenance, COMPSAC, pp 60–65

  61. 61.

    Wen L, Dromey RG (2006) Architecture normalization for component-based systems. In: Electronic notes in theoretical computer science, vol 160. Elsevier BV, Radarweg 29, 1043 NX Amsterdam. Netherlands, pp 335–348

  62. 62.

    Wen L, Dromey RG (2004) From requirements change to design change: a formal path. In: Proceedings of the 2nd IEEE international conference on software engineering and formal, methods, pp 104–113

  63. 63.

    Wen L, Colvin R et al (2007) Integrare’, a collaborative environment for behavior-oriented design. In: Proceedings of the 4th international conference on cooperative design, visualization and engineering (CDVE)

  64. 64.

    Wen L, Kirk D, Dromey G (2007) A tool to visualize behavior and design evolution. Foundations of software engineering. In: 9th international workshop on principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting, pp 114–115

  65. 65.

    Wen L, Dromey RG (2009) A hierarchical architecture for modeling complex software intensive systems using behavior trees. In: Proceedings of the 9th Asia–Pacific complex systems conference, pp 292–299

  66. 66.

    Wieringa RJ (1996) Requirements engineering: frameworks for understand. Wiley, New York. ISBN: 0471958840

  67. 67.

    Winter K (2004) Formalising behavior trees with CSP. In: International conference on integrated formal, methods, IFM’04, pp 148–167

  68. 68.

    Zafar S, Dromey RG (2005) Integrating safety and security requirements into design of an embedded system. Asia-Pacific, software engineering conference (APSEC’05), pp 629–636

  69. 69.

    Zhao J, Yang H et al (2002) Change impact analysis to support architectural evolution. J Softw Maint Evol Res Pract 14:317–333

  70. 70.

    Zhao J (2002) Change impact analysis for aspect-oriented software evolution. In: International workshop on principles of software, evolution, pp 108–112

Download references

Acknowledgments

The authors would like to acknowledge the Australian Research Council (ARC) Centre for Complex Systems for its support of this work. The authors would also like to thank Associate Professor Alan Liew for his review of this paper. Special Notice: During the preparation of this paper, the third named author R. Geoff Dromey passed away.

Author information

Correspondence to Lian Wen.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Wen, L., Tuffley, D. & Dromey, R.G. Formalizing the transition from requirements’ change to design change using an evolutionary traceability model. Innovations Syst Softw Eng 10, 181–202 (2014). https://doi.org/10.1007/s11334-014-0230-6

Download citation

Keywords

  • Software change
  • Behavior Tree
  • Behavior Engineering
  • Traceability analysis
  • Software evolution
  • Requirements engineering