Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Modularisation and composition of aspectual requirements
Proceedings of the 2nd international conference on Aspect-oriented software development
A Framework for the Detection and Resolution of Aspect Interactions
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
A Study of The Fragile Base Class Problem
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Deriving Design Aspects from Conceptual Models
ECOOP '98 Workshop ion on Object-Oriented Technology
Software Architecture in Practice
Software Architecture in Practice
Domain-Driven Design: Tacking Complexity In the Heart of Software
Domain-Driven Design: Tacking Complexity In the Heart of Software
Aspect-Oriented Analysis and Design
Aspect-Oriented Analysis and Design
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
IEEE Software
Expressing different conceptual models of join point selections in aspect-oriented design
Proceedings of the 5th international conference on Aspect-oriented software development
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
On the Quantitative Analysis of Architecture Stability in Aspectual Decompositions
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Towards reusable components with aspects: an empirical study on modularity and obliviousness
Proceedings of the 30th international conference on Software engineering
Aspect-Oriented Development with Stratified Frameworks
IEEE Software
Domain-driven discovery of stable abstractions for pointcut interfaces
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
COMPASS: composition-centric mapping of aspectual requirements to architecture
Transactions on aspect-oriented software development IV
Analysis of early aspects in requirements goal models: a concept-driven approach
Transactions on aspect-oriented software development III
Analysis of crosscutting in early software development phases based on traceability
Transactions on aspect-oriented software development III
Crisis management systems: a case study for aspect-oriented modeling
Transactions on aspect-oriented software development VII
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Aspect categories and classes of temporal properties
Transactions on Aspect-Oriented Software Development I
Towards a catalogue of refactorings and code smells for aspectj
Transactions on Aspect-Oriented Software Development I
Managing the evolution of aspect-oriented software with model-based pointcuts
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Improving extensibility of object-oriented frameworks with aspect-oriented programming
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Using connectors to model crosscutting influences in software architectures
ECSA'07 Proceedings of the First European conference on Software Architecture
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
In this paper, we illustrate our method for the discovery of stable domain abstractions for the purpose of designing robust and reusable pointcut interfaces in the car crash management system (CCMS). A pointcut interface represents an abstraction of the join points in the base application to which aspects are composed. Although many techniques and notations to model explicit pointcut interfaces exist, there is currently a lack of methodological guidance how to design pointcut interfaces which are (i) robust in light of software evolution and (ii) can be reused by multiple aspects. Based on use case engineering and domain modeling techniques, our method provides a systematic approach for discovering domain abstractions that are suitable for aspectual composition. Furthermore, it provides architectural guidelines to design pointcut interfaces that are based on these stable domain abstractions. The underlying principle of our method is that the composition between aspect and base modules will be more robust and more reusable when specified in terms of stable domain abstractions, instead of low-level implementation details. In this paper, we provide concrete evidence from the CCMS of how our method can be adopted to realize the above-mentioned goals. Specifically, we illustrate how ripple effects from the base application to the aspects are avoided, and how this contributes to pointcut interface stability. Second, we show how duplication is avoided in the specification of the pointcut interfaces, and how this leads to effective reuse of the pointcut interfaces by multiple aspects.