Design Stability Measures for Software Maintenance
IEEE Transactions on Software Engineering - Special issue on COMPSAC 1982 and 1983
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Introduction to the Special Issue on Software Architecture
IEEE Transactions on Software Engineering - Special issue on software architecture
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Client/server programming with Java and CORBA (2nd ed.)
Client/server programming with Java and CORBA (2nd ed.)
An empirical investigation into the adoption of systems development methodologies
Information and Management
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Information Systems Development: Methodologies, Techniques and Tools
Information Systems Development: Methodologies, Techniques and Tools
Rules and Tools for Software Evolution Planning and Management
Annals of Software Engineering
Explaining Software Developer Acceptance of Methodologies: A Comparison of Five Theoretical Models
IEEE Transactions on Software Engineering
Conflicts and Trade-Offs between Software Performance and Maintainability
Performance Engineering, State of the Art and Current Trends
Quality Attribute Conflicts - Experiences from a Large Telecommunication Application
ICECCS '01 Proceedings of the Seventh International Conference on Engineering of Complex Computer Systems
Journal of Systems and Software
An architectural pattern for designing component-based application frameworks
Software—Practice & Experience
Towards Rules and Laws for Software Factories and Evolvability: A Case-Driven Approach
ICSEA '06 Proceedings of the International Conference on Software Engineering Advances
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
IEEE Transactions on Software Engineering
ICIW '07 Proceedings of the Second International Conference on Internet and Web Applications and Services
Dealing with change: components versus services
Communications of the ACM
ICSEA '07 Proceedings of the International Conference on Software Engineering Advances
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
Some Stability Measures for Software Maintenance
IEEE Transactions on Software Engineering
The Modular Structure of Complex Systems
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
AQuoSA—adaptive quality of service architecture
Software—Practice & Experience
ICSEA '08 Proceedings of the 2008 The Third International Conference on Software Engineering Advances
XSLT-based evolutions and analyses of design patterns
Software—Practice & Experience
Specifying features of an evolving software system
Software—Practice & Experience
A dependency constraint language to manage object-oriented software architectures
Software—Practice & Experience
On the modularization and reuse of exception handling with aspects
Software—Practice & Experience
A model of large program development
IBM Systems Journal
Towards designing enterprises for evolvability based on fundamental engineering concepts
OTM'11 Proceedings of the 2011th Confederated international conference on On the move to meaningful internet systems
Multi-abstraction layered business process modeling
Computers in Industry
Software architecture challenges in evolvable systems
Proceedings of the 2012 ACM SIGSOFT symposium on Industry Day
Computer Standards & Interfaces
Hi-index | 0.00 |
In today's increasingly volatile environments, evolvability is quickly becoming the most desirable characteristic of information systems. Current information systems still struggle to provide these high levels of evolvability. Based on the concept of stability from systems theory, we require that information systems should be stable with respect to a set of anticipated changes in order to exhibit high evolvability. This requires that information systems should be free from so-called combinatorial effects. Combinatorial effects occur when the impact of a change is dependent on the size of the information system. To eliminate these combinatorial effects, we propose four theorems that are constraints on the modular structure of software architectures. The theorems are prescriptive and ensure that stable information systems are built, thereby guaranteeing high evolvability. We further present five higher level modular structures called elements. These elements provide the core functionality of information systems and comply fully with the stringent constraints implied by the four theorems. The internal structure of these elements is described by design patterns which are eligible for automatic code generation. These design patterns offer a constructive proof that it is possible to build information systems in practice by applying this set of theorems.