Change Patterns : Co-evolving Requirements and Architecture

Emerging classes of systems are more and more subject to changes in their requirements and environment assumptions. Such changes have a far-reaching impact across several artifacts. This paper argues that patterns of co-evolution (or change patterns) can be observed between “privileged” pairs of artifacts, like the requirements specification and the architectural design. The paper introduces change patterns as a precise framework to systematically capture and handle change. The approach is based on model-driven engineering concepts and is accompanied by a tool-supported process. Changing trust assumptions are presented as an example of security-related evolution, and are used to illustrate the approach.

[1]  Jean Bézivin,et al.  Model Driven Engineering: An Emerging Technical Space , 2005, GTTSE.

[2]  Lois M. L. Delcambre,et al.  Change cases: use cases that identify future requirements , 1996, OOPSLA '96.

[3]  Maritta Heisel,et al.  Pattern-Based Exploration of Design Alternatives for the Evolution of Software Architectures , 2007, Int. J. Cooperative Inf. Syst..

[4]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[5]  Bernhard Rumpe,et al.  Evolving Software Architecture Descriptions of Critical Systems , 2010, Computer.

[6]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[7]  Neil A. Ernst,et al.  Requirements Evolution and What (Research) to Do about It , 2009 .

[8]  Eric S. K. Yu,et al.  Dealing with change: An approach using non-functional requirements , 2005, Requirements Engineering.

[9]  Bashar Nuseibeh,et al.  Security Requirements Engineering for Evolving Software Systems: A Survey , 2010, Int. J. Secur. Softw. Eng..

[10]  Fabio Massacci,et al.  Security and Trust Requirements Engineering , 2005, FOSAD.

[11]  Ákos Horváth,et al.  Incremental Model Queries over EMF Models ? , 2010 .

[12]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[13]  Olivier Barais,et al.  Software Architecture Evolution , 2008, Software Evolution.

[14]  Jun Han,et al.  Supporting impact analysis and change propagation in software engineering environments , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[15]  Fabio Massacci,et al.  How to integrate legal requirements into a requirements engineering methodology for the development of security and privacy patterns , 2009, Artificial Intelligence and Law.

[16]  Bradley R. Schmerl,et al.  Evolution styles: Foundations and tool support for software architecture evolution , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.