A technique for software module specification with examples
Communications of the ACM
Designing software for ease of extension and contraction
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Aspect-Oriented Analysis and Design
Aspect-Oriented Analysis and Design
Expressing different conceptual models of join point selections in aspect-oriented design
Proceedings of the 5th international conference on Aspect-oriented software development
Semantic-based weaving of scenarios
Proceedings of the 5th international conference on Aspect-oriented software development
Feature Oriented Model Driven Development: A Case Study for Portlets
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Aspect-oriented multi-view modeling
Proceedings of the 8th ACM international conference on Aspect-oriented software development
AspectOptima: A Case Study on Aspect Dependencies and Interactions
Transactions on Aspect-Oriented Software Development V
Crisis management systems: a case study for aspect-oriented modeling
Transactions on aspect-oriented software development VII
Aspect-oriented design with reusable aspect models
Transactions on aspect-oriented software development VII
Designing with inheritance and composition
Proceedings of the 3rd international workshop on Variability & Composition
Directives for composing aspect-oriented design class models
Transactions on Aspect-Oriented Software Development I
Hi-index | 0.00 |
In this paper we investigate how a software designer can build a complex software design model incrementally by exploiting model interfaces and information hiding to encapsulate different design concerns within model increments. Each model increment either extends or customizes the model it is applied to. When using model extension, each increment adds modelling elements to the existing model to provide additional structure and behaviour. When using model customization, each increment adds modelling elements to adapt the general structure and behaviour of the model to a specific need. We discuss how incremental modelling fits with software development processes, and show how different model composition techniques, i.e. class merge, subclassing, operation in-lining and advising, support the incremental extension and customization of models. Finally, we explain how to generate the complete software design in the end. Practically, we present how we extended the Reusable Aspect Models (RAM) approach to support incremental modelling and show details of an incremental design of a workflow middleware product line.