Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Communications of the ACM
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
JAC: an aspect-based distributed dynamic framework
Software—Practice & Experience
Pluggable AOP: designing aspect mechanisms for third-party composition
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Explicitly distributed AOP using AWED
Proceedings of the 5th international conference on Aspect-oriented software development
Proceedings of the 5th international conference on Generative programming and component engineering
Stateful aspects: the case for aspect-oriented modeling
Proceedings of the 10th international workshop on Aspect-oriented modeling
The art of the meta-aspect protocol
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Designing a distributed AOP runtime composition model
Proceedings of the 2009 ACM symposium on Applied Computing
Hi-index | 0.00 |
Middleware simplifies application development by encapsulating common low-level concerns in modular reusable components. However, the traditional methods of software decomposition fail to properly encapsulate so-called cross-cutting concerns thus leading to scattered (and sometimes repetitive) code and difficult to maintain designs. Aspect-Oriented Programming (AOP) aims to solve these issues by encapsulating such code within reusable components called aspects. However, current AOP implementations suffer from restrictive programming models leading to limited aspect reusability. In this paper we present a new Java framework for middleware design and development based on Concurrent Event-based AOP. We focus on simplicity, generality and reusability. The programming model is based on Attribute-Oriented Programming. Aspects are declared and used by writing plain Java code and tagging it with plain Java annotations. The framework is small and can be easily extended to build more sophisticated frameworks targeting different kinds of devices. We describe the implementation of an initial prototype and evaluate its performance.