uppaal model checker overview by valerio rosset. uppaal uppaal é : – uma ferramenta (toolbox)...
TRANSCRIPT
![Page 1: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/1.jpg)
UPPAAL Model Checker
Overview
by Valerio Rosset
![Page 2: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/2.jpg)
Uppaal
Uppaal é :– Uma ferramenta (Toolbox) para verificação formal
de sistemas de tempo real … Desenvolvido:
– UPPsala University (Sweden )– AALborg University (Denmark)– Primeira versão : 1995
![Page 3: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/3.jpg)
Sistemas de Tempo Real
– 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 …
![Page 4: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/4.jpg)
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
![Page 5: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/5.jpg)
Arquitetura do Uppaal
![Page 6: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/6.jpg)
Ferramenta Uppaal
Interface de Modelação
![Page 7: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/7.jpg)
Ferramenta Uppaal
Interface de Simulação
![Page 8: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/8.jpg)
Ferramenta Uppaal
Interface de Verificação
![Page 9: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/9.jpg)
Modelagem
Locations: – Normal, Initial, Urgent and Committed (ações atómicas)
Edges (guards, sincronizadores, updates)
![Page 10: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/10.jpg)
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.
![Page 11: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/11.jpg)
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).
![Page 12: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/12.jpg)
Exemplo 1: Lâmpada
Autómato Lampada
![Page 13: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/13.jpg)
Exemplo 1: Lâmpada
Autómato Utilizador
![Page 14: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/14.jpg)
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.
![Page 15: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/15.jpg)
Tempo no Uppaal
![Page 16: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/16.jpg)
Tempo no Uppaal
![Page 17: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/17.jpg)
Tempo no Uppaal
![Page 18: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/18.jpg)
Tempo no Uppaal
![Page 19: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/19.jpg)
Simulação no Uppaal
Simulando o Exemplo da Lâmpada
![Page 20: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/20.jpg)
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).
![Page 21: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/21.jpg)
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
![Page 22: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/22.jpg)
Propriedades
Safety : “Coisas ruins nunca ocorrem”. Dado um estado P, o mesmo precisa ser sempre satisfeito em todos os caminhos.– A[] P
![Page 23: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/23.jpg)
Propriedades
Liveness : “Alguma coisa eventualmente acontece”. Dado um estado P, o mesmo é eventualmente satisfeito em todos os caminhos. – A <> P
![Page 24: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/24.jpg)
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
![Page 25: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/25.jpg)
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
![Page 26: UPPAAL Model Checker Overview by Valerio Rosset. Uppaal Uppaal é : – Uma ferramenta (Toolbox) para verificação formal de sistemas de tempo real … Desenvolvido:](https://reader036.vdocuments.site/reader036/viewer/2022062302/5706384d1a28abb8238f6a99/html5/thumbnails/26.jpg)
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.