verificação automatizada de str com uppaal

Post on 03-Jul-2015

347 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related