A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Avaliação de ETAP Uma linguagem para descrição de protocolos Aluno: Thiago Souto Maior Cordeiro de Farias Orientadora: Judith Kelner.

Apresentações semelhantes


Apresentação em tema: "Avaliação de ETAP Uma linguagem para descrição de protocolos Aluno: Thiago Souto Maior Cordeiro de Farias Orientadora: Judith Kelner."— Transcrição da apresentação:

1 Avaliação de ETAP Uma linguagem para descrição de protocolos Aluno: Thiago Souto Maior Cordeiro de Farias Orientadora: Judith Kelner

2 Roteiro O Problema Solução Proposta Linguagens de Propósito Específico Avaliação das Linguagens Estado da Arte Prolac Esterel TAP Sugestão: ETAP Comparação Geral Eficiência de ETAP Conclusões Referências

3 O Problema: Escrever Protocolos Tarefa repetitiva Dificuldade de depuração Dependência do sistema operacional na maioria das linguagens Portabilidade e Extensibilidade comprometidas

4 Solução Proposta: Linguagens de propósito específico Gramática reduzida Simplificam o código para uma determinada tarefa Tornam o código mais legível Aumenta o nível de abstração e a produtividade do programador

5 Linguagens de Propósito Específico Quais são as características de uma boa linguagem? Geração de código Integração O que é e para que serve linguagem alvo?

6 Utilização das linguagens linguagem de descrição X linguagem alvo Diminuir código escrito diretamente na linguagem alvo Protocolo Código gerado por uma linguagem de descrição Código escrito pelo programador

7 Avaliação das linguagens de descrição Métricas Construção de mensagens Marshalling e Unmarshalling Envio e recebimento Temporizadores Tipos de dados Camada de transporte Mapeamento em Autômato Interação Modularidade Geração de Código

8 Relação entre quantidade de Código gerado e código escrito Legibilidade do código gerado Portabilidade do código gerado Eficiência do código gerado

9 Estado da Arte Escopo da avaliação: Geração de código portável independente de biblioteca de terceiros Geração apenas do código necessário para prover a comunicação da aplicação hospedeira Aplicação hospedeira Código gerado pela linguagem Aplicação hospedeira Código gerado pela linguagem Rede

10 Estado da Arte Prolac Esterel TAP

11 Prolac Legibilidade Facilidade de manutenção e extensão Eficiência Utiliza paradigma orientado a objetos C utilizada como linguagem alvo Não possui construções para envio e recebimento de mensagens nem também para temporização Código Prolac { código C } Módulo de envio de mensagens { código C } Módulo de temporização

12 Esterel Linguagem Síncrona Projetada para sistemas reativos Alto nível Utilizada para modelar circuitos, sistemas embarcados, interfaces homem-máquina e protocolos de comunicação Várias linguagens alvo (C, VHDL...) Baseada em transmissão de sinais Sincronização entre processos paralelos Não possui construções na linguagem para especificar as mensagens na própria linguagem Não possui construções para envio e recebimento de mensagens nem também para temporização

13 Integração de Esterel Módulo de envio/recepção de mensagens Módulo temporizador Módulo de descrição do protocolo Sinais para comunicação entre módulos

14 Código Esterel X Autômato

15 TAP Utiliza linguagem C como alvo Gera código para sistemas operacionais baseados no Unix Limitação na construção de mensagens Forte associação com a linguagem alvo Só utiliza UDP

16 Processo de Compilação e integração de TAP Código TAP APC Resto da Aplicação Código gerado na linguagem C GCC Progra ma

17 Sugestão: ETAP Criada para suprir as dificuldades e carências das outras linguagens Baseada em TAP Utilização da ferramenta Protomake Suporte a várias linguagens alvo Geração de plugins para o Ethereal Geração de código independente da linguagem alvo Suporte a UDP e TCP Multiprocesso Facilmente traduzida em autômatos

18 Tradução de ETAP em autômatos

19 Compilação e Integração de ETAP Código ETAP Protomake Resto da Aplicação Código da aplicação de teste GCC Progra ma Código do protocolo gerado pelo Protomake Plugin do Ethereal Código Fonte do Ethereal

20 Outras Facilidades de ETAP Parâmetros do protocolo controlados por arquivo de configuração Endereços constantes e portas Geração de aplicação de teste através da ferramenta Protomake

21 Depuração com Ethereal Sem Plugin

22 Depuração com Ethereal Com Plugin

23 Comparação Geral de Acordo com as Métricas

24 Eficiência de ETAP Teste utilizando script bash 5000 conexões seqüenciais com 50 repetições Tempo médio de resposta: s Neste teste, foi utilizado um protocolo de echo Manipulação de conexões/min Teste realizado num Athlon xp MB RAM, Linux

25 Conclusões ETAP oferece ótimos recursos para construção de protocolos, comparado às outras linguagens Bom tempo de resposta, podendo ser utilizada tanto para prototipação quanto para a construção de novos protocolos de rede

26 Trabalhos Futuros Extender a ferramenta de compilação da linguagem ETAP para gerar autômato correspondente Comparar o resultado do teste de eficiência com aplicações feitas manualmente

27 Referências Farias T. S. M. C., Cananéa I. C. et al (2004), Protomake: Um compilador de protocolos, SBRC o Simpósio Brasileiro de Redes de Computadores, 10 a 14 de maio de 2004, Gramado RS. Esterel Synchronous Language Web Main Page, Documentos, histórico e exemplos disponíveis em sop.inria.fr/esterel.org/. Acesso em 5 de setembro de CEC: The Columbia Esterel Compiler, disponível em Acesso em 5 de setembro de The Prolac Protocol Language, disponível em Acesso em 5 de setembro de Kohler, E. ( ), Prolac language reference manual, 29 de agosto de Kohler, E. (1997), Prolac: A language for protocol compilation, Master Thesis, setembro de 1997, Massachusetts Institute of Technology. Kohler, E. et al (1999), A Readable TCP in the Prolac Protocol Language, ACM SIGCOMM'99.

28 Referências Barry, G., Gonthier G. (1988), Incremental Development of an HDLC Protocol in ESTEREL, Ninth International Symposium on Protocol Specification, Testing, and Verification, North Holland, McGuire, T. M. (2004), The Austin Protocol Compiler Reference Manual, 7 de maio de McGuire, T. M. (2004), Correct Implementation of Network Protocols, PhD thesis, The University of Texas at Austin, maio de The Austin Protocol Compiler, disponível em Acesso em 5 de setembro de Ely D., Savage S., Wetherall D. (2001), Alpine: A User-Level Infrastructure for Network Protocol Development, 3rd USENIX Symposium on Internet Technologies and Systems, páginas , março de Ethereal: The world's most popular network protocol analyzer, disponível em Acessado em 5 de setembro de IEEE POSIX®: Portable Operating System Interface, disponível em Acessado em 5 de setembro de Berkeley Software Design, disponível em Acessado em 5 de setembro de 2004.

29 Avaliação de ETAP Uma linguagem para descrição de protocolos


Carregar ppt "Avaliação de ETAP Uma linguagem para descrição de protocolos Aluno: Thiago Souto Maior Cordeiro de Farias Orientadora: Judith Kelner."

Apresentações semelhantes


Anúncios Google