CSP: Semântica e Refinamento

Slides:



Advertisements
Apresentações semelhantes
Teste de Software 01: Introdução
Advertisements

Amintas engenharia.
Amintas engenharia.
Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias
Unidade 7 SEQUÊNCIAS E REGULARIDADES
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
Vetores Representação e características Operações I Decomposição
Software Básico Silvio Fernandes
Metodologia de Desenvolvimento de Software
Tópicos em Engenharia de Software II
Amanda Meincke Melo RA:
ANÁLISE DE MODOS DE FALHAS E EFEITOS (AMFE)
DIAGRAMA DE ATIVIDADES
Linguagens Livres de Contexto
BCC101 – Matemática Discreta I
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Noções de Estrutura de Dados Logica de Programação
Estilos de Especificação
Experiments with Strassen’s Algorithm: from sequential to parallel
Linguagem de 1ª ordem da teoria de conjuntos
Classes e objetos Modelagem
DINÂMICA DAS ORGANIZAÇÕES
Expressão algébrica a partir da representação gráfica da função
Conceitos e Definições – Parte 01
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
-Conjuntos: noções básicas e operações -Funções e relações -Sequências
VUML Rafael Borges motivação estudar algumas ferramentas desenvolvedores só entendem uml uml não tem semântica bem definida.
ASSUNTO 7: Operãções com números inteiros (SUBTRAÇÃO)
Matemática Discreta I BCC101
Salas de Matemática.
Estrutura de dados, pseudocódigo
Funções e suas propriedades
Álgebras de Processo (FSP e CSP)
Conceitos de Lógica Digital
Detalhes sobre o curso
Alexandre Mota/Augusto Sampaio {acm,
Alexandre Mota Introdução a CSP Alexandre Mota
Adalberto Farias Alexandre Mota
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
A transformada de Laplace
Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.
Matemática Discreta I BCC101 Introdução. 2 Bibliografia, Slides, Exercícios etc Bibliografia: Richard Hammack: Book of Proof Velemann: How to Prove it.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
Iteração – Capítulo 5 Programming from Specifications Carroll Morgan Prentice-Hall, 1994 Integrantes: Alex Motta Carlos Nascimento Paulo Maia.
SVA e SVL Sidney Nogueira e André Didier. Ambiente Versão mais nova de sva (sva2) – Descompactar versao mais nova ant run Java 1.6 FDR 2.91 (busca no.
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Roteiro Rodando FDR e Probe Dicas de uso das ferramentas.
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.
1 Communicating Sequential Processes (CSP) MO409 – Eng. de Software Profa. Eliane Martins Fernando J. C. de Lima F o - RA Rodrigo Teruo Tomita –
Refinamento Motivação e Objetivos –Tornar especificações mais concretas (mais próximas de uma implementação) que as desenvolvidas inicialmente –Aumentar.
A Linguagem Formal de Especificação VDM-SL
Semântica de Linguagens de Programação
Aula Prática de ESD (
Formalismos para Concorrência Por Paulo Maciel Centro de Informática Universidade Federal de Pernambuco.
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos Semânticos e Noções de Refinamento.
CSP-Z e sua Verificação
1 Hiding, Renomeação, Composição Seqüencial e Refinamento Alexandre Mota
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos de Failures e Failures-divergences.
Paralelismo Alexandre Mota Paralelismo Representam a execução paralela de dois ou mais processos: fluxos de controles independentes.
Semântica em Linguagens de Programação Semântica Denotacional
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
Adalberto Farias Alexandre Mota Augusto Sampaio
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,
PROBE – CSP Animator FDR – CSP Model Checker Adalberto Farias Alexandre Mota Augusto Sampaio.
SEMÂNTICA DENOTACIONAL Alexandre Mota
Transcrição da apresentação:

CSP: Semântica e Refinamento Alexandre Mota (acm@cin.ufpe.br)

Semântica Como qualquer linguagem formal, CSP pode ser entendida usando-se uma das seguintes semânticas Operacional Denotacional Algébrica

Semântica Operacional Interpreta CSP através de diagramas de transições (LTS) LTS (ou Labelled Transition Systems) são grafos Usam-se firing rules sobre cada operador de CSP para criar LTS

Firing Rules STOP SKIP e -> P Onde Não há, pois não se criam transições SKIP e -> P Onde comms( ) =

Firing Rules P |~| Q P [] Q

Semântica Denotacional Interpreta linguagem usando modelos matemáticos tradicionais Conjuntos, seqüências, funções, etc. É mais abstrato que a semântica operacional, porém mais concreto que a algébrica

Modelos Denotacionais Modelos: Traces (T), Failures (F), Failures-Divergences (FD) Poder de descrição aumenta de T para FD Capturam-se mais aspectos (comportamento): Não-determinismo (safety ou segurança) Deadlock Livelock

Modelo de Traces

Modelo de Falhas

Modelo de Divergências E algumas falhas são incrementadas … (slide anterior)

Semântica Algébrica Significado da linguagem é dado em termos de leis algébricas P [] Q = Q [] P (Comutatividade – []) Para confirmação da validade, requer prova usando semântica denotacional em falhas-divergências

Algumas leis

Refinamento Trata-se de uma relação de satisfação P Q M T F FD

Propriedades Importantes Relação de refinamento deve ser uma ordem parcial:  S  S S (Reflexiva)  S, T  S T  T S  S = T (Anti-Simétrica)  S, T, U  S T  T U  S U (Transitiva)  S, T  S T  C[S] C[T] (Monotônica)

Igualdade e Refinamento Várias noções de refinamento: P [ T = Q P [ F = Q P [ FD = Q e várias de igualdade: P =T Q P =F Q P =FD Q

Definição Refinamento em CSP é definido a partir da relação  da Teoria dos Conjuntos Assim P [ T = Q  T(Q)  T(P) P [ F = Q  T(Q)  T(P) e F(Q)  F(P) P [ FD = Q  F(Q)  F(P) e D(Q)  D(P) Obs.: F(P) = F(P)  { (s, X) | s  D(P) }

Exercício 1 Mostre que os seguintes refinamentos são válidos: P [ ] Q = P |~| Q P [ ] Q P, ou Q (a  b  STOP) (a  STOP)

Exercício 2 Mostre a validade dos seguintes refinamentos: P |~| Q P, ou Q (a  b  STOP) (a  STOP)

Exercício 3 Mostre a validade dos seguintes refinamentos: P |~| Q P, ou Q

Propriedades Clássicas Determinismo Algoritmo próprio… Ausência de Deadlock RUN(sigma) P Ausência de Livelock CHAOS(sigma) P

Verificação de Modelo vs Refinamento Verificação de modelo consiste em: M f Enquanto que verificação de refinamento consiste no que já vimos anteriormente Coincidem quando pode-se encontrar processo CSP P que foi construído para ter a propriedade f (Ex.: ausência de deadlock e livelock) = |

Referências Roscoe, A.W. The Theory and Practice of Concurrency. Prentice-Hall, 1998. Hoare, C.A.R. Communicating Sequential Processes. Prentice-Hall, 1985.