Pattern-Based Evolution of Software Architectures

  • Isabelle Côté
  • Maritta Heisel
  • Ina Wentzlaff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4758)


We propose a pattern-based software development method comprising analysis (using problem frames) and design (using architectural and design patterns), of which especially evolving systems benefit. Evolution operators guide a pattern-based transformation procedure, including re-engineering tasks for adjusting a given software architecture to meet new system demands. Through application of these operators, relations between analysis and design documents are explored systematically for accomplishing desired software modifications. This allows for reusing development documents to a large extent, even when the application environment and the requirements change.


Domain Knowledge Design Pattern Software Architecture Evolution Scenario Problem Frame 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)Google Scholar
  2. 2.
    Choppy, C., Hatebur, D., Heisel, M.: Architectural Patterns for Problem Frames. IEE Proceedings - Software 152(4), 198–208 (2005)CrossRefGoogle Scholar
  3. 3.
    Choppy, C., Hatebur, D., Heisel, M.: Component composition through architectural patterns for problem frames. In: Proc. XIII Asia Pacific Software Engineering Conference, pp. 27–34. IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  4. 4.
    Foundation, T.E.: Eclipse - an open development platform (2007),
  5. 5.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  6. 6.
    Hatebur, D., Heisel, M., Schmidt, H.: Security engineering using problem frames. In: Müller, G. (ed.) ETRICS 2006. LNCS, vol. 3995, pp. 238–253. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Jackson, M.: Problem Frames. Analyzing and structuring software development problems. Addison-Wesley, Reading (2001)Google Scholar
  8. 8.
    O’Cinneide, M., Nixon, P.: Automated Software Evolution Towards Design Patterns (2001),
  9. 9.
    Pfleeger, S.L.: Software Engineering: Theory and Practice. Prentice-Hall, Englewood Cliffs (2001)Google Scholar
  10. 10.
    Rapanotti, L., Hall, J.G., Jackson, M.A., Nuseibeh, B.: Architecture-driven Problem Decomposition. In: RE 2004. Proceedings of the 12th IEEE International Requirements Engineering Conference, Kyoto, Japan, IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  11. 11.
    Schmidt, H., Wentzlaff, I.: Preserving Software Quality Characteristics from Requirements Analysis to Architectural Design. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Smith, G.: The Object-Z Specification Language. Kluwer Academic Publishers, Dordrecht (2000)zbMATHGoogle Scholar
  13. 13.
    UML Revision Task Force: OMG Unified Modeling Language: Superstructure (2007),
  14. 14.
    Wentzlaff, I., Specker, M.: Pattern-based Development of User-Friendly Web Applications. In: ICWE. Workshop Proceedings of the 6th International Conference on Web Engineering, ACM Press, New York (2006)Google Scholar
  15. 15.
    Yacoub, S.M., Ammar, H.H.: Pattern-oriented Analysis and Design: Composing Patterns to Design Software Systems. Addison-Wesley, Reading (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Isabelle Côté
    • 1
  • Maritta Heisel
    • 1
  • Ina Wentzlaff
    • 1
  1. 1.University Duisburg-Essen, Faculty of Engineering, Department of Computational and Cognitive Sciences - CoCoS, Working Group Software EngineeringGermany

Personalised recommendations