Curso Prático de Métodos Formais Refinamentos de Especificações em Z (Alexandre Mota e Augusto Sampaio)

Slides:



Advertisements
Apresentações semelhantes
Aula 8 Contratos.
Advertisements

Banco de Dados SQL TRIGGERS (Gatilhos)
LÓGICA MATEMÁTICA IMPLICAÇÃO LÓGICA
©Silberschatz, Korth and Sudarshan (modificado)1Database System Concepts result := {R}; done := false; calcular F+; while (not done) do if (há um esquema.
Introdução a circuitos lógicos
Polinômios Prof. Marlon.
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Prof. Roberto Cristóvão
WHITE LABEL SHOPPING CENTER
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Prof. Alfredo Parteli Gomes
Estruturas de Controlo em Pascal
Introdução a Computação e Cálculo Numérico
Aula prática - análise contextual
Cálculo Numérico / Métodos Numéricos
Cálculo Numérico / Métodos Numéricos
Cálculo Numérico / Métodos Numéricos
Lógica Proposicional Caderno de Exercícios.
Aulas 9,10 Fábio Nakano.
Especificação de Processos e Dicionário de Dados
O Portal do Estudante de Computação
Bags n Servem para armazenar a repetição de elementos n Tal qual conjuntos, a ordem dos elementos não importa n Por isso, também recebem a designação de.
Teoria das Relações (cont.)
Interpolação.
Aula Prática: A Ferramenta Possum
Detalhes sobre o curso
Alexandre Mota/Augusto Sampaio {acm,
Refinamento de Dados Estende o refinamento de operações –O estado da especificação abstrata pode ser diferente do concreto –Viabiliza a troca de tipos.
Adalberto Farias Alexandre Mota
Curso Prático de Métodos Formais
Projeto de Banco de Dados
1-1 Copyright © Oracle Corporation, All rights reserved. Administrando Objetos de Esquema Este capítulo abordará os seguintes tópicos: Visão geral.
Projeto de Software Joabe Jesus Engenharia de Software e Sistemas.
Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Baseado no material do Professor Raul Paradeda
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
Algoritmos Estruturados
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
1 FOLHA DE CÁLCULO 3. 2 Tabelas / Listas O Excel também permite armazenar informação Podemos organizar a informação em Tabelas / Listas.
Transformação de Dados
Aula Prática: A Ferramenta ZANS
Refinamento Motivação e Objetivos –Tornar especificações mais concretas (mais próximas de uma implementação) que as desenvolvidas inicialmente –Aumentar.
Prof. Guilherme Amorim 07/01/2014
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 Operadores De Escolha e Leis Algébricas.
Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural.
Object Constraint Language Philip Stephen Medcraft.
Refinamento rose, roze, z-eves. introdução refinamento em diagramas UML Roze, Z-Eves.
Capítulo 9: SAD orientado a Modelo
Programas e Refinamento Programming from Specifications Carroll Morgan Prentice-Hall, 1994 [Capítulo 1] Equipe: Klaus Cavalcante Tarcísio Quirino Raquel.
Comparando Médias 1. Se um conjunto de medidas(amostra) faz parte de uma população. 1.1 Desvio padrão da população conhecido(teste –z) 1.2 Desvio padrão.
CSP-Z e sua Verificação
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação Usando Conjuntos.
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
PROGRAMAÇÃO II – PARTE 6 Profa. Maria Augusta Constante Puget.
Adalberto Farias Alexandre Mota Augusto Sampaio
Introdução a Lógica Matemática
Interpolação Polinomial: Introdução; Lagrange.
Abstração de Processos Infinitos em CSP Z : Tratando Comunicação e Instabilidade Aluno: Adalberto Cajueiro de Farias Orientador: Alexandre Mota Co-Orientador:
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Interpolação PROF. HERON JR.. Objetivo  Interpolar uma função f(x) consiste em aproximar essa função por uma outra função g(x), escolhida entre uma classe.
Estrutura de Dados Prof. André Cypriano M. Costa
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
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.
Software Aplicativo IV Consultas em ACCESS Prof. Nécio de Lima Veras.
Tarefa Autor: Skyup Informática. Atividade – Tarefa O módulo atividade tarefa tem como principio básico a interação professor-aluno. Os alunos podem apresentar.
SEMÂNTICA DENOTACIONAL Alexandre Mota
Transcrição da apresentação:

Curso Prático de Métodos Formais Refinamentos de Especificações em Z (Alexandre Mota e Augusto Sampaio)

Tópicos Abordados l Exemplo: A Tabela de Símbolos (TS) l Provando Refinamentos –Mesmo Estado –Estados Diferentes

Exemplo: A Tabela de Símbolos [VAL,SYM] State st: ST Delete  State s?: SYM s?  dom(st) st’={s?} st ST == SYM VAL NotPresent  State s?: SYM rep!: Report s?  dom(st) rep!=Symbol_not_present Report ::= Ok | Symbol_not_present Success = [rep!:Report | rep!=Ok] ^ StDelete = (Delete  Success)  NotPresent ^ Update  State s?: SYM v?: VAL s?  dom st st’ = st  {s?  v?}

Refinamento de Operações (Mesmo Estado) l Verificar se operações compostas refinam operações simples; l As obrigações são: a aplicabilidade e a corretude. l Há simplificação dos teoremas pois o esquema Retrieve é a relação identidade Delete StDelete ??? theorem aplicMesmoEstado pre Delete  pre StDelete theorem corrMesmoEstado pre Delete  StDelete  Delete

Estratégia para Refinamento l Os teoremas de refinamento usam as pré-condições mais de uma vez; l Portanto, neste caso é interessante guardar o resultado; l Desta forma, deve-se calcular as pré-condições; l Armazenar os resultados obtidos como esquemas; l Introduzir estes resultados nas obrigações de prova. \begin{schema}{Delete}... \end{schema} \begin{schema}{preDeleteRes}... \end{schema} \begin{theorem}{aplicacao}... preDeleteRes... \end{theorem}

Refinamento de Dados (funcional) l No caso geral, é necessário estabelecer uma relação entre os dois estados (abstrato e concreto); l Aqui, consideraremos que esta relação é sempre funcional. Inicialização: Cinit  Retr’  Ainit Aplicabilidade: pre Aop  Retr  pre Cop Corretude: pre Aop  Retr  Cop  Retr’  Aop

Refinamento de Dados (Geral) l Propor um novo estado; l Propor um esquema Retrieve; l Propor refinamentos para as operações; l Construir as obrigações de prova como teoremas; l Provar os teoremas.

Refinamento de Dados (Exemplo 1) Retrieve1 State State1 st = ran st1 State1 st1: seq(SYM  VAL) Update1  State1 s?: SYM v?: VAL s?  dom(ran st1) st1’ = st1  (s?, v?)  A estratégia geral para o cálculo de refinamento é calcular as pré-condições envolvidas e usar estes resultados nos teoremas de aplicabilidade e corretude.

Refinamento de Dados (Exemplo 1 - continuação) l Calcular a pré-condição de Update e de Update1; l Armazenar como esquemas; l Usar esquema em teoremas. Exemplo: Calcular SymtabA SymtabC, considerando simplesmente as operações Update e Update1 preUpdateRes State s?: SYM v?: VAL s?  dom st preUpdate1Res State1 s?: SYM v?: VAL s?  dom (ran st1)

Refinamento de Dados (Exemplo 1 - continuação) theorem inicializacao Init1 \land Retr1 \implies Init theorem aplicacao preUpdateRes \land Retr1 \implies preUpdate1Res theorem corretude preUpdateRes \land Retr1 \land Update1 \land Retr1’ \implies Update

Refinamento de Dados (Exemplo 2) State b: bag IN find  State n?: IN rep!: Report n?  dom b rep! = Yes State1 s: seq IN find1  State1 n?: IN rep!: Report n?  ran s rep! = Yes Especificação Abstrata Especificação Concreta Report ::= Yes | No

Refinamento de Dados (Exemplo 2 - Escolha do Retr) Retr1 State State1 Alternativa 1: b = items s Retr2 State State1 Alternativa 2: dom b = ran s  n  dom b  b(n) = #(s |` {n})