Aspect-oriented languages provide means to superimpose aspectual behavior on a given set of join points. It is possible that not just a single, but several units of aspectual behavior need to be superimposed on the same join point. Aspects that specify the superimposition of these units are said to "share" the same join point. Such shared join points may give rise to issues such as determining the exact execution order and the dependencies among the aspects. In this paper, we present a detailed analysis of the problem, and identify a set of requirements upon mechanisms for composing aspects at shared join points. To address the identified issues, we propose a general and declarative model for defining constraints upon the possible compositions of aspects at a shared join point. Finally, by using an extended notion of join points, we show how concrete aspect-oriented programming languages, particularly AspectJ and Compose*, can adopt the proposed model.
|Title of host publication||Proceedings of International Conference NetObjectDays, NODe2005|
|Editors||R. hirschfeld, R. Kowalczyk, A. Polze, M. Weske|
|Place of Publication||Bonn, Germany|
|Publisher||Gesellschaft für Informatik|
|Number of pages||22|
|Publication status||Published - Sep 2005|
|Name||Lecture Notes in Informatics|
|Publisher||Gesellschaft fuer Informatik (GI)|
Nagy, I., Bergmans, L., & Aksit, M. (2005). Composing Aspects at Shared Join Points. In R. hirschfeld, R. Kowalczyk, A. Polze, & M. Weske (Eds.), Proceedings of International Conference NetObjectDays, NODe2005 (pp. 19-38). (Lecture Notes in Informatics; Vol. P-69). Bonn, Germany: Gesellschaft für Informatik.