This paper presents a reflective architecture and an implemented prototype that supports aspect oriented programming in Smalltalk. The aspects are metaobjects which are weaved dynamically and the composition is noninvasive, thus enhancing flexibility and transparency.