Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

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

Published: 01 September 2014 Publication History

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.

References

[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]
Alanen M, Porres I (2003) Difference and union of models. TUCS technical report no 527, Turku Centre for Computer Science
[3]
Bass L, Clements P, Kazman R (1998) Software architecture in practice. ISBN: 0201199300. Addison Wesley Longman, Inc., New York
[4]
Behavior engineering web site, Behavior Engineering. http://www.beworld.org
[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]
Bohner SA, Arnold RS (1996) Software change impact analysis. IEEE Computer society Press Los Alamitos. ISBN 0818673842
[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}$$st international workshop on advances in model-based testing, pp 1---7
[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]
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]
Colvin R, Hayes IJ (2007) A semantics for behavior trees. ACCS technical report, no. ACCS-TR-07-01, ARC Centre for complex systems
[11]
Conklin J (1987) Hypertext: an introduction and survey. Computer, 17---41
[12]
Cooper L, Chung L (2005) Managing change in OTS-aware requirements engineering approach. ICSE-MPEC'05, pp 1---4
[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]
Dromey RG, Powell D (2005) Early requirements defects detection. TickIT, International, 4Q05, pp 3---13
[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]
Dromey RG (2006) Scaleable formalization of imperfect knowledge. In: 1st Asian working conference on verified software (AWCVS'06), Macau, pp 21---33
[17]
Dromey RG (2014) Engineering large-scale systems--mitigating the pivotal risks. IEEE Softw (submitted)
[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]
Gallagher KD, Lyle JR (1991) Using program slicing in software maintenance. IEEE Trans Softw Eng V17(8):751---761
[20]
Garg PK, Scacchi W (1990) A hypertext system to manage software life-cycle documents. IEEE Softw 7(3):90---98
[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]
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]
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]
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]
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]
Horowitz E, Williamson RC (1986) SODOS: a software documentation support environment--its definition. IEEE Trans Softw Eng SE-12(8):849---859
[27]
IEEE (1998) IEEE standard for software maintenance (IEEE Std 1219---1998)
[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]
Knuth DE (1997) The art of computer programming, fundamental algorithms, vol 1, 3rd edn. Addison Wesley Longman, Reading. ISBN 0201896834
[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]
Krell BE (1992) Developing with Ada: life cycle methods. Bantam Books, New York
[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]
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]
Lindvall M, Sandahl K (1996) Practical implications of traceability. Softw Pract Exp 26(10):1161---1180
[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]
Mens T (1999) A formal foundation for object-oriented software evolution. PhD. dissertation, Vrije University
[37]
Mills HD (1971) Top-down programming in large systems. In: Debugging techniques in large systems. Prentice-Hall, Englewood Cliffs. ISBN 0138221227
[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]
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]
Nejati S, Sabetzadeh M et al (2007) Matching and merging of statecharts specifications. In: 29th international conference on software engineering, pp 54---64
[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]
Potts C (1997) Requirements model in context. In: 3rd international symposium on requirements engineering (RE'97), pp 102---104
[43]
Rajlich V (1999) Software change and evolution, SOFSEM'99. LNCS 1725:189---202
[44]
Royce W (1998) Software project management, a unified framework. Addison Wesley Longman, Inc., Reading. ISBN 0201309580
[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]
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]
Schneider S (2001) The B-method--an introduction, Palgrave Editor. ISBN: 033379284X
[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]
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]
Shlaer S, Mellor SJ (1985) Structured development for real-time systems, vol 1---3. Yourdon Press, UK
[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]
Software case study of the satellite system (original requirement). http://www.beworld.org/BE/resource/casestudy/satellite/scsoreq.pdf
[53]
Software change case study site. http://www.beworld.org/BE/resource/casestudy/satellite/
[54]
Sommerville I (2011) Software engineering, 9th edn. Addison Wesley, Reading. ISBN:0137053460
[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]
Stafford JA, Wolf A (2001) Architecture-level dependence analysis for software systems. Int J Softw Eng Knowl Eng 11(4):431---453
[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]
Tracz W (July 1995) DSSA (domain-specific software architecture): pedagogical example. ACM SIGSOFT Softw Eng Notes 20(3):49---62
[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]
Yau SS, Colofello JS, MacGregor T (1978) Ripple effect analysis of software maintenance, COMPSAC, pp 60---65
[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]
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]
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]
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]
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]
Wieringa RJ (1996) Requirements engineering: frameworks for understand. Wiley, New York. ISBN: 0471958840
[67]
Winter K (2004) Formalising behavior trees with CSP. In: International conference on integrated formal, methods, IFM'04, pp 148---167
[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]
Zhao J, Yang H et al (2002) Change impact analysis to support architectural evolution. J Softw Maint Evol Res Pract 14:317---333
[70]
Zhao J (2002) Change impact analysis for aspect-oriented software evolution. In: International workshop on principles of software, evolution, pp 108---112

Cited By

View all

Recommendations

Reviews

Rosario Uceda-Sosa

The evolution and maintenance of software is a field where theory has always been ahead of practice. In particular, it's notoriously hard to introduce functional changes and document these in a way that guarantees the integrity of the system. This paper discusses a behavior engineering (BE) approach to definition, design, and documentation of functional changes, using as examples two real-life applications, a microwave oven and a satellite control system. BE is a formal approach that ultimately allows one to derive an implementation from a set of requirements. The behavior of the system is modeled through behavior trees, which function as finite state machines capturing the behavior associated with each component. One of the major challenges of behavior engineering is the documentation of changes and software evolution. While agile methods document the changes (and exchanges) by developers, this paper proposes a formalized approach, by modifying a design behavior tree (devDBT) with change requirements, called an evolutionary DBT. Practitioners interested in formal modeling of system behavior and change management will find this paper interesting, even though the cost and usability of the formalization of complex systems is still an open question. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image Innovations in Systems and Software Engineering
Innovations in Systems and Software Engineering  Volume 10, Issue 3
September 2014
78 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 September 2014

Author Tags

  1. Behavior Engineering
  2. Behavior Tree
  3. Requirements engineering
  4. Software change
  5. Software evolution
  6. Traceability analysis

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media