Verificação Automatizada de STR com UPPAAL

20
Modela¸c˜ ao e Verifica¸c˜ ao Sistem´ atica de Programas HTL Sistemas de Tempo Real e Linguagens de Coordena¸ ao Joel Carvalho, Sim˜ ao Melo de Sousa RELEASE - Reliable and Secure Computation Group, LIACC Computer Science Department University of Beira Interior, Portugal 12/05/2009 J. Carvalho, S. Melo de Sousa () Modela¸c˜ ao e Verifica¸c˜ ao Sistem´ atica 1 / 20

Transcript of Verificação Automatizada de STR com UPPAAL

Page 1: 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

Page 2: Verificação Automatizada de STR com UPPAAL

Conteudo

1 Objectivos

2 HTL

3 UPPAAL

4 HTL2XTA

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 2 / 20

Page 3: Verificação Automatizada de STR com UPPAAL

Objectivos

1 Objectivos

2 HTL

3 UPPAAL

4 HTL2XTA

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 3 / 20

Page 4: Verificação Automatizada de STR com UPPAAL

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

Page 5: Verificação Automatizada de STR com UPPAAL

HTL

1 Objectivos

2 HTL

3 UPPAAL

4 HTL2XTA

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 5 / 20

Page 6: Verificação Automatizada de STR com UPPAAL

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

Page 7: Verificação Automatizada de STR com UPPAAL

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

Page 8: Verificação Automatizada de STR com UPPAAL

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

Page 9: Verificação Automatizada de STR com UPPAAL

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

Page 10: Verificação Automatizada de STR com UPPAAL

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

Page 11: Verificação Automatizada de STR com UPPAAL

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

Page 12: Verificação Automatizada de STR com UPPAAL

UPPAAL

1 Objectivos

2 HTL

3 UPPAAL

4 HTL2XTA

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 12 / 20

Page 13: Verificação Automatizada de STR com UPPAAL

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

Page 14: Verificação Automatizada de STR com UPPAAL

UPPAAL

Modelacao

Figura: RAT Exemplo

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 14 / 20

Page 15: Verificação Automatizada de STR com UPPAAL

UPPAAL

Verificacao

Figura: Formulas de caminho suportadas

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 15 / 20

Page 16: Verificação Automatizada de STR com UPPAAL

HTL2XTA

1 Objectivos

2 HTL

3 UPPAAL

4 HTL2XTA

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 16 / 20

Page 17: Verificação Automatizada de STR com UPPAAL

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

Page 18: Verificação Automatizada de STR com UPPAAL

HTL2XTA

Demo

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 18 / 20

Page 19: Verificação Automatizada de STR com UPPAAL

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

Page 20: Verificação Automatizada de STR com UPPAAL

HTL2XTA

Perguntas?

J. Carvalho, S. Melo de Sousa () Modelacao e Verificacao Sistematica 20 / 20