APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA...

33
APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA DE FÓRMULAS Autores: Autores: Rafael Hornung Rafael Hornung Simone Nasser Mattos Simone Nasser Mattos Clovis Torres Fernandes Clovis Torres Fernandes 5º CONTECSI 5º CONTECSI 06/06/2008 06/06/2008

Transcript of APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA...

Page 1: 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.

APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA

DE FÓRMULAS

Autores: Autores: Rafael HornungRafael Hornung

Simone Nasser MattosSimone Nasser MattosClovis Torres FernandesClovis Torres Fernandes

5º CONTECSI5º CONTECSI06/06/200806/06/2008

Page 2: 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.

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

Page 3: 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.

1. Objetivos da Apresentação

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.

Sumário Sumário

1. Objetivos da Apresentação1. Objetivos da Apresentação

Page 4: 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.

2. Subframework Desenvolvido

Construído usando o processo dirigido por responsabilidades.

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.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

2. Subframework Desenv.2. Subframework Desenv.

Page 5: 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.

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 semi-completa e reutilizável.

Possui a finalidade de resolver problemas comuns existentes em várias aplicações específicas.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

2. Subframework Desenv.2. Subframework Desenv.

Page 6: 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.

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 Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 7: 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.

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 8: 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.

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 9: 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.

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 Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 10: 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.

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 11: 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.

Projetar Framework de Domínio:

Formado por duas Subfases: Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 12: 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.

Projetar Framework de Domínio:

Formado por duas Subfases: Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 13: 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.

Compreender Aplicação Exemplo:

Axion, Eigenmath, Maxima e Yacas.

Ferramentas gratuitas.

Todas as ferramentas possuem métodos particulares para validação de fórmulas.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 14: 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.

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 Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 15: 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.

Projetar Framework de Domínio:

Formado por duas Subfases: Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 16: 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.

Definir Framework Base e de Aplicação:

Elaboração da modelagem do subframework.

Diagrama de Classes.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 17: 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.

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 18: 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.

Implementar o Framework

Linguagem:Java.

Ferramentas Utilizadas:Eclipse;Omondo;JFlex;CUP.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 19: 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.

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 Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 20: 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.

Expressões Regulares.

Gramática.

Implementar o Framework

^ 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

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 21: 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.

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 22: 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.

Instanciar o Framework:

Instanciação de uma aplicação teste.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 23: 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.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Instanciar o Framework:

Instanciação de uma aplicação teste. Expressão

para Teste:a!a

Page 24: 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.

Instanciar o Framework:

Instanciação de uma aplicação teste.

Expressão para Teste:

a++a

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 25: 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.

Instanciar o Framework:

Instanciação de uma aplicação teste.

Expressão para Teste:

a+a

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 26: 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.

Instanciar o Framework:

Instanciação de uma aplicação teste para um outro domínio.

Adição do Operador Função ‘ ! ’

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 27: 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.

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 Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 28: 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.

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 29: 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.

Validar o Framework:

A sua validação será realizada no framework FRAMEMK, que está em fase de desenvolvimento no GPES.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Page 30: 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.

4. Conclusões

Desenvolvimento baseado em uma análise comparativa de domínio.

Possibilidade do reúso.

Desenvolvimento de novas aplicações com base no subframework.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

Metodologia UtilizadaMetodologia Utilizada

4. Conclusões4. Conclusões

Page 31: 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.

5. Melhoras Necessárias

Validação em outros domínios.

Desenvolvimento de uma interface que facilite essa validação.

Comparação entre essa e outras abordagens para a análise de fórmula.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

Metodologia UtilizadaMetodologia Utilizada

ConclusõesConclusões

5. Melhoras Necessárias5. Melhoras Necessárias

Page 32: 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.

6. Algumas Referências Bibliográficas

GAMMA, E. et al. Design Patterns: Elements of Reusable Object-Oriented 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.

Page 33: 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.

Perguntas?