UTILIZANDO A ABORDAGEM DIRIGIDA A RESPONSABILIDADES PARA A CRIAÇÃO DO SUBFRAMEWORK DE ANÁLISE SINTÁTICA E SEMÂNTICA DE FÓRMULAS Rodolfo Adamshuk Silva [Bolsista] Orientadora: Profa. Simone Nasser Matos
Agenda Introdução Pesquisa na Literatura Criação do Subframework de Validação Semântica Análise Sintática Análise Semântica Unificação dos Analisadores Sintáticos e Semânticos Resultados Conclusão Referências Agradecimentos
Introdução No ambiente comercial, os clientes estão pesquisando preços e procurando qualidade. Necessidade de um aplicativo que otimize a validação e o cálculo de fórmulas. Criação do subframework para Análise Sintática e Semântica de Fórmulas. Executado em ambiente web. Desenvolvido uma linguagem de programação que permite a portabilidade.
Pesquisas na Literatura Composição do preço de venda. “Preço = custo + lucro + impostos + comissões” Padrões de projeto. Maneira eficiente de resolver problemas. F-UML. É uma extensão da linguagem UML cujo objetivo é atender a restrições da modelagem de framework. Framework de domínio. Encapsular o conhecimento e especialidade em um domínio de problema particular.
Criação do Subframework de Validação Semântica Análise das abordagens e escolhida a de Matos e Fernandes (2007). Vantagens: ▫Estilo arquitetural. ▫Aplicação de padrões de projeto e metapadrões. Frozen spots – Pontos de estabilidade – Pontos gerais do domínio. Hot spots – Pontos de flexibilidade – Pontos específicos.
Criação do Subframework de Validação Semântica 5 passos para a construção do framework ▫Passo 1 – Identificar os Frozen e Hot Spots a Partir dos Requisitos dos Subsistemas. ▫Passo 2 – Elaborar o diagrama de classes que satisfazem os requisitos do framework. ▫Passo 3 – Identificar os possíveis subframeworks. ▫Passo 4 – Criar o diagrama de classes UML-F para os subframeworks. No caso do subframework cuja finalidade é de verificar semanticamente uma fórmula, obteve-se o pacote “validacaoSemantica”.
Diagrama de classes
Análise Sintática Análise léxica – Verificar os caracteres aceitos pela linguagem. Parsing - Verificar se um agrupamento de token, obtidos pela Análise Léxica é válido para a linguagem analisada. Ex: A+B Correto A+-B Incorreto
Análise Semântica Segundo Kashyap e Sheth (1992) a semântica é o estudo científico das relações entre símbolos e sinais e o que eles representam ou significam. A semântica em relação a uma fórmula é calcular o seu resultado. Ex: A=10 B=5 A+B=15 Correto A+B=20 Incorreto
Unificação dos Avaliadores Sintático e Semântico. Acoplar ao avaliador semântico o avaliador sintático. Após fazer este acoplamento, a árvore do projeto possui todos os pacotes necessários para a realização da análise semântica. O segundo passo consiste em criar uma instância da classe motor do analisador semântico para que este seja executado caso a análise sintática seja concluída com sucesso. Com isso, finaliza-se a unificação dos subframeworks de análise sintática e semântica.
Resultados Sistema que realiza a Análise Sintática e Semântica de Fórmulas, sendo executado em ambiente web e desenvolvido uma linguagem de programação que permita a portabilidade. O analisador léxico e sintático foi desenvolvido usando JFlex (versão 1.4.1) e CUP (versão 0.10j). Para o analisador semântico, utilizou-se como referência o padrão Interpreter. O diferencial é que está interligado a um banco de dados, deixando a semântica dinâmica.
Conclusão Utilização da abordagem dirigida por responsabilidades. Unificação dos subframeworks de análise sintática e semântica. Como resultado do processo proposto, criou-se um suframework que pode ser utilizado em outra aplicação, pois suas classes frozen e hot spots já estão identificadas.
Referencias MATOS, S. N.; FERNANDES, C. T. Using responsibilities for early identification of hot spot reused in framework modeling. In: IEEE International Workshop on Security, Trust, and Privacy for Software Applications. 3.. Proceedings… Turku: IEEE Computer Society Press, KASHYAP, V., SHETH, A. (1992) So Far (Schematically) yet So Near (Semantically).
Agradecimentos FUNTEF Campus Ponta Grossa: pelo apoio financeiro COINF : laboratórios de informática DEPOG Atualmente o projeto está sendo financiado pela Fundação Araucária.
Obrigado.