Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Communications of the ACM
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Coordination languages and their significance
Communications of the ACM
A superimposition control construct for distributed systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Dynamic structure in software architectures
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Law-governed regularities in object systems: part I: an abstract model
Theory and Practice of Object Systems
ICSE '94 Proceedings of the 16th international conference on Software engineering
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Software architecture in practice
Software architecture in practice
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Zones, contracts and absorbing changes: an approach to software evolution
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Aspect-oriented programming: Introduction
Communications of the ACM
Automating Support for Software Evolution in UML
Automated Software Engineering
Computer
Coordination Technologies for Managing Information System Evolution
CAiSE '01 Proceedings of the 13th International Conference on Advanced Information Systems Engineering
Managing Evolution in Telecommunication Systems
Proceedings of the IFIP TC6 / WG6.1 Third International Working Conference on New Developments in Distributed Applications and Interoperable Systems
Coordination: The Evolutionary Dimension
TOOLS '01 Proceedings of the Technology of Object-Oriented Languages and Systems
Tool Support for Coordination-Based Software Evolution
TOOLS '01 Proceedings of the Technology of Object-Oriented Languages and Systems
Enforcing Business Policies Through Automated Reconfiguration
Proceedings of the 16th IEEE international conference on Automated software engineering
Analysing UML use cases as contracts
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Interconnecting objects via contracts
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
A principled exploration of coordination models
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Using role-based coordination to achieve software adaptability
Science of Computer Programming
Role-based Architectural Modelling of Socio-Technical Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Aspect-oriented connectors for coordination
International workshop on Synthesis and analysis of component connectors: in conjunction with the 6th ESEC/FSE joint meeting
Ad-hoc composition of pervasive services in the PalCom architecture
Proceedings of the 2009 international conference on Pervasive services
Using Association Aspects to Implement Organisational Contracts
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 13th International Conference on Humans and Computers
Coordination systems in role-based adaptive software
COORDINATION'05 Proceedings of the 7th international conference on Coordination Models and Languages
Instance-aware assemblies of services in pervasive computing
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
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.