FuseJ : An architectural description language for unifying aspects and components

In this paper, we propose a novel component architecture and language that aims at achieving a natural unification between aspects and components. In order to modularize crosscutting concerns, this approach does not introduce a specialized aspect construct. Instead, an expressive aspectoriented composition mechanism is proposed that is applied upon existing component modules. When employing this unified component architecture, regular components are accessed through the use of gates. The behaviour behind these homogeneous gates is combined using expressive connectors that are able to describe both regular and aspect-oriented interactions. We present the FuseJ architectural description language, which realizes the unified component architecture in the setting of the JavaBeans component model. A first proof-of-concept implementation of the FuseJ language is available. In this paper, we evaluate the impact of the unified component architecture and language onto several software engineering properties, in particular comprehensibility, evolvability and predictability.

[1]  Bart De Decker,et al.  Building frameworks in aspectJ , 2001 .

[2]  Bedir Tekinerdogan,et al.  Aspect Composition using Comparition Filters , 2002 .

[3]  Muga Nishizawa,et al.  An Easy-to-Use Toolkit for Efficient Java Bytecode Translators , 2003, GPCE.

[4]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[5]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[6]  Wim Vanderperren,et al.  Combining AOSD and CBSD in PacoSuite through Invasive Composition Adapters and JAsCo , 2003 .

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

[8]  M. Cibrán,et al.  Aspect-Oriented Programming for Connecting Business Rules , 2003 .

[9]  Laurence Duchien,et al.  JAC: A Flexible Solution for Aspect-Oriented Programming in Java , 2001, Reflection.

[10]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[11]  P. S. Caro Adding systemic crosscutting and super-imposition to composition filters , 2001 .

[12]  Uwe Aßmann,et al.  Invasive Software Composition , 2003, Springer Berlin Heidelberg.

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

[14]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[15]  Guy Eddon,et al.  Inside Distributed COM , 1998 .

[16]  Peter Norvig,et al.  Applying Aspect-Oriented Programming to Intelligent Synthesis , 2000 .