Interface-Based aspect-oriented programming in Compose*: Its language independency, semantic point-cuts and aspect interference detection possibilities

By Mehmet Akşit
Chair Software Engineering
University of Twente, Enschede
The Netherlands


Composition-Filters (CF's) is one of the first "aspect-oriented programming (AOP) language paradigms" which is based on the "interface programming" concept; its earliest version was published as early as 1988 (OOPSLA'88). Naturally, like all practical languages, CF's has gone through substantial evolution. Compose* is a language which implements the concept of CF in the .NET environment. Compared to other AOP languages, Compose* has several advantages such as language independency, "semantic point-cuts" and be able to reason about the semantics of the composed program more affectively than the invasive languages.

This talk will start with comparing interface versus invasive AO programming. Second, the language independence feature of Compose* will be explained by showing how aspects written in different languages such as C and Java can be composed together; this is mainly possible due to its interface programming feature and the usage of semantic point-cuts. Thirdly, the declarative feature of the language will be utilized in reasoning about the semantic interference among multiple advices; (a) by using graph-based, and (b) by resource-model based techniques. Demonstrations will be given when possible.

Page last modified Saturday, October 31, 2009.