Hi Mario: Here are some thoughts on a common project: Aspect-Interaction in Socrates: Applying your aspect-interaction analysis to Socrates: http://www.ccs.neu.edu/research/demeter/theses/orleans/dissertation-oct19.pdf More Expressive Pointcut Languages: In Socrates we have a pointcut language that is too expressive making it difficult to precompute predicate implications. How can we have a less expressive predicate language so that predicate implication becomes tractable and the language is still useful? This is related to your work on more expressive pointcut languages and our work of analyzing the complexity of pointcut languages. In order to abstract an aspect from a program to eliminate duplication, we need an "architecture" that defines a coordinate system to point to the places of duplication and we need design rules or contracts that we need to follow if we want to reuse the aspect in a new context. An interesting issue is the study of coordinate systems design rule/contract languages. -- Karl Jan. 9, 2005