A Dynamic Component and Aspect-Oriented Platform

Component-based software development (CBSD) represents a significant advance towards assembling systems by plugging in independent and (re)usable components. On the other hand, aspect-oriented software development (AOSD) is presently considered as a possible technology to improve the modularity and adaptability of complex and large-scale distributed systems. Both are complementary technologies, so it would be helpful to have models that combine them to take advantage of all their mutual benefits. Thus recent research has tried to combine CBSD and AOSD by considering aspects as reusable parts that can be woven and then attached to the individual components. Our contribution to the integration of these technologies is CAM, a new component and aspect model that defines components and aspects as first-order entities, together with a non-intrusive composition mechanism to plug aspects into components. The underlying infrastructure supporting CAM is the dynamic aspect-oriented platform (DAOP), a component and aspect platform that provides the usual services of distributed applications, as well as a composition mechanism to perform the plugging of software aspects into components at runtime.

[1]  Lidia Fuentes,et al.  Coordinating distributed components on the web: an integrated development environment , 2001, Softw. Pract. Exp..

[2]  Lidia Fuentes,et al.  Separation of coordination in a dynamic aspect oriented framework , 2002, AOSD '02.

[3]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[4]  J. C. Wichman Composej: the development of a preprocessor to facilitate composition filters in the java language , 1999 .

[5]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[6]  David Blevins Overview of the enterprise Javabeans component model , 2001 .

[7]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[8]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[9]  How MDA can help designing component and aspect-based applications , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[10]  Chang Jun CORBA Component Model , 2003 .

[11]  Lidia Fuentes,et al.  A Java Framework for Web-Based Multimedia and Collaborative Applications , 1999, IEEE Internet Comput..

[12]  Wouter Joosen,et al.  Dynamic and selective combination of extensions in component-based applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[13]  John Grundy,et al.  Multi-Perspective Specification, Design and Implementation of Software Components Using Aspects , 2000, Int. J. Softw. Eng. Knowl. Eng..

[14]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[15]  Karl J. Lieberherr,et al.  Aspectual Collaborations: Combining Modules and Aspects , 2003, Comput. J..

[16]  C. Q. Lee,et al.  The Computer Journal , 1958, Nature.

[17]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[18]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

[19]  Laurence Duchien,et al.  JAC : A Flexible and Efficient Framework for AOP in Java , 2001 .

[20]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[21]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.

[22]  M. Dmitriev Towards Flexible and Safe Technology for Runtime Evolution of Java Language Applications , 2001 .

[23]  Lidia Fuentes,et al.  Collaborative virtual environment development: an aspect-oriented approach , 2001, Proceedings 21st International Conference on Distributed Computing Systems Workshops.

[24]  Karl J. Lieberherr,et al.  Aspect-oriented programming with adaptive methods , 2001, CACM.

[25]  Lidia Fuentes,et al.  DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development , 2003, GPCE.

[26]  J. Huisman The Netherlands , 1996, The Lancet.

[27]  Clemens Szyperski,et al.  Component software , 1997 .