An introduction to evolution of large systems based on Software Architectures

  • J. C. Dueñas
  • G. León
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT)


Market forces and current engineering practices in the field of software-intensive systems make the development and evolution of large systems difficult, resulting in high maintenance costs. A novel approach emphasizing the architectural design phase of development can improve the situation. It is called “Software Architecture” it allows us to manage the development process including evolution activities in a controlled way, by means of several views of the system. This article reviews the current state of the art in this area, and proposes a process for adoption and usage of software architectures in the development and evolution of large software systems.


Large software systems variation management software architecture architectural description languages adoption process 


  1. ADL (1997). Architecture Description Languages. Software Engineering Institute. URL: Scholar
  2. Ares Consortium (1995) ARES: Architectural Reasoning for Embedded Software. Technical Annex. European Commission ESPRIT IV projects.Google Scholar
  3. Bass, L. (1994). Definitions for Software Architecture. URL: Scholar
  4. Brooks, F.P. (1987). No silver bullet. Essence and accidents of software engineering. IEEE Computer. IEEE Computer Press.Google Scholar
  5. Brown, A.W. (1996) Component-Based Software Engineering. Selected Papers from the Software Engineering Institute. IEEE Computer Society Press.Google Scholar
  6. Ran, A., and Kuusela, J. (1996). Design Decision Trees, Proceedings of the 8th International Workshop on Software Specification and Design, March 1996, IEEE Computer Society Press.Google Scholar
  7. Garlan, D., and Shaw, M. (1993). An Introduction to Software Architecture. Advances in Software Engineering and Knowledge Engineering. Vol 1. River Edge, NJ: World Scientific Publishing Company.Google Scholar
  8. Harris, D.R., Yeh, A.S., and Reubenstein, H.B. (1996). Extracting Architectural Features from Source Code. Automated Software Engineering, 3, Kluwer.Google Scholar
  9. Hayes-Roth (1994). Architecture-based Acquisition and Development of Software: Guidelines and Recommendations from the ARPA Domain-Specific Software Architecture Program. URL: Scholar
  10. Karhinen, A., Ran, A., and Tallgren, T. (1997). Configurable Designs. Proceedings of the 19th International Workshop on Software Engineering, Boston, IEEE Computer Society Press.Google Scholar
  11. Kruchten, P. (1995). The 4+1 View Model of Architecture. IEEE Software, 12, 6.CrossRefGoogle Scholar
  12. van der Linden, F., and Müller, J. (1995.) Creating Architectures with Building Blocks. IEEE Software, 12, 6.Google Scholar
  13. Magee. J., Dulay, N., Eisenbach, S., and Kramer, J. (1995). Specifying Distributed Software Architectures. Proceedings of the 5th ESEC European Software Engineering Conference,.Google Scholar
  14. Del Prado, J. (1997). Information Technologies Research and Real-Time Aspects in the Telecommunication Industry. Keynote lecture. Ninth Euromicro Workshop on Real-Time Systems. Toledo, Spain. IEEE Computer Society.Google Scholar
  15. Shaw, M., and Garlan, D. (1996). Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall.zbMATHGoogle Scholar
  16. Soni, D., Nord, R., and Hofmeister, C. (1995). Software Architecture in Industrial Applications. Proceedings of the 17th International Conference on Software Enginering. Seattle, WA. Association for Computing Machinery.Google Scholar

Copyright information

© IFIP 1998

Authors and Affiliations

  • J. C. Dueñas
    • 1
  • G. León
    • 1
  1. 1.Depto Ingeniería de Sistemas TelemáticosUniversidad Politécnica de Madrid ETSITMadridSpain

Personalised recommendations