Protótipo de um weaver para programação orientada a aspectos em ...
Protótipo de um weaver para programação orientada a aspectos em ...
Protótipo de um weaver para programação orientada a aspectos em ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Dentre as ativida<strong>de</strong>s apresentadas no diagrama ilustrado na figura 1, se <strong>de</strong>staca aativida<strong>de</strong> Weaving, principal ativida<strong>de</strong> da ferramenta. Nela é representado o processo<strong>de</strong>s<strong>de</strong> a seleção das units que serão analisadas pelo <strong>weaver</strong> até a junção do códigocontido no advice, quando este é inserido no método interceptado por <strong>um</strong> pointcut. Odiagrama <strong>de</strong> ativida<strong>de</strong>s do processo weaving érepresentadonafigura2.Figura 2: Diagrama <strong>de</strong> ativida<strong>de</strong>s do processo <strong>de</strong> weavingNeste processo, inicialmente a ferramenta extrai do arquivo <strong>de</strong> projeto Delphi,que será afetado pelos <strong>aspectos</strong>, as units que estão diretamente associadas ao projeto eadiciona-as a <strong>um</strong>a fila. Essas units também são lidas, e <strong>de</strong>las são extraídas as units asquais elas se refer<strong>em</strong>, e as mesmas são adicionadas à fila. Este processo se repete <strong>para</strong>todas as units referenciadas no projeto. Em seguida, o <strong>weaver</strong> varre a lista <strong>de</strong> <strong>aspectos</strong>do projeto e <strong>para</strong> cada aspecto, varre a lista <strong>de</strong> pointcuts, gerando expressões regularesbaseadas <strong>em</strong> suas informações. Essas expressões regulares são parâmetros <strong>de</strong> busca nas