Abstract
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.
- C. Szyperski, D. Gruntz, and S. Murer, Component Software: Beyond Object-Oriented Programming, 2nd edition, ACM Press and Addison-Wesley, 2002. Google Scholar
Digital Library
- G. Kiczales and E. Hilsdale, "Aspect-oriented programming," in ESEC-FSE, p. 313, ACM, 2001. Google Scholar
Digital Library
- A. Hannousse, G. Ardourel, and R. Douence, "Views for aspectualizing component models," in ACP4IS, pp. 21--25, 2010.Google Scholar
- E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani, "The Fractal component model and its support in Java," Software-Practice and Experience, vol. 36, no. 11--12, pp. 1257--1284, 2006. Google Scholar
Digital Library
- A. Hannousse, R. Douence, and G. Ardourel, "Composable controllers in Fractal: Implementation and interference analysis," in SEAA, IEEE CS, to appear, 2011. Google Scholar
Digital Library
- G. Behrmann, A. David, and K. G. Larsen, "A tutorial on Uppaal," in SFM-RT, LNCS, vol. 3185, pp. 200--236, Springer-Verlag, 2004.Google Scholar
- O. Šery and F. Plášil, "Slicing of component behavior specification with respect to their composition," in CBSE, LNCS, vol. 4608, pp. 189--202, Springer, 2007. Google Scholar
Digital Library
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold, "An overview of AspectJ," in ECOOP, pp. 327--353, Springer-Verlag, 2001. Google Scholar
Digital Library
- K. G. Larsen, P. Pettersson, and W. Yi, "Uppaal in a nutshell," International Journal on Software Tools for Technology Transfer, vol. 1, pp. 134--152, 1997.Google Scholar
Digital Library
- T. Henzinger, X. Nicollin, J. Sifakis, and S. Yovine, "Symbolic model checking for real-time systems," Information and Computation, vol. 111, pp. 394 --406, 1992. Google Scholar
Digital Library
- M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec, "Feature interaction: a critical review and considered forecast," Computer Networks, vol. 41, no. 1, pp. 115--141, 2003. Google Scholar
Digital Library
- F. Sanen, E. Truyen, and W. Joosen, "Classifying and documenting aspect interactions," in ACP4IS, pp. 23--26, 2006.Google Scholar
- D. Suvée, W. Vanderperren, and V. Jonckers, "JAsCo: an aspect-oriented approach tailored for component based software development," in AOSD, pp. 21--29, ACM, 2003, . Google Scholar
Digital Library
- A. Navasa, M. A. Pérez-Toledano, and J. M. Murillo, "An ADL dealing with aspects at software architecture stage," Information and Software Technology, vol. 51, no. 2, pp. 306--324, 2009. Google Scholar
Digital Library
- A. Gouya and N. Crespi, "Detection and resolution of feature interactions in IP multimedia subsystem," Int. J. Netw. Manag., vol. 19, pp. 315--337, 2009. Google Scholar
Digital Library
- M. Goldman, E. Katz, and S. Katz, "Maven: modular aspect verification and interference analysis," Formal Methods in System Design, vol. 37, pp. 61--92, 2010. Google Scholar
Digital Library
- S. Krishnamurthi and K. Fisler, "Foundations of incremental aspect model-checking," ACM Transactions on Software Engineering and Methodology, vol. 16, no. 2, pp. 1--39, 2007. Google Scholar
Digital Library
- E. Katz and S. Katz, "Incremental analysis of interference among aspects," in FOAL, pp. 29--38, ACM, 2008. Google Scholar
Digital Library
- A. Marot and R. Wuyts, "Detecting unanticipated aspect interferences at runtime with compositional intentions," in RAM-SE, pp. 31--35, ACM, 2009. Google Scholar
Digital Library
- R. Douence, P. Fradet, and M. Südhot, "Composition, reuse and interaction analysis of stateful aspects," in AOSD, pp. 141--150, ACM, 2004. Google Scholar
Digital Library
- R. Douence, D. L. Botlan, J. Noyé, and M. Südhot, "Concurrent aspects," in GPCE, pp. 79--88, ACM, 2006. Google Scholar
Digital Library
- T. Bures, P. Hnetynka, and F. Plasil, "Sofa 2.0: Balancing advanced features in a hierarchical component model," in ICSER-MA, pp. 40--48, IEEE CS, 2006. Google Scholar
Digital Library
- J.-M. Jézéquel, O. Barais, and F. Fleurey, "Model driven language engineering with Kermeta," in GTTSE 3, LNCS, vol. 6491, pp 201--221. Springer Berlin/Heidelberg, 2011. Google Scholar
Digital Library
- D. Cansell, D. Mery, "Foundations of the B Method," Journal of Computing and Informatics, vol. 22, no. 3--4, pp. 221--256, 2003.Google Scholar
- A. Classen, P. Heymans, P.-Y. Schobbens, and A. Legay. "Symbolic model checking of software product lines", ICSE, ACM, 2011. Google Scholar
Digital Library
Index Terms
Static analysis of aspect interaction and composition in component models
Recommendations
Static analysis of aspect interaction and composition in component models
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringComponent 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 ...
Composition of dynamic analysis aspects
GPCE '10: Proceedings of the ninth international conference on Generative programming and component engineeringAspect-oriented programming provides a convenient high-level model to define several kinds of dynamic analyses, in particular thanks to recent advances in exhaustive weaving in core libraries. Casting dynamic analyses as aspects allows the use of a ...
Composition of dynamic analysis aspects
GPCE '10Aspect-oriented programming provides a convenient high-level model to define several kinds of dynamic analyses, in particular thanks to recent advances in exhaustive weaving in core libraries. Casting dynamic analyses as aspects allows the use of a ...







Comments