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
Object-oriented software engineering
Object-oriented software engineering
Object-oriented modeling and design
Object-oriented modeling and design
Real-time object-oriented modeling
Real-time object-oriented modeling
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Client/server programming with Java and CORBA
Client/server programming with Java and CORBA
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The unified software development process
The unified software development process
Essential COM
SOFSEM '99 Proceedings of the 26th Conference on Current Trends in Theory and Practice of Informatics on Theory and Practice of Informatics
Using Extended Event Traces to Describe Communication in Software Architectures
APSEC '97 Proceedings of the Fourth Asia-Pacific Software Engineering and International Computer Science Conference
ICFEM '98 Proceedings of the Second IEEE International Conference on Formal Engineering Methods
A Plea for Grey-Box Components
A Plea for Grey-Box Components
Micro and macro workflow variability design techniques of component
Information and Software Technology
Towards a Versatile Contract Model to Organize Behavioral Specifications
SOFSEM '07 Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science
A proposal for evolution driven middleware architecture for ebusiness process execution
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Hi-index | 0.00 |
In practice, pure top-down and refinement-based development processes are not sufficient. Usually, an iterative and incremental approach is applied instead. Existing methodologies, however, do not support such evolutionary development processes very well. In this paper, we present the basic concepts of an overall methodology based on component ware and software evolution. The foundation of our methodology is a novel, well-founded model for component-based systems. This model is sufficiently powerful to handle the fundamental structural and behavioral aspects of component ware and object-orientation. Based on the model, we are able to provide a clear definition of a software evolution step.During development, each evolution step implies changes of an appropriate set of development documents. In order to model and track the dependencies between these documents, we introduce the concept of Requirements/Assurances Contracts. These contracts can be rechecked whenever the specification of a component evolves, enabling us to determine the impacts of the respective evolution step. Based on the proposed approach, developers are able to track and manage the software evolution process and to recognize and avoid failures due to software evolution. A short example shows the usefulness of the presented concepts and introduces a practical description technique for Requirements/Assurances Contracts.