Declaring static crosscutting dependencies in AspectJ

Aspect-Oriented Programming (AOP) is considered a promising approach for Software Product Line (SPL) implementation. In this paper we present the problem of dependency in inter-type method declarations as well a proposal of two new constructs to AspectJ interfaces: introduces and declares. These constructs can be used to declare and check dependency between base code and aspects in such a way to support separate development.