Static analysis of aspect interaction and composition in component models

Component based software engineering and aspect orientation are claimed to be two complementary approaches. While the former ensures the modularity and the reusability of software entities, the latter enables the modularity of crosscutting concerns that cannot be modularized as regular components. Nowadays, several approaches and frameworks are dedicated to integrate aspects into component models. However, when several aspects are woven, aspects may interact with each other which often results in undesirable behavior. The contribution of this paper is twofold. First, we show how aspectized component models can be formally modeled in UPPAAL model checker in order to detect negative interactions (a.k.a., interferences) among aspects. Second, we provide an extendible catalog of composition operators used for aspect composition. We illustrate our general approach with an airport Internet service example.

[1]  Rémi Douence,et al.  Concurrent aspects , 2006, GPCE '06.

[2]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[3]  Noël Crespi,et al.  Detection and resolution of feature interactions in IP multimedia subsystem , 2009, Int. J. Netw. Manag..

[4]  Roel Wuyts,et al.  Detecting unanticipated aspect interferences at runtime with compositional intentions , 2009, RAM-SE@ECOOP.

[5]  Kathi Fisler,et al.  Foundations of incremental aspect model-checking , 2007, TSEM.

[6]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[7]  Olivier Barais,et al.  Model Driven Language Engineering with Kermeta , 2009, GTTSE.

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

[9]  Rémi Douence,et al.  Views for Aspectualizing Component Models , 2010 .

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

[11]  Shmuel Katz,et al.  MAVEN: modular aspect verification and interference analysis , 2010, Formal Methods Syst. Des..

[12]  Pierre-Yves Schobbens,et al.  Symbolic model checking of software product lines , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[14]  Petr Hnetynka,et al.  SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[15]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[16]  Rémi Douence,et al.  Composition, reuse and interaction analysis of stateful aspects , 2004, AOSD '04.

[17]  Tomas Bures,et al.  Component Reliability Extensions for Fractal component model : Architecture / Design manual and User manual : Final deliverable ( T 0 + 18 ) , 2006 .

[18]  Amparo Navasa Martínez,et al.  An ADL dealing with aspects at software architecture stage , 2009, Inf. Softw. Technol..

[19]  Rémi Douence,et al.  Composable Controllers in Fractal: Implementation and Interference Analysis , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[20]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[21]  Thomas A. Henzinger,et al.  Symbolic Model Checking for Real-Time Systems , 1994, Inf. Comput..

[22]  Frantisek Plasil,et al.  Slicing of Component Behavior Specification with Respect to Their Composition , 2007, CBSE.

[23]  Wouter Joosen,et al.  Classifying and documenting aspect interactions , 2006 .

[24]  Mario Kolberg,et al.  Feature interaction: a critical review and considered forecast , 2003, Comput. Networks.

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

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

[27]  Dominique Cansell,et al.  Foundations of the B Method , 2003, Comput. Artif. Intell..

[28]  QuémaVivien,et al.  The FRACTAL component model and its support in Java , 2006 .

[29]  Shmuel Katz,et al.  Incremental analysis of interference among aspects , 2008, FOAL.