Verificação Automatizada de STR com UPPAAL
-
Upload
joel-carvalho -
Category
Education
-
view
347 -
download
3
Transcript of Verificação Automatizada de STR com UPPAAL
Modelacao e Verificacao Sistematica de Programas HTLSistemas de Tempo Real e Linguagens de Coordenacao
Joel Carvalho, Simao Melo de Sousa
RELEASE - Reliable and Secure Computation Group, LIACCComputer Science Department
University of Beira Interior, Portugal
12/05/2009
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 1 / 20
Conteudo
1 Objectivos
2 HTL
3 UPPAAL
4 HTL2XTA
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 2 / 20
Objectivos
1 Objectivos
2 HTL
3 UPPAAL
4 HTL2XTA
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 3 / 20
Objectivos
Objectivo da apresentacao
Introduzir
Conceitos de base da linguagem HTL
Criacao de redes de automatos temporizados (RAT) atraves do HTL
Especificacao de propriedades TCTL do modelo RAT
Verificacao de propriedades pela tecnica do Model Checking
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 4 / 20
HTL
1 Objectivos
2 HTL
3 UPPAAL
4 HTL2XTA
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 5 / 20
HTL
A Linguagem
O HTL (Hierarchical Timing Language) e uma linguagem de coordenacaohierarquica para sistemas de tempo real crıticos, capaz de verificar atime-safety dos programas produzidos no que toca essencialmente aoescalonamento.
Figura: Compilador HTLJ. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 6 / 20
HTL
Caracterısticas
Refinamento de tarefas por Modes
Sequential Composition (Modes Switch)
Parallel Composition (Modules)
Codigo funcional das tarefas independente do HTL
Direct (Ports) e Inter (Communicators) Task Communication
Nocao de precedencia de tarefas com os Ports
Especificacao de WCET e WCTT
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 7 / 20
HTL
LET - Logical Execution Time
O LET e uma abstraccao que permite dividir o comportamento temporalde uma tarefa da sua execucao fısica definindo um intervalo entre o ultimoport de entrada e o primeiro port de saıda.
Figura: LET
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 8 / 20
HTL
Well Formed
So existe um Top-Level Program
Cada communicator nao pode ser redefinido num sub-programa
Quando nao definido no proprio programa, a utilizacao de umcommunicator implica que esteja definido num super-programa
Para cada invocacao de uma tarefa o tempo de leitura e previo aotempo de escrita
No mesmo modo duas invocacoes de tarefas nao podem escrever nomesmo communicator ou no mesmo port.
Se um programa refina um modo, entao o perıodo de todos os modosdesse programa e igual ao perıodo do modo que se refina
...
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 9 / 20
HTL
Well Timed
O WCET de uma tarefa tem de ser menor ou igual ao WCET da suatarefa pai
Idem para o WCTT
Ao contrario da Well-Formedness a Well-Timedness e dependente daplataforma
Assim um Programa em HTL pode ser Well-Formedindependentemente da plataforma, mas pode nao ser Well-Timedpara todas as plataformas
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 10 / 20
HTL
O que falta?
Como verificar que:
uma tarefa nao acontece simultaneamente que outra?
um modo nao e executado simultaneamente que outro?
uma tarefa tem de ser executada quando outra tambem e?
uma dada tarefa e alguma vez executada?
uma tarefa nunca vai ser executada numa janela temporal?
o perıodo de uma tarefa corresponde ao pretendido?
o compromisso entre os requisitos e o que foi programado bate certo?
...
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 11 / 20
UPPAAL
1 Objectivos
2 HTL
3 UPPAAL
4 HTL2XTA
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 12 / 20
UPPAAL
A Ferramenta
O Uppaal e uma ferramenta de modelacao, simulacao e verificacaocom uma interface grafica simples de manusear.
O Model Checker e independente da componente grafica do Uppaal.
O Uppaal enquadra-se no contexto deste tradutor fornecendosimulacao e verificacao
O tradutor fica responsavel pela descricao automatizada do modelobem como de algumas propriedades
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 13 / 20
UPPAAL
Modelacao
Figura: RAT Exemplo
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 14 / 20
UPPAAL
Verificacao
Figura: Formulas de caminho suportadas
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 15 / 20
HTL2XTA
1 Objectivos
2 HTL
3 UPPAAL
4 HTL2XTA
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 16 / 20
HTL2XTA
O Tradutor
Tradutor Automatizado de HTL para UPPAAL
Proof Obligation Generator
Figura: Tool Chain
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 17 / 20
HTL2XTA
Demo
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 18 / 20
HTL2XTA
Perspectivas futuras
Estudar a possibilidade de simplificar ainda mais o modelo geradopelo tradutor
Avaliar se vale a pena aumentar o grau de complexidade do modeloacrescentando anotacoes ao HTL sobre questoes como as do Switch
Arranjar uma forma simples de lidar com a situacao de multiplos portsnuma so invocacao de tarefa
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 19 / 20
HTL2XTA
Perguntas?
J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 20 / 20