1 / 15

Introdução a CSP

Introdução a CSP. Alexandre Mota (acm@cin.ufpe.br). 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. CSP. Hoare (1985) e Roscoe (1998)

major
Download Presentation

Introdução a CSP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 Processo2 Ambiente Ambiente ... EventosC EventosG EventosF EventosD Processon EventosE Ambiente Alfabeto =  Eventos

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

  6. Processos CaixaAutomatico Terminal Interação Ambiente (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 • Volta ao passo 1

  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 Terminal • 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 • Volta ao passo 1 (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)

More Related