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

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

Alexandre Mota (acm@cin.ufpe.br) Introdução a CSP Alexandre Mota (acm@cin.ufpe.br)

Apresentações semelhantes


Apresentação em tema: "Alexandre Mota (acm@cin.ufpe.br) Introdução a CSP Alexandre Mota (acm@cin.ufpe.br)"— Transcrição da apresentação:

1 Alexandre Mota (acm@cin.ufpe.br)
Introdução a CSP Alexandre Mota

2 Objetivos Apresentar a linguagem CSP
Destacar os principais elementos de CSP Apresentar correspondência entre fluxo de eventos e CSP através de exemplo Possíveis ligações entre CSP e UML

3 CSP Hoare (1985) e Roscoe (1998) Linguagem formal para modelar aspectos comportamentais Estruturas de dados não muito abstratas Troca de informações (interação) se dá via comunicação Modelo de comunicação é síncrono

4 Elementos de CSP ... Ambiente EventosA EventosB Processo1 EventosH
EventosC ... EventosG EventosF EventosD Processon EventosE Ambiente Alfabeto =  Eventos

5 Exemplo Simples Caixa Automático Terminal Leitor Ótico 7 8 9 4 5 6 1 2
3 Leitor Ótico X

6 Processos CaixaAutomatico Terminal Interação Ambiente Interação
(Cliente) Interação Interação LeitorOtico

7 Leitor: Modelagem Informal
LeitorOtico Aguarda um cartão ser inserido Tenta decodificar dados do cartão Se decodificação não foi bem-sucedida Avisa ao Terminal Volta ao passo 1 Se decodificação foi bem-sucedida Envia dados decodificados para Terminal

8 Leitor: Modelagem Formal
LeitorOtico = cartao?dados  AnalisaDados(dados) AnalisaDados(dados) = decodNOk  LeitorOtico < isDec(dados) > decodOk  EnviaCA(dados) EnviaCA(dados) = transf!dec(dados)  LeitorOtico

9 Terminal: Modelagem Informal
Aguarda sinal do leitor ótico Se o sinal for de decodificação bem-sucedida Recebe informações do cartão decodificadas Interage com o cliente Volta ao passo 1 Se o sinal for de decodificação mal-sucedida Informa ao cliente que houve problema de leitura do cartão (Sub-Fluxo)

10 Terminal: Modelagem Formal
Terminal = decodOk  transf?infoC  Sistema(info) decodNOk  ProbLeitura Sistema(info) = ... ProbLeitura = tela!Leitura_Invalida._Favor_Repetir  Terminal

11 Comportamento Interno
Sistema(info) = saque  SAQUE(info)  transferencia  TRANSF(info) ...  outros  OUTROS(info) SAQUE(info) = cc  TRANSAC(info, CC)  poup  TRANSAC(info, P) ... TRANSAC(info, op) = ...  senha?s  codigo?c  (central!info!s!c  (ok  nOk  ...) )

12 Combinando as Partes ... CaixaAutomatico = Terminal || LeitorOtico I
Onde I = {decodOk, decodNOk, transf} CaixaAutomatico = ( Terminal || LeitorOtico ) \ I I

13 Principais Operadores de CSP
Processo Operadores a  P P  Q P Q P || Q P ||| Q P \ X P < b > Q Pré-fixo Escolha Externa Escolha Interna Paralelismo Interleaving Hiding Se Então Senão X Nota: Alguns dos operadores acima possuem versões indexadas

14 Analisando CSP Uma das vantagens da modelagem em CSP é obter análise automática Existem duas abordagens para estudar um processo: Propriedades padrão (deadlock, livelock, não-determinismo) Refinamento entre processos Oferecer pelo menos os mesmos serviços Falhar menos Divergir menos

15 CSP e UML CSP poderia ser usada para representar:
Fluxo de Eventos em Casos de Uso Diagramas de Interação Diagramas de Atividade Máquinas de Estados (StateCharts)


Carregar ppt "Alexandre Mota (acm@cin.ufpe.br) Introdução a CSP Alexandre Mota (acm@cin.ufpe.br)"

Apresentações semelhantes


Anúncios Google