Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Operadores De Escolha e Leis Algébricas.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Introdução à Programação Orientada à Objetos Prof. Daniel Merli Lamosa Maio de 2002.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Diagrama de fluxo de dados (DFD)
Identificando requisitos
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Modelagem Orientada a Objetos
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
Google Go Pós-Graduação em Modelagem Computacional – PGMC
NATUREZA DAS ORGANIZAÇÕES
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.
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
O Portal do Estudante de Computação
Paradigmas de Linguagens de Programação Linguagem Imperativa 2
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Augusto Sampaio e Paulo Borba Centro de Informática
Augusto Sampaio e Paulo Borba Centro de Informática
Curso Prático de Métodos Formais Refinamentos de Especificações em Z (Alexandre Mota e Augusto Sampaio)
SISTEMA TEORIA DE SISTEMAS ABORDAGEM SISTÊMICA.
Universidade da Beira Interior Processadores Fail-Stop Trabalho realizado por: Rui ferreira Nº Eng. Informática.
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Analise sintática aula-07-analise-sintática.pdf.
Arquitetura de Sistemas Distribuídos
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
2002/2003 Programação Orientada para Objectos 1 Aula 6 Classes que reservam recursos externos Problemas comuns Construtores e destrutores Construção por.
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
DESENVOLVIMENTO WEB II Estruturas de Decisão – IF..ELSE.
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos.
Estatística Geral (Elementos de Probabilidade)
Especificação de Sistemas Distribuídos Modelo CSPm - Estacionamento
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Função composta. A =  B =  C = N =   B AC AN A.
Curso Prático de Métodos Formais Revisando Pré-Condições e Provando Refinamentos de Especificações em Z (Alexandre Mota e Augusto Sampaio)
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Composição Paralela Síncrona e Alfabetizada.
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Operador para Esconder Eventos.
Modelo de Análise e Projeto
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Operadores Básicos.
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Modelos Semânticos e Noções de Refinamento.
Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro.
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Entrelaçamento e Composição Paralela Generalizada.
CSP-Z e sua Verificação
Engenharia de Software
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação Usando Conjuntos.
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.
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Operador para Renomeação de Eventos.
Alexandre Mota Breve introdução à CSO (Communicating Scala Objects)
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.
Linguagens de Programação
Linguagens de Programação
Como deixar para trás as reuniões sem fim Como aumentar a eficiência das reuniões de trabalho Fonte: Harvard Business Por Walquiria Lima.
O processo de comunicação
Engenharia de Software com o RUP - Workflow de Requisitos
Probabilidade Aula 9.
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.
Estrutura de Dados Prof. André Cypriano M. Costa
Sistemas Digitais Projeto do curso Prof. Manoel Eusebio de Lima Centro de Informática Universidade Federal de Pernambuco.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Informática Teórica Engenharia da Computação. Autômatos Com Pilha São como autômatos finitos não-determinísticos mas com uma pilha. São como autômatos.
PROBE – CSP Animator FDR – CSP Model Checker Adalberto Farias Alexandre Mota Augusto Sampaio.
SEMÂNTICA DENOTACIONAL Alexandre Mota
DESCRIÇÃO E ANÁLISE DE CARGOS “As pessoas trabalham nas organizações
Transcrição da apresentação:

Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Operadores De Escolha e Leis Algébricas

Alternativa guardada (a1 -> P1 |... | an -> Pn) Escolha condicional if cond then P else Q Escolha externa P [] Q Escolha não-determinística (interna) P |~| Q Operadores de Escolha

Operador para construir processos: P [] Q dado processos P e Q Oferece os eventos iniciais de P e Q, e espera até que haja uma comunicação Depois da comunicação de um evento de P (Q), comporta-se como P (Q) Escolha Externa

Generaliza a alternativa guardada P e Q podem ter eventos iniciais em comum! –Resulta em não-determinismo –Neste caso a escolha é feita pelo processo, internamente –Um método que pode funcionar de duas maneira diferentes –Abstração, essencial para especificações Escolha Externa

(a -> a -> STOP) [] (a -> b -> STOP) não é equivalente a a -> ( (a -> STOP) [] (b -> STOP) ) Escolha Externa

Operador para construir processos: P |~| Q dado processos P e Q Comporta-se como P ou como Q, a escolha sendo aleatória Outros operadores podem introduzir não-determinismo Útil para especificações, abstração Escolha Interna

(a -> STOP)[](b -> STOP) sempre oferece os eventos a e b (a -> STOP) |~| (b -> STOP) pode rejeitar a ou b Escolha Interna versus Externa

ATM1 = incard?c -> pin.fpin(c) -> req?n -> dispense!n -> outcard.c -> ATM1 Exemplo

channel refuse ATM2 = incard?c -> pin.fpin(c) -> req?n -> ((dispense!n -> outcard.c -> ATM2) |~| (refuse -> ( ATM2 |~| outcard.c -> ATM2))) Exemplo

P|~|Q pode ser trocado por P (ou por Q ) em qualquer contexto Q é mais determinístico do que P se P = P|~|Q –Q é melhor do que P –Q refina P –P [= Q –Contexto(P) [= Contexto(Q) Refinamento de Processos

Canais tipados, com comunicação simultânea de vários dados através dos mesmos: channel c : A.B c.a.b ->... c?x!b ->...x... {|c|} = {c.a.b, c.a.b1,...} Eventos Compostos

RUN(X) = [] x -> RUN(X) Chaos(X) = STOP |~| ([] x -> Chaos(X)) Processos Especiais

x + y = y + x x:=0; x:=x+1 = x:=1 Determinam a igualdade entre duas descrições de processos : –os processos denotados pelas descrições são iguais, apresentam o mesmo comportamento Úteis para otimização, entendimento, definição semântica, e verificação de corretude Leis Algébricas

P [] P = P P [] Q = Q [] P P [] (Q [] R) = (P [] Q) [] R STOP [] P = P P |~| P = P P |~| Q = Q |~| P P |~| (Q |~| R) = (P |~| Q) |~| R Leis Algébricas

F(P |~| Q) = F(P) |~| F(Q) para qualquer construtor F(X) que só tenha uma única cópia de X:  P.((a -> P) |~| (b -> P)) é diferente de (  P.a -> P) |~| (  P.b -> P) Leis Algébricas

Do livro texto –Essenciais: 1.1.8, –Opcionais: 1.1.6, 1.1.7, Exercícios