• Sonuç bulunamadı

Resen Tahkik Kapsamında İspat Ve Delil Müesseses

1.2. Vergi Yargılama Usulü Ve İlkeler

1.2.1.1. Resen Tahkik Kapsamında İspat Ve Delil Müesseses

servindo de orientação sobre o que já foi e o que está sendo feito para o reutilizador; também exibe erros encontrados na compilação de cookbooks ou na importação de arquivos XMI.

Figura 23 – Tela de configuração da ferramenta. Fonte: O autor.

Além da tela principal, as funcionalidades também possuem telas auxiliares de forma a exibir e receber dados específicos. A tela de configuração (Figura 23) possibilita ao reutilizador informar: qual o perfil de programação do framework e do código-base (que define tipos de dados, propriedades de elementos, etc.); qual o perfil de modelagem (que define como os elementos da POA são representados em XMI); o caminho em que se encontram as bibliotecas de padrões de reúso; e as informações a respeito da distribuição de tarefas (para execução distribuída de tarefas paralelas/concorrentes).

Figura 24 – Tela de carga de artefatos. Fonte: O autor.

A funcionalidade de carregar artefatos também possui uma tela específica (Figura 24). Nessa tela é possível definir: qual etapa de reúso será realizada; o arquivo contendo o cookbook correspondente à etapa selecionada; o arquivo XMI contendo o diagrama de classes/aspectos do framework; e, caso seja selecionada a etapa de composição, o arquivo

XMI contendo o código-base ao qual o framework será acoplado. Após o reutilizador selecionar os artefatos e apertar o botão Load (Carregar), a ferramenta processa o cookbook, exibindo-o no quadro interno Cookbook Editor e compilando-o na seqüência. Também são processados os arquivos XMI, sendo estes importados para um modelo em memória, pronto para ser usado pela máquina virtual RDL+Aspects. Além disso, os elementos do modelo importado são exibidos de forma hierárquica no quadro Artifact Tree. Se existirem erros de compilação do cookbook ou de importação dos arquivos XMI, eles serão exibidos no quadro Execution Status.

Uma vez iniciada a execução da etapa de reúso, a Reuse Tool apresenta algumas telas relacionadas à semântica de alguns comandos RDL+Aspects, que necessitam de informações específicas do perfil de programação do framework e/ou da interação com o reutilizador. Os comandos que possuem telas específicas são: criação de classe, criação de método, criação de atributo, criação de aspecto, criação de conjunto de junção, criação de adendo, escolha de elemento, extensão de classe por seleção, seleção de valor, extensão de aspecto por seleção, seqüência OU, seqüência OU-Exclusivo, laço e interação com o reutilizador.

Todos os comandos de criação de elementos (classe, método, atributo, aspecto, conjunto de junção, adendo) e os de introdução de método e atributo possuem telas específicas para que o reutilizador forneça as informações adicionais necessárias de acordo com o perfil de programação configurado. Como exemplos, na Figura 25 são mostradas as telas dos comandos de criação de classe e de método para o perfil Java+AspectJ.

Figura 25 – Telas específicas dos comandos de criação de classe e de método. Fonte: O autor.

O comando de escolha questiona o reutilizador se determinado elemento estará presente no projeto final ou se deve ser removido. Isso é feito com uma tela que exibe a pergunta contendo o nome do elemento e botões para Sim e Não (Figura 26).

Figura 26 – Tela da escolha de elemento. Fonte: O autor.

Os comandos de seleção apresentam uma lista de valores possíveis, dos quais o reutilizador deve selecionar um: para a extensão de classe por seleção são apresentadas as subclasses concretas da classe especificada; para a extensão de aspecto por seleção são apresentados os subaspectos concretos do aspecto especificado; e para a seleção de valor é apresentada a lista fornecida como parâmetro. Como exemplo é mostrada na Figura 27 a tela para o comando de extensão de classe por seleção.

Figura 27 – Tela da seleção de subclasse. Fonte: O autor.

Os comandos de seqüência OU (o) e OU-Exclusivo (xo) também necessitam da interação com o reutilizador, que deve decidir qual comando será executado. Para isso, uma tela mostra quais as possíveis alternativas ao reutilizador, que seleciona as opções desejadas conforme as necessidades da aplicação sendo desenvolvida (Figura 28).

Figura 28 – Telas dos comandos OU e OU-Exclusivo. Fonte: O autor.

O comando de laço repete a execução de um ou mais comandos tantas vezes quantas o reutilizador desejar. Para isso, após cada execução do bloco de comandos definido, a Reuse Tool questiona o reutilizador se deseja continuar repetindo ou não com a tela mostrada na Figura 29.

Figura 29 – Tela do comando de laço. Fonte: O autor.

Por fim, o comando específico de interação também possui telas que possibilitam ao reutilizador entrar com informações em determinado ponto do cookbook. Como esse comando depende do contexto para retornar um valor, existem diversas telas, uma para cada contexto:

Contexto string ou numérico – o comando abre uma tela contendo um campo onde o reutilizador poderá digitar o valor desejado (Figura 30). No caso do contexto numérico, só dígitos e o separador decimal são permitidos;

Figura 30 – Interação string. Fonte: O autor.

Contexto booleano – abre uma tela que possibilita a escolha ou do valor verdadeiro ou do falso;

Figura 31 – Interação booleana. Fonte: O autor.

Contexto de um elemento UML – de acordo com o elemento em questão (classe, método, atributo, aspecto, conjunto de junção, adendo), abre uma tela específica onde o reutilizador deve informar o nome do elemento desejado. Após, executa internamente o comando de busca apropriado, passando o nome informado;

Figura 32 – Interação de elemento UML. Fonte: O autor.

Contexto de ponto de junção – abre uma tela em que possibilita fornecer o ponto de junção, pela escolha de um elemento do projeto (tipo e nome).

Figura 33 – Interação de ponto de junção. Fonte: O autor.

5.4 C

ONSIDERAÇÕES

F

INAIS

Como o processo de reúso de um FOA pode se tornar uma tarefa árdua, o uso de uma ferramenta que auxilie o reutilizador diminui o esforço necessário para o desenvolvimento de uma aplicação. A ferramenta Reuse Tool foi desenvolvida com o objetivo de assistir o processo de reúso de FOAs.

A Reuse Tool facilita a execução do processo de reúso, aumentando o controle sobre o mesmo por parte do reutilizador. Também possibilita a verificação do modelo da aplicação final, diminuindo possíveis erros que a execução manual do reúso poderia causar.