ABSTRACT
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.
- Aspectwerkz. http://aspectwerkz.codehaus.org/.Google Scholar
- Jboss aop. http://www.jboss.org/jbossaop.Google Scholar
- Joyaop. http://joyaop.sourceforge.net/.Google Scholar
- Postsharp. http://www.postsharp.org/.Google Scholar
- Recoder. http://recoder.sourceforge.net/.Google Scholar
- Spring. http://www.springsource.org/.Google Scholar
- T. Cottenier, A. van den Berg, and T. Elrad. Stateful aspects: the case for aspect-oriented modeling. In AOM '07: Proceedings of the 10th international workshop on Aspect-oriented modeling, pages 7--14, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- T. Dinkelaker, M. Mezini, and C. Bockisch. The art of the meta-aspect protocol. In AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development, pages 51--62, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- R. Douence, P. Fradet, and M. Südholt. Composition, reuse and interaction analysis of stateful aspects. In AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development, pages 141--150, New York, NY, USA, 2004. ACM. Google ScholarDigital Library
- R. Douence, D. Le Botlan, J. Noyé, and M. Südholt. Concurrent aspects. In GPCE '06: Proceedings of the 5th international conference on Generative programming and component engineering, pages 79--88, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- R. Douence, D. Le Botlan, J. Noyé, and M. Südholt. Towards a model of concurrent aop. Int. WS on Software Engineering Properties of Languages and Aspect Technologies (SPLAT'06), March 2006.Google Scholar
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional, 1995. Google ScholarDigital Library
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. Getting started with aspectj. Commun. ACM, 44(10):59--65, 2001. Google ScholarDigital Library
- S. Kojarski and D. H. Lorenz. Pluggable aop: designing aspect mechanisms for third-party composition. In OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 247--263, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- R. Mondejar, P. Garcia, C. Pairot, P. Urso, and P. Molli. Designing a distributed aop runtime composition model. In SAC '09: Proceedings of the 2009 ACM symposium on Applied Computing, pages 539--540, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- L. D. B. Navarro, M. Südholt, W. Vanderperren, B. De Fraine, and D. Suvée. Explicitly distributed aop using awed. In AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development, pages 51--62, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- R. Pawlak, L. Seinturier, L. Duchien, G. Florin, F. Legond-Aubry, and L. Martelli. Jac: an aspect-based distributed dynamic framework. Softw. Pract. Exper., 34(12):1119--1148, 2004. Google ScholarDigital Library
- D. Suvée, W. Vanderperren, and V. Jonckers. Jasco: an aspect-oriented approach tailored for component based software development. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 21--29, New York, NY, USA, 2003. ACM. Google ScholarDigital Library
Index Terms
- An extensible framework for middleware design based on concurrent event-based AOP
Recommendations
An Aspectual State Model and its Realization Based on AOP
WCSE '09: Proceedings of the 2009 WRI World Congress on Software Engineering - Volume 03Aspect-Oriented Programming (AOP) is an emerging software engineering paradigm that improves separation of cross-cutting concerns as aspect in a program. Existing Object-Oriented Programming (OOP) languages suffer from a serious limitation in ...
An interface mechanism for encapsulating weaving in class-based AOP
SPLAT '07: Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologiesAspect-oriented programming (AOP) separates crosscutting concerns from primary concerns. These concerns are woven together by a weaver. Although AOP provides a good module mechanism, it is not necessarily easy for a programmer to understand the overall ...
Comments