ABSTRACT
In this paper we introduce a novel aspect oriented implementation language, called JAsCo. JAsCo is tailored for component based development and the Java Beans component model in particular. The JAsCo language introduces two concepts: aspect beans and connectors. An aspect bean describes behavior that interferes with the execution of a component by using a special kind of inner class, called a hook. The specification of a hook is context independent and therefore reusable. A connector on the other hand, is used for deploying one or more hooks within a specific context. To implement the JAsCo language, we propose a new "aspect-enabled' component model, which contains build-in traps that enable to interfere with the normal execution of a component. The JAsCo component model is backward-compatible with the Java Beans component model. Furthermore, the JAsCo component model allows very flexible aspect application, adaptation and removal at run-time. The necessary tool support for the JAsCo approach has been implemented. In addition, we present a performance assessment of our current implementation.
- AspectJ Website. http://www.aspectJ.org.Google Scholar
- Assman, U. A Component Model for Invasive Composition. Position paper at the ECOOP 2000 workshop on Aspects and Dimensions of Concerns. (Cannes France, June 2000)Google Scholar
- Baker, J. and Hsieh, W. Runtime aspect weaving through metaprogramming. In Proceedings of the I st international conference on Aspect-oriented software development. (Enschede The Netherlands, April 2002) Google ScholarDigital Library
- Byte Code Engineering Library http://bcel.sourceforge.net.Google Scholar
- Corba Component Model http://www.omg.org.Google Scholar
- Douence, R., Motelet, O. and Südholt, M. A formal definition of crosscuts. In Proceedings of the 3rd International Conference on Reflection. (Kyoto Japan, September 2001) Google ScholarDigital Library
- Douence, R., Fradet, P. and Südholt, M. A framework for the detection and resolution of aspect interactions. In Proceedings of the ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (Pittsburgh PA, October 2002) Google ScholarDigital Library
- Duclos, F., Estublier, J. and Morat, P. Describing and Using Non Functional Aspects in Component Based Applications. In Proceedings of the 1 st international conference on Aspect-oriented software development. (Enschede The Netherlands, April 2002) Google ScholarDigital Library
- Filman, R.E. Applying aspect-oriented programming to intelligent systems. Position paper at the ECOOP 2000 workshop on Aspects and Dimensions of Concerns. (Cannes France, June 2000)Google Scholar
- Jasmin Library http://mrl.nyu.edu/~meyer/jvm/jasmin.html.Google Scholar
- Java Byte code editor and library http://ssel.vub.ac.be/Members/dsuvee/jbe/index.htm.Google Scholar
- Lieberherr, K., Lorenz, D. And Mezini, M. Programming with Aspectual Components. Technical Report, NU-CSS-99- 01, March 1999. Available at: http://www.ccs.neu.edu/research/demeter/biblio/aspectual-comps.html.Google Scholar
- Ossher, H., and Tarr, S. Multi-Dimensional Separation of Concerns in Hyperspace. Position paper at the ECOOP '99 Workshop on Aspect-Oriented Programming (Lisbon Portugal, June 1999)Google Scholar
- Parnas D.L. On the Criteria to be Used in Decomposing Systems into Modules. In Communications of the ACM. Vol.15. No. 12. Pages 1053--1058. Google ScholarDigital Library
- Pawlak, R., Seinturier, L., Duchien, L. and Florin, G. JAC: A flexible solution for aspect-oriented programming in Java. In Proceedings of the 3rd International Conference on Reflection. (Kyoto Japan, September 2001) Google ScholarDigital Library
- Pinto, M., Fuentes, L., Fayad, M.E. and Troya, J.M. Separation of Coordination in a Dynamic Aspect Oriented Framework. In Proceedings of the 1 st international conference on Aspect-oriented software development. (Enschede The Netherlands, April 2002) Google ScholarDigital Library
- Popovici, A., Gross, T. and Alonso, G. Dynamic Weaving for Aspect-Oriented Programming. In Proceedings ofthe 1st international conference on Aspect-oriented software development. (Enschede The Netherlands, April 2002) Google ScholarDigital Library
- Szyperski, C. Component software: Beyond Object-oriented programming. Addison-Wesley, 1998. Google ScholarDigital Library
- Vanderperren, W. A pattem based approach to separate tangled concerns in component based development. ACP4IS workshop at AOSD 2002. (Enschede The Netherlands, April 2002)Google Scholar
- Vanderperren, W. Localizing crosscutting concerns in visual component based development. In proceedings of Software Engineering Research and Practice (SERP) international conference. (Las Vegas NV, june 2002)Google Scholar
- Vanderperren, W. and Wydaeghe, B. Towards a New Component Composition Process. In Proceedings of ECBS 2001. (Washington DC, April 2001)Google ScholarCross Ref
- Welch, I. and Stroud, R. Kava - A Reflective Java based on Bytecode Rewriting. Lecture Notes in Computer Science 1826 from Springer-Verlag (2000). Google ScholarDigital Library
- Workshop on "feature interaction in composed systems" at ECOOP 2001. Program available at http://www.info.uni- karlsruhe.de/pulvermu-/workshops/ecoop2001.Google Scholar
- Wydaeghe, B. and Vanderperren, W. Visual Component Composition Using Composition Pattems. In Proceedings of Tools 2001. (Santa Barbara CA, July 2001) Google ScholarDigital Library
Index Terms
- JAsCo: an aspect-oriented approach tailored for component based software development
Recommendations
Adaptive programming in JAsCo
AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software developmentIn this paper we propose an extension to JAsCo for supporting Adaptive Programming in a Component-Based Software Development context. JAsCo is an aspect-oriented programming language targeted at Component-Based Software Development and allows ...
Supporting JAsCo AOP By Means of Eclipse
In this tool demonstration paper, we present a plugin for the Eclipse tool platform which provides support for JAsCo. JAsCo is a dynamic AOP language focused at component-based software engineering. The JAsCo Eclipse plugin provides a visual integrated ...
PacoSuite and JAsCo: a visual component composition environment with advanced aspect separation features
FASE'03: Proceedings of the 6th international conference on Fundamental approaches to software engineeringThis paper presents the visual component composition environment called PacoSuite and the tools needed for the JAsCo aspect-oriented programming language. PacoSuite allows plug-and-play component composition without in-depth technical knowledge of the ...
Comments