APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA DE FÓRMULAS Autores: Rafael Hornung Simone Nasser Mattos Clovis Torres Fernandes 5º CONTECSI 06/06/2008 Sumário 1. Objetivos da Apresentação 2. Subframework de Domínio para Validação de Fórmulas 3. Metodologia Utilizada 4. Conclusões 5. Melhoras Necessárias 6. Algumas Referências Bibliográficas 1. Objetivos da Apresentação Sumário Demonstrar o subframewok de domínio para validação sintática de fórmulas matemáticas. Demonstrar a metodologia que foi aplicada para o seu desenvolvimento. 1. Objetivos da Apresentação 2. Subframework Desenvolvido Construído usando o processo dirigido por responsabilidades. Sumário Objetivos da Apresentação 2. Subframework Desenv. Analisa sintaticamente a fórmula utilizando-se de algoritmos de Análise Léxica e Sintática. Apresenta mensagem de erro detalhada no caso de encontrar alguma inconsistência na fórmula. O que é um Framework Este subframework pode ser considerado um framework, se analisado individualmente. Um framework é um conjunto de classes que interagem formando uma aplicação semicompleta e reutilizável. Possui a finalidade de resolver problemas comuns existentes em várias aplicações específicas. Sumário Objetivos da Apresentação 2. Subframework Desenv. 3. Metodologia Utilizada A metodologia utilizada para o desenvolvimento do subframework é a proposta por Matos e Fernandes. Aborda a determinação dos pontos de estabilidade e flexibilidade no início do projeto. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada 3. Metodologia Utilizada Fases do Desenvolvimento: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada 3. Metodologia Utilizada Fases do Desenvolvimento: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Definir o Domínio: Uma fórmula é uma representação simbólica de uma informação, composta por expressões matemáticas. Expressões matemáticas são formadas pela iteração entre números operadores, variáveis e sinais gráficos. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada 3. Metodologia Utilizada Fases do Desenvolvimento: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Projetar Framework de Domínio: Formado por duas Subfases: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Projetar Framework de Domínio: Formado por duas Subfases: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Compreender Aplicação Exemplo: Axion, Eigenmath, Maxima e Yacas. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Ferramentas gratuitas. Todas as ferramentas possuem métodos particulares para validação de fórmulas. Compreender Aplicação Exemplo: Então por quê criar esse subframework? Mensagens incompletas. Mensagens em língua não nativa. Não há possibilidade de alteração das mensagens. Não foram projetadas para permitir o reúso. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Projetar Framework de Domínio: Formado por duas Subfases: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Definir Framework Base e de Aplicação: Elaboração da modelagem do subframework. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Diagrama de Classes. 3. Metodologia Utilizada Fases do Desenvolvimento: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Implementar o Framework Sumário Linguagem: Objetivos da Apresentação Java. Subframework Desenvolvido 3. Metodologia Utilizada Ferramentas Eclipse; Omondo; JFlex; CUP. Utilizadas: Implementar o Framework A abordagem escolhida para realizar a análise nas fórmulas é a mesma utilizada por compiladores. Análise Léxica; Expressões Regulares. Análise Sintática. Gramática. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Implementar o Framework Expressões Regulares. ^ Expoente a-z Letras de a até z (Concatenados ou não) * Multiplicação A-Z Letras de A até Z (Concatenados ou não) / Divisão 0-9 Números de 0 até 9 (Concatenados ou não) + Adição () Parêntese - Subtração , Vírgula = Igualdade _ Underscore Gramática. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada 3. Metodologia Utilizada Fases do Desenvolvimento: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Instanciar o Framework: Instanciação de uma aplicação teste. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Instanciar o Framework: Instanciação de uma Expressão aplicação teste. para Teste: a!a Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Instanciar o Framework: Sumário Instanciação de uma aplicação teste. Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Expressão para Teste: a++a Instanciar o Framework: Sumário Instanciação de uma aplicação teste. Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Expressão para Teste: a+a Instanciar o Framework: Instanciação de uma aplicação teste para um outro domínio. Adição do Operador Função ‘!’ Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Instanciar o Framework: Instanciação de uma aplicação teste para um outro domínio. Adição do Operador Função ‘!’ Expressão para Teste: a!a Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada 3. Metodologia Utilizada Fases do Desenvolvimento: Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada Validar o Framework: A sua validação será realizada no framework FRAMEMK, que está em fase de desenvolvimento no GPES. Sumário Objetivos da Apresentação Subframework Desenvolvido 3. Metodologia Utilizada 4. Conclusões Desenvolvimento baseado em uma análise comparativa de domínio. Sumário Objetivos da Apresentação Subframework Desenvolvido Metodologia Utilizada 4. Conclusões Possibilidade do reúso. Desenvolvimento de novas aplicações com base no subframework. 5. Melhoras Necessárias Validação em outros domínios. Sumário Objetivos da Apresentação Subframework Desenvolvido Desenvolvimento de uma interface que facilite essa validação. Comparação entre essa e outras abordagens para a análise de fórmula. Metodologia Utilizada Conclusões 5. Melhoras Necessárias 6. Algumas Referências Bibliográficas GAMMA, E. et al. Design Patterns: Elements of Reusable ObjectOriented Software. New York: Addison-Wesley, 1994. 424p. GPES. Grupo de Pesquisa de Engenharia de Software. Disponível em <http://www.pg.utfpr.edu.br/coinf/gpes/> acesso em 09-nov-2007. JOHNSON, R. E.; FOOTE, B. Designing Reusable Classes. Journal of the Object-Oriented Programming, v.1, n.2, p.22-35, 1988. MATOS, S. N.; FERNANDES, C.T. Defining the Architectural Design of Framework through a Group of Subframework Created from Frozen and Hot Spots. In: International Conference on Software Engineering Advances, 2006, Tahiti. Proceedings IEEE Computer Society Press, 2006. TALIGENT. Building object-oriented frameworks. A Taligent White Paper. 1994. YASSIN, A., FAYAD, M. E. Application frameworks: A survey. In: FAYAD, M. E., JOHNSON, R. E. Domain-Specific Application Frameworks: Frameworks Experience by Industry. New York: John Wiley & Sons, 2000. Cap. 29 p.615-632. Perguntas?