UPPAAL Model Checker Overview

Slides:



Advertisements
Apresentações semelhantes
Sistemas em Tempo Real Módulo 4: Modelagem Jarbas Silveira
Advertisements

Aula 3 – Transmissão Digital
Introdução a Algoritmos
Estruturas de Dados e Algoritmos II
VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS
Engenharia de Software
Barramentos Introdução.
Identificando requisitos
Prentice Hall Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 8 Defeitos e falhas de software Especificação errada: pode não.
Engenharia de Software
ARQUITETURA DE COMPUTADORES II
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Classificação de Requisitos
Sistemas Distribuídos
Descrição de hardware em SystemC
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 3:Conceitos Básicos As figuras que.
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
Curso UML Diagramas de Atividade
TIME, CLOCK’S and EVENTS
Princípios e Conceitos de Software(v2)
Diagrama de Estados.
PRC Bruno Correa.
Diagramas de Estados(*)
Otimização Prof. Benedito C. Silva IRN UNIFEI
Fundamentos de Programação e Especificação de Protocolos
Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz.
Sistemas Distribuídos
Centro de Controle Operacional
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Ling. Formais e Autômatos AFN-ε
Linguagem de programação
Detalhes sobre o curso
Alexandre Mota/Augusto Sampaio {acm,
Avaliação de Desempenho Simulação
Metodologias (Parte II) Viviane Torres da Silva
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
Navegação assistida em ambientes estáticos com processamento centralizado Henrique Magalhães Soares Leandro José Pereira Barreto Orlando Claudino Resende.
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Simulação distribuída e paralela Gabriel Baracuhy Thiago Martins.
Sistemas Digitais e Automação
BRAZIL IP The BrazilIP Network SystemVerilog para Verificação funcional com OVM Curso do Brazil-IP Elmar Melcher UFCG
Processos de Software.
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Engenharia de Groupware: Desenvolvimento de Aplicações Colaborativas. Síntese FUKC, H. RAPOSO,A. B. GEROSA, M. A. Artigo apresentado em mini-curso do Congresso.
Resolução de Problemas de Busca
A Linguagem Formal de Especificação VDM-SL
Fundamentos de linguagens de programação
TRABALHO DE GRADUAÇÃO Model Checkers: Uma análise de ferramentas para a linguagem de programação C TRABALHO DE GRADUAÇÃO Pedro Montenegro
Engenharia de Software
Computabilidade e Linguagens Formais
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Métodos Formais Juan Andrés Mussini.
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Introdução à modelagem orientada a objetos
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Natália Cabral Silva e Renata Carvalho Orientação: Profº Ricardo Massa Ferreira Lima Plataforma para executar processos flexíveis através de web services.
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
Aplicação - Plataforma de Autoria - Natan. Resumo - Entendimento Ferramenta para desenvolvimento de conteúdo para tv digital, baseada em componentes e.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
SOFTWARE DE ESTATÍSTICAS PARA BASQUETE EM CADEIRA RODAS ESTUDO DE CASO ADFP - FÊNIX Acadêmicos: Elisangela Fernandes Duarte Sandro Colaço de Lima Orientador:
Aula 6 1 Análise Lexical Compiladores, Aula Nº 6 João M. P. Cardoso.
Avaliação de Interfaces Esta apresentação foi baseada no livro Design de Interação ( Preece, Rogers & Sharp) e no Tutorial sobre o livro “Design e avaliação.
CIn.ufpe.br CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa.
Estimativa, Teste e Inspeção de Software
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
PROBE – CSP Animator FDR – CSP Model Checker Adalberto Farias Alexandre Mota Augusto Sampaio.
Lei de Moore O número de transistores num circuito integrado duplica todos os 18 meses. Isto é extremamente relevante porque... as gates são feitas a partir.
Transcrição da apresentação:

UPPAAL Model Checker Overview by Valerio Rosset

Uppaal Uppaal é : Desenvolvido: Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido: UPPsala University (Sweden ) AALborg University (Denmark) Primeira versão : 1995

Sistemas de Tempo Real Notas Sistema de Tempo Real : a correcção dos protocolos e algoritmos não depende apenas execução ordenada das acções mas também o tempo em que são realizadas. Ex: Air Bag, Drive-By-Wire, ABS … etc …

Model Checking Modelo A : conjunto de autómatos temporizados Requisitos F : Definição de propriedades como: Safety : Coisas ruins nunca acontecem Liveness: Alguma coisa boa eventualmente acontece

Arquitetura do Uppaal

Ferramenta Uppaal Interface de Modelação

Ferramenta Uppaal Interface de Simulação

Ferramenta Uppaal Interface de Verificação

Modelagem Locations: Edges (guards, sincronizadores, updates) Normal, Initial, Urgent and Committed (ações atómicas) Edges (guards, sincronizadores, updates)

Modelagem As transições podem ser controladas por : Guards: são expressões lógicas que determinam as condições para que uma transição ocorra. Sincronizadores: são chamados de channels e sincronizam ações entre os autómatos do modelo. Tempo: Invariantes ou Aleatoriamente.

Exemplo 1: Lâmpada A lâmpada pode ficar em 3 estados possíveis: desligada, baixa luminosidade, com alta luminosidade. O Utilizador pressiona um botão aleatoriamente para ligar e desligar a lâmpada. A transição de baixa luminosidade para alta se dá com a velocidade com que se pressiona o botão ( 2 clicks rápidos = Alta).

Exemplo 1: Lâmpada Autómato Lampada

Exemplo 1: Lâmpada Autómato Utilizador

Tempo No Uppaal Uppaal utiliza um modelo de tempo contínuo Clocks (relógios): podem ser declarados de maneira global ou individualmente aos autómatos, porém sempre evoluem sincronicamente.

Tempo no Uppaal

Tempo no Uppaal

Tempo no Uppaal

Tempo no Uppaal

Simulação no Uppaal Simulando o Exemplo da Lâmpada

Verificando o Modelo Propriedades (requisitos) são expressas e definidas utilizando uma simplificação da linguagem CLT (Computation Tree Logic). Propriedade = State Formulae & Path Formulae State Formulae : é uma expressão que identifica um estado no sistema. Ex: i==1 ou (i==1 and y==1).

Propriedades Path Formulae: Definem que tipo de propriedade se quer verificar. Reachability: Dado um estado P, existe um caminho onde P é eventualmente satisfeito. E <> P

Propriedades Safety : “Coisas ruins nunca ocorrem”. Dado um estado P, o mesmo precisa ser sempre satisfeito em todos os caminhos. A[] P

Propriedades Liveness : “Alguma coisa eventualmente acontece”. Dado um estado P, o mesmo é eventualmente satisfeito em todos os caminhos. A <> P

Verificando Verificando Exemplo 2 A[] Obs.taken imply x>=2 X é zerado sempre quando x<=2 E<> Obs.idle and x>3 Verifica se existe algum caminho onde X >3

Verificando Verificando Exemplo 2 A[] Obs.taken imply (x>=2 and x<=3) X é zerado sempre entre 2 e 3 A[] Obs.idle imply x<=3 X nunca ultrapassa o limite

Facilidades Uppaal ainda permite a utilização de diversas estruturas como arrays bem como a possibilidade de implementar funções e procedimentos onde é executar cálculos e verificações mais complexas (Sintaxe C++). Simulação e geração de Traces permite permite um fast debugging do modelo.

Obrigado !!!! For More : www.uppaal.org