Mudanças entre as edições de "PTC29008: Projeto 2: Protocolo de aplicação"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com '''Projeto 2: um protocolo de aplicação; especificação e modelagem informal do protocolo'' * '''Objetivo:''' ** Propor um protocolo de aplicação ** Descrever formalmente o ...')
 
Linha 27: Linha 27:
  
  
No início da disciplina realizou-se um exercício sobre a especificação e implementação de um [[PTC29008:_Diretrizes_para_projeto_de_protocolo#TAREFA:_um_protocolo_simples|protocolo para publicação em murais]]. Naquele momento o desenvolvimento do protocolo foi em larga medida informal. No projeto 2 esse protocolo será retomado, porém seguindo as [[PTC29008:_Diretrizes_para_projeto_de_protocolo|diretrizes para especificação e desenvolvimento de protocolos]].
+
No início da disciplina realizou-se um exercício sobre a especificação e implementação de um [[PTC29008:_Diretrizes_para_projeto_de_protocolo#TAREFA:_um_protocolo_simples|protocolo para publicação em murais]]. Naquele momento o desenvolvimento do protocolo foi em larga medida informal. No projeto 2 um novo protocolo será desenvolvido seguindo as [[PTC29008:_Diretrizes_para_projeto_de_protocolo|diretrizes para especificação e desenvolvimento de protocolos]].
  
 
= Especificação do protocolo =
 
= Especificação do protocolo =

Edição das 09h22min de 19 de abril de 2018

Projeto 2: um protocolo de aplicação; especificação e modelagem informal do protocolo

  • Objetivo:
    • Propor um protocolo de aplicação
    • Descrever formalmente o protocolo proposto

Protocolos de aplicação


Protocolos de aplicação têm a finalidade de efetuar intercâmbio de dados entre aplicações específicas. Por sua própria definição, são protocolos muito especializados quando comparados a protocolos de comunicação. Estes últimos oferecem serviços de comunicação mais genéricos, capazes de transportarem dados independente de suas representações e suportarem diferentes modos de interação. Protocolos de aplicação, por sua vez, são projetados para o intercâmbio de dados com representação específica, e para realizarem interações com características particulares entre aplicações.

Alguns protocolos de aplicação conhecidos são:


Protocolos de aplicação podem ser caracterizados em diferentes dimensões, porém duas delas são bastante evidentes:

  • Arquitetura da aplicação: entidades se comunicam com um protocolos segundo algum modelo de comunicação, o qual define as características das interações. Por exemplo: quem inicia a comunicação; quantas entidades podem se comunicar em uma sessão; como entidades se identificam ou se endereçam. Modelos bem conhecidos são cliente-servidor, P2P e publisher-subscriber.
  • Sintaxe e codificação: mensagens de um protocolo são estruturadas para conterem um ou mais dados, os quais podem estar representados de diferentes maneiras. Por exemplo, mensagens podem conter uma quantidade de dados fixa ou variável, dados de um único tipo ou de diferentes tipos, e dados podem ser representados codificados em ASCII, UTF-8 ou segundo alguma codificação binária.


No início da disciplina realizou-se um exercício sobre a especificação e implementação de um protocolo para publicação em murais. Naquele momento o desenvolvimento do protocolo foi em larga medida informal. No projeto 2 um novo protocolo será desenvolvido seguindo as diretrizes para especificação e desenvolvimento de protocolos.

Especificação do protocolo

  • Objetivos:
    • definir o serviço a ser provido pelo protocolo
    • determinar o vocabulário do protocolo
    • especificar suas regras de procedimento usando máquinas de estado finitos


O protocolo de aplicação a ser desenvolvido deve ser especificado. Isso implica sua descrição sem ambiguidades, para que possa ser corretamente implementado. A especificação envolve a definição do serviço oferecido, seu vocabulário e sintaxe, sua gramática, e a verificação de seu comportamento. Sua implementação se chama entidade de protocolo, sendo composta por software e (por vezes) hardware.

Isso envolve:

  1. Descrever a comunicação envolvida na aplicação
  2. Definir o serviço a ser provido pelo protocolo, o que inclui a interface de acesso a serviço

Atividade: modelo do protocolo de aplicação com MEF

  1. Serviço: descreva o serviço a ser oferecido pelo protocolo
  2. Defina o vocabulário do protocolo de aplicação, incluindo os tipos de mensagens e suas sintaxes.
  3. Modele o comportamento do protocolo de aplicação com uma MEF. Para isso identifique os componentes da MEF capazes de representar as regras de procedimento do protocolo: estados, mensagens e eventos, transições. Em seguida, faça um diagrama da MEF do protocolo.