TY - GEN
T1 - Comparing white-box, black-box, and glass-box composition of aspect mechanisms
AU - Kojarski, Sergei
AU - Lorenz, David H.
N1 - Copyright:
Copyright 2015 Elsevier B.V., All rights reserved.
PY - 2006
Y1 - 2006
N2 - The manifestation of miscellaneous aspect-oriented extensions raises the question of how these extensions can be used together to combine their aspectual capabilities or reuse aspect code across extensions. While white-box composition of aspect mechanisms can produce an optimal compound mechanism, as exemplified by the merger of ASPECTJ and ASPECTWERKZ into ASPECTJ 5, it comes with a high integration cost. Meanwhile, generic black-box composition can compose arbitrary aspect mechanisms, but may result in a compound mechanism that is suboptimal in comparison to white-box composition. For a particular family of aspect extensions, e.g., ASPECTJ-like mechanisms, glass-box composition offers the best of two worlds. Glass-box may rely on the internal structure of, e.g., a pointcut-and-advice mechanism, without requiring a change to the code of the individual mechanisms. In this paper we compare white-, black-, and glassbox composition of aspect mechanisms. We explain subtle composition issues using an example drawn from the domain of secure and dependable computing, deploying a fault-tolerance aspect written in ASPECTWERKZ together with an access-control aspect written in ASPECTJ. To compare the three composition methods, we integrate a TinyAJ extension with a TinyAW extension, and compare the results of running the aspects in a black-box framework and in a glass-box framework to the result of running these aspects in ASPECTJ 5.
AB - The manifestation of miscellaneous aspect-oriented extensions raises the question of how these extensions can be used together to combine their aspectual capabilities or reuse aspect code across extensions. While white-box composition of aspect mechanisms can produce an optimal compound mechanism, as exemplified by the merger of ASPECTJ and ASPECTWERKZ into ASPECTJ 5, it comes with a high integration cost. Meanwhile, generic black-box composition can compose arbitrary aspect mechanisms, but may result in a compound mechanism that is suboptimal in comparison to white-box composition. For a particular family of aspect extensions, e.g., ASPECTJ-like mechanisms, glass-box composition offers the best of two worlds. Glass-box may rely on the internal structure of, e.g., a pointcut-and-advice mechanism, without requiring a change to the code of the individual mechanisms. In this paper we compare white-, black-, and glassbox composition of aspect mechanisms. We explain subtle composition issues using an example drawn from the domain of secure and dependable computing, deploying a fault-tolerance aspect written in ASPECTWERKZ together with an access-control aspect written in ASPECTJ. To compare the three composition methods, we integrate a TinyAJ extension with a TinyAW extension, and compare the results of running the aspects in a black-box framework and in a glass-box framework to the result of running these aspects in ASPECTJ 5.
UR - http://www.scopus.com/inward/record.url?scp=33746191913&partnerID=8YFLogxK
U2 - 10.1007/11763864_18
DO - 10.1007/11763864_18
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:33746191913
SN - 3540346066
SN - 9783540346067
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 246
EP - 259
BT - Reuse of Off-the-Shelf Components - 9th International Conference on Software Reuse, ICSR 2006, Proceedings
PB - Springer Verlag
CY - 4039
T2 - 9th International Conference on Software Reuse, ICSR 2006
Y2 - 12 June 2006 through 15 June 2006
ER -