Software and Systems Modeling vol:13 issue:2 pages:625-648
Change, such as in the requirements or the assumptions of a system, has a far-reaching impact across several software artifacts. This paper argues that patterns of co-evolution (or change patterns) can be observed between intertwined 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. The approach is empirically validated by means of a controlled experiment involving 12 subjects, and a case study involving an industrial partner.