Abstract
We present methodological and technological solutions for evolving large-scale software systems. These solutions are based on many years of research and experience in developing systems in one of the most volatile application domains-banking. We discuss why 'promising' software development techniques, such as object-oriented and component-based approaches, on their own, cannot meet the challenges and objectives of software development today, and propose a three-layered architectural approach based on the strict separation between computation, coordination and configuration. We present a set of modelling primitives, design principles and support tools through which such an approach can be put effectively into practice, and discuss how it promotes a more 'dynamic' approach to software evolution. Finally, we make comparisons with related work.
Original language | English |
---|---|
Pages (from-to) | 353-369 |
Number of pages | 17 |
Journal | Journal of Software Maintenance and Evolution |
Volume | 14 |
Issue number | 5 |
Early online date | 30 Oct 2002 |
DOIs | |
Publication status | Published - 30 Oct 2002 |
Keywords
- Architectures
- Coordination
- Dynamic configuration
- Modelling
- Separation of concerns
- Software evolution
- Tools
ASJC Scopus subject areas
- Software