1 Communicating Sequential Processes (CSP) MO409 – Eng. de Software Profa. Eliane Martins Fernando J. C. de Lima F o - RA014861 Rodrigo Teruo Tomita –

Slides:



Advertisements
Apresentações semelhantes
Alunos: Eduardo Akira Yonekura Rogério Esteves Salustiano
Advertisements

Dep. Eng. Electrotécnica Diagramas de controle de execução.
Etienne C. R de Oliveira Redes Avançadas para Computação em Grade
Análise de Perigos MO828 – Eng. Software II Prof
Análise de Segurança Recovery Blocks
Arquitetura em Camadas
Alunos: Eduardo Akira Yonekura Rogério Esteves Salustiano
Arquitetura de Aplicações Web
Amanda Meincke Melo RA:
ArchC: Uma linguagem de descrição de arquiteturas
Um sistema de Tempo Real para Controle de Quarto
Extração de Informação Scylla Costa. Motivação Extração de Informação já existente na internet. –Processos Jurídicos. –Publicações de Professores.
On-line Testing of Globally Asynchronous Circuits D. Shang, A
Silberschatz and Galvin Operating System Concepts Unidade 1: Introdução O que é um sistema operacional? Systemas simples em lote (batch) Sistemas.
Uma Ferramenta para Geração Automática de Requisitos a partir de Modelos CSP Glaucia Peres e Alexandre Mota 06/out/2007.
Estilos de Especificação
Seminário de Andamento Módulo: Merge Grupo 5 André Ribeiro Coelho Rafael de Souza Santos.
Seminário de Andamento
Fundamentos de Eletrônica Digital
Programação concorrente:
Álgebras de Processo (FSP e CSP)
Sistema Operativo em Ambiente Gráfico
Detalhes sobre o curso
Alexandre Mota/Augusto Sampaio {acm,
Concorrência e Occam Paulo Abadie Guedes 09/2002.
CSP: Semântica e Refinamento
Apresentação para grupo do ISEG
Introdução a JCSP Augusto Sampaio (acas) Patrícia Muniz (pmf) Rafael Duarte (rmd)
Métodos de Desagrupamento
Semântica de Ações Especificação Completa de Specimen, Actress, Projeto RAT, Considerações Finais.
João Pedro Barbosa da Silva Sessão Controlo Tese 2º Semestre 2007/2008 From Legacy Systems to Ontologies.
PROGRAMAÇÃO EM SHELL SCRIPT SANDRO LUIZ FREDES MORALES Introdução a Informatica 1 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2013.
Programação de PIC em C Exposição das funções básicas para
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
MAP_INT n o 1 / 17 IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS LUÍS GONZAGA TRABASSO Professor Associado Divisão de Engenharia Mecânica.
REVISÃO DA PROVA MENSAL DO 7º ANO (2º Bimestre)
Roteiro Rodando FDR e Probe Dicas de uso das ferramentas.
Escalonamento de Processos EDF Algorithm
Formalismos para Concorrência Por Paulo Maciel Centro de Informática Universidade Federal de Pernambuco.
Aula Prática de ESD ( Usando FDR e Probe Sidney Nogueira Última atualização: 01/05/10.
Modelos de sistema: Larch Linguagem de especificação algébrica: Larch Arthur Bispo de Castro ra Luciano Antonio Digiampietri ra
Treinamento SQL Server
I={a1,a2,a3} O={d2,d1,p,s1,s2} ANDAR DESEJADO DIREÇÃO E NÚMERO DE ANDARES Finite State Process 1° Exercício E a1 a2 a3 Prédio.
PROGRAMAÇÃO DISTRIBUÍDA Prof. Henrique Mongelli
Carlos Eduardo Benevides Bezerra CMP157 CMP157 – Programação Distribuída e Paralela Algoritmo de Peterson para escolha de líder 1 CMP157 – Programação.
Shared Variables Analyser (SVA) Ferramenta desenvolvida pelo Computing Laboratory (Oxford University) Analisa programas concorrentes com variáveis compartilhadas.
Uma Ferramenta para Configuração Colaborativa de Produtos em LPS Carlos Roberto Marques Junior
Recursividade Profs. De Prog2 e Lab2.
Video Capítulo 8: Impasses. Silberschatz, Galvin and Gagne  Video Operating System Concepts Assuntos n Modelo de Sistemas n Carcterização de.
Aula Prática de ESD (
CMP167 – Programação com Objetos Distribuídos Aluno: Carlos Oberdan Rolim A Comparative Study between Computer Programming Languages for Developing Distributed.
Formalismos para Concorrência Por Paulo Maciel Centro de Informática Universidade Federal de Pernambuco.
Multilayer Failure Detection Method for Network Services Based on Distributed Components Eisuke Hirota, Kazuhiko Kinoshita, Hideki Tode, Koso Murakami,
1 Hiding, Renomeação, Composição Seqüencial e Refinamento Alexandre Mota
Paralelismo Alexandre Mota Paralelismo Representam a execução paralela de dois ou mais processos: fluxos de controles independentes.
Fundamento de Banco de Dados
Aula – Sistemas Operacionais
PSI2653: Meios Eletrônicos Interativos I Escola Politécnica da USP Engenharia de Sistemas Eletrônicos I – Informação Digital - Gráfico Meios Eletrônicos.
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
UML Components MO409 – Eng. de Software Profa. Eliane Martins
Adalberto Farias Alexandre Mota Augusto Sampaio
Ilda Manuela Martins Ferreira Sessão Controlo Tese 2º Semestre 2007/2008.
Comunicação Assíncrona em Equipes Distribuídas: Requisitos e Meios Utilizados Cleyton Carvalho da Trindade Universidade Federal de.
Abstração de Processos Infinitos em CSP Z : Tratando Comunicação e Instabilidade Aluno: Adalberto Cajueiro de Farias Orientador: Alexandre Mota Co-Orientador:
Especificação de Sistemas Distribuídos Alexandre Mota/Augusto Sampaio {acm,
Alan Mateus Vieira Neves Mestrando em Ciência da Computação Prof. Dr. Ricardo Massa Orientador Um framework estratégico para tomada de decisão em ambiente.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
PROBE – CSP Animator FDR – CSP Model Checker Adalberto Farias Alexandre Mota Augusto Sampaio.
Transcrição da apresentação:

1 Communicating Sequential Processes (CSP) MO409 – Eng. de Software Profa. Eliane Martins Fernando J. C. de Lima F o - RA Rodrigo Teruo Tomita – RA992432

2 CSP Proposto em 1978 por Hoare Processos seqüenciais que “rodam” em paralelo e se comunicam entre si Uso: protocolos, sistemas distribuídos, etc (diversas variantes) Operações básicas: comandos repetitivo, alternativo e seqüencial – I/O

3 CSP - Propostas Comandos com guarda (Dijkstra) [ x  y  m:=x [] x  y  m:=y ] * [ i < maxsize  i := i + 1 [] i > maxsize  i := i - 1] Comando paralelo [label1::ROTINA1 || label2::ROTINA2] Processos iniciam ao mesmo tempo; comando termina quando o último termina

4 CSP – Propostas (2) I/O: comunicação entre processos Input: A:: B?variável Output: B:: A!variável Recíproco: A nomeia B para input, B nomeia A para output Input em guardas (alternância e repetição)

5 Ferramentas FDR (Failures-Divergence Refinement) ProBE (Process Behavior Explorer) JCSP: CSP for Java (University of Kent at Canterbury) CCSP: ambiente de execução (University of Missouri – Rolla) Deadlock Checker

6 Estudo de Caso - Elevador Controle Elevador Mantém tabela com os andares a serem visitados Informa paradas e sentidos aos elevadores Sabe os andares mais altos e mais baixos a visitar Painel Elevador Lê o número apertado dentro do elevador Informa o número ao controle elevador Porta Abrir e Fechar

7 Estudo de Caso – Elevador (2) Elevador Mantém a sua direção (sobe, desce) Pergunta ao controle se deve parar e abrir as portas a cada andar Pergunta ao controle se não há mais chamadas (inverte seu sentido ou pára no 1o. andar) Painel Andar Subir e Descer Avisa o controle elevador que o andar já foi servido

8 Considerações Finais Problema do elevador se mostrou mais complexo do que o previsto (casos excepcionais) CSP é antigo e utilizado, tendo diversas variações e ferramentas Notação (Dijkstra) é familiar, mas bastante limitada (variantes surgiram para complementar essas limitações) Dificuldade com as ferramentas

9 Perguntas? ? Obrigado!

10 Referências Hoare, C. A. R. – “Communicating Sequential Processes”, Communications of the ACM, vol. 21, num. 8, ( ), agosto 1978 Kieburtz, Richard B. & Silberschatz, Abraham – “Comments on ‘Communicating Sequential Processes’”, ACM Transactions on Programming Languages and Systems, vol. 1, num. 2 ( ), outubro 1979 Gries, David – The Science of Programming, Spring Verlag, 1981

11 Referências (2) The CSP archive – Oxford Formal Systems - Europe (FDR, ProBE, CSP Typechecker) Tools for CSP – Oxford books/concurrency/tools/ JCSP – University of Kent at Canterbury -

12 Variantes do CSP TCSP - Steve Schneider, University of London Introduced a treatment of time into CSP. Steve has recently completed a book on timed and untimed CSP. CSPP - A. Lawrence, Oxford University Introduced priority into CSP, which is useful when describing resource-limited systems

13 Variantes do CSP (2) HCSP - A. Lawrence, Oxford University Extends the priority model in CSPP and includes new synchronisation primitives and a modelling of state. It is useful when describing hardware systems where state & clocks etc. are unavoidable. PCSP - Probabilistic CSP