Skip to main content
Log in

Change patterns

Co-evolving requirements and architecture

  • Theme Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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.

Institutional subscriptions

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

Similar content being viewed by others

Notes

  1. This name refers to the anticipated change, and is used interchangeably with the situation after change.

  2. By default, the different arguments of a pattern in VIATRA are bound injectively, i.e., always mapped to distinct elements, unless the pattern is declared using the ‘shareable’ keyword.

  3. The material for replicating this experiment can be found on the change patterns website [38].

References

  1. Barais, O., Le Meur, A.-F., Duchien, L., Lawall, J.L.: Software architecture evolution. In: Mens, T., Demeyer, S. (eds.) Software Evolution, pp. 262. Springer, Berlin (2008)

  2. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Boston (2003)

  3. Bergmann, G., Horváth, Á., Ráth, I., Varró, D., Balogh, A., Balogh, Z., Ökrös, A.: Incremental evaluation of model queries over emf models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) International Conference on Model Driven Engineering Languages and Systems (MODELS 2010), Norway. Lecture Notes in Computer Science, vol. 6394, pp. 76–90. Springer, Berlin (2010)

  4. Bézivin, J.: Model driven engineering: an emerging technical space. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) International Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2005), Portugal. Lecture Notes in Computer Science, vol. 4143, pp. 36–64. Springer, Berlin (2006)

  5. Carver, J., Jaccheri, L., Morasca, S.: A checklist for integrating student empirical studies with research and teaching goals. Empir. Softw. Eng. 15(1), 35–59 (2010)

    Article  Google Scholar 

  6. Chung, L., Nixon, B.A., Yu, E.S.K.: Dealing with change: An approach using non-functional requirements. Requir. Eng. 1(4), 238–260 (1996)

    Article  Google Scholar 

  7. Compagna, L., Khoury, P.E., Krausová, A., Massacci, F., Zannone, N.: How to integrate legal requirements into a requirements engineering methodology for the development of security and privacy patterns. Artif. Intell. Law 17(1), 1–30 (2009)

    Article  Google Scholar 

  8. Côté, I., Heisel, M., Wentzlaff, I.: Pattern-based exploration of design alternatives for the evolution of software architectures. Int. J. Coop. Inf. Syst. 16(3/4), 341–365 (2007)

    Article  Google Scholar 

  9. Ecklund, E.F., Delcambre, L.M.L., Freiling, M.J.: Change cases: Use cases that identify future requirements. In: Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA 1996). ACM SIGPLAN Notices, vol. 31, pp. 342–358. ACM, New York (1996)

  10. Eclipse UML2 Project. http://www.eclipse.org/uml2

  11. Ernst, N.A., Mylopoulos, J., Wang, Y.: Requirements evolution and what (research) to do about it. In: Lyytinen, K., Loucopoulos, P., Mylopoulos, J., Robinson, B., Aalst, W., Mylopoulos, J. Rosemann, M., Shaw, M.J., Szyperski, C. (eds.) Design Requirements Engineering: A Ten-Year Perspective. Lecture Notes in Business Information Processing, vol. 14, pp. 186–214. Springer, Berlin (2009)

  12. European Commission. Seventh Framework Programme, FP7 ICT CALL 3: Objective ICT-2007.8.6: FET Proactive 6.

  13. Garlan, D., Barnes, J.M., Schmerl, B.R., Celiku, O.: Evolution styles: foundations and tool support for software architecture evolution. In: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture (WICSA/ECSA 2009), pp. 131–140. IEEE Computer Society, New York (2009)

  14. Garlan, D., Schmerl, B.R.: Ævol: A tool for defining and planning architecture evolution. In: International Conference on Software Engineering (ICSE 2009), pp. 591–594. IEEE Computer Society, New York (2009)

  15. Giorgini, P., Massacci, F., Zannone, N.: Security and trust requirements engineering. In: Aldini, A., Gorrieri, R., Martinelli, F. (eds.) Foundations of Security Analysis and Design III (FOSAD 2005 Tutorial Lectures). Lecture Notes in Computer Science, vol. 3655, pp. 237–272. Springer, Berlin (2005)

  16. Haley, C.B., Laney, R.C., Moffett, J.D., Nuseibeh, B.: Security requirements engineering: a framework for representation and analysis. IEEE Trans. Softw. Eng. 34(1), 133–153 (2008)

    Article  Google Scholar 

  17. Han, J.: Supporting impact analysis and change propagation in software engineering environments. In: International Workshop on Software Technology and Engineering Practice (STEP 1997), pp. 172–182 (1997)

  18. Heyman, T., Yskout, K., Scandariato, R., Schmidt, H., Yu, Y.: The security twin peaks. In: Erlingsson, Ú, Wieringa, R., Zannone, N. (eds.) International Symposium on Engineering Secure Software and Systems (ESSoS 2011). Lecture Notes in Computer Science, vol. 6542, pp. 167–180. Springer, Berlin (2011)

  19. Kindler, E., Wagner, R.: Triple graph grammars: Concepts, extensions, implementations, and application scenarios. Technical Report tr-ri-07-284, Software Engineering Group, Department of Computer Science, University of Paderborn (2007)

  20. Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R., Jazayeri, M.: Challenges in software evolution. In: International Workshop on Principles of Software Evolution (IWPSE 2005), pp. 13–22. IEEE Computer Society, New York (2005)

  21. Nhlabatsi, A., Nuseibeh, B., Yu, Y.: Security requirements engineering for evolving software systems: a survey. Int. J. Secure Softw. Eng. 1, 54–73 (2009)

    Article  Google Scholar 

  22. Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(2), 115–117 (2001)

    Article  Google Scholar 

  23. Object Management Group. Meta Object Facility (MOF) Core Specification, Version 2.0. http://www.omg.org/spec/MOF/ (2006)

  24. Object Management Group. Unified Modeling Language, superstructure, version 2.3. http://www.omg.org/spec/UML/ (2010)

  25. Object Management Group. Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT), Version 1.1. http://www.omg.org/spec/QVT/ (2011)

  26. Ráth, I., Varró, G., Varró, D.: Change-driven model transformations. In: Schürr, A., Selic, B. (eds.) International Conference on Model Driven Engineering Languages and Systems (MODELS 2009). Lecture Notes in Computer Science, vol. 5795, pp. 342–356. Springer, Berlin (2009)

  27. Runeson, P.: Using students as experiment subjects—an analysis on graduate and freshmen student data. In: International Conference on Empirical Assessment in Software Engineering (EASE 2003) (2003)

  28. Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) International Workshop on Graph-Theoretic Concepts in Computer Science (WG 1994). Lecture Notes in Computer Science, vol. 903, pp. 151–163. Springer, Berlin (1995)

  29. Schürr, A., Klar, F.: 15 years of triple graph grammars. In: Ehrig, H., Heckel, R. , Rozenberg, G., Taentzer, G. (eds.) International Conference on Graph Transformations (ICGT 2008). Lecture Notes in Computer Science, vol. 5214, pp. 411–425. Springer, Berlin (2008)

  30. Si* Tool website. http://sesa.dit.unitn.it/sistar_tool

  31. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0. Addison-Wesley, Boston (2009)

  32. Tamzalit, D., Mens, T.: Guiding architectural restructuring through architectural styles. In: Sterritt, R., Eames, B., Sprinkle, J. (eds.) International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS 2010), pp. 69–78. IEEE Computer Society, New York (2010)

  33. The OSGi Alliance. OSGi—The Dynamic Module System for Java. http://www.osgi.org

  34. Tichy, W.: Hints for reviewing empirical work in software engineering. Empir. Softw. Eng. 5(4), 309–312 (2000)

    Article  MathSciNet  Google Scholar 

  35. Topcased UML editor. http://www.topcased.org/

  36. VIsual Automated model TRAnsformations (VIATRA) Framework. http://www.eclipse.org/gmt/VIATRA2/

  37. Yskout, K., Ben David, O.-N., Scandariato, R., Baudry, B.: Requirements-driven runtime reconfiguration for security. In: Moschitti, A., Scandariato, R., (eds.) International Workshop on Eternal Systems (EternalS 2011). Communications in Computer and Information Science, vol. 255. Springer, Berlin (2012)

  38. Yskout, K., Scandariato, R., Joosen, W.: Change patterns website. http://distrinet.cs.kuleuven.be/software/changepatterns

Download references

Acknowledgments

The authors would like to express their gratitude towards the anonymous reviewers for their valuable comments and suggestions. This research is partially funded by the Interuniversity Attraction Poles Programme Belgian State, Belgian Science Policy, by the Research Fund KU Leuven, and by the EU FP7 projects SecureChange and NESSoS.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Koen Yskout.

Additional information

Communicated by Dr. D. Tamzalit, B. Schätz, D. Deridder and A. Pierantonio.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yskout, K., Scandariato, R. & Joosen, W. Change patterns. Softw Syst Model 13, 625–648 (2014). https://doi.org/10.1007/s10270-012-0276-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0276-6

Keywords

Navigation