Aspect oriented programming (AOP) seeks to decompose concerns which crosscut system structure into more manageable modules. However, current AOP techniques alone lack the configuration mechanisms and generalisation capabilities that are required to realise variability (through clear reuse specifications). Conversely, frame technology provides extensive mechanisms for providing reuse and configuration yet cannot effectively modularise crosscutting concerns. This paper proposes ‘framed aspects’ a technique and methodology which combines the respective strengths of AOP, frame technology and Feature-Oriented Domain Analysis (FODA). We argue that framed aspects can alleviate many of the problems the technologies have when used in isolation and also provide a framework for implementing fine-grained variability. The approach is demonstrated with the design and implementation of a generic caching component.