Apresentação Dissertação Mestrado

22
Verifica¸ ao Automatizada de Sistemas de Tempo Real Cr´ ıticos Disserta¸c˜ ao de Mestrado em Eng. Inform´ atica Joel Carvalho, Orientado pelo Professor Sim˜ ao Melo de Sousa Departamento de Inform´ atica Universidade da Beira Interior, Portugal 09/07/2009 J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸c˜ ao Automatizada de STR Cr´ ıticos 1 / 22

Transcript of Apresentação Dissertação Mestrado

Page 1: Apresentação Dissertação Mestrado

Verificacao Automatizada deSistemas de Tempo Real Crıticos

Dissertacao de Mestrado em Eng. Informatica

Joel Carvalho,Orientado pelo Professor Simao Melo de Sousa

Departamento de InformaticaUniversidade da Beira Interior, Portugal

09/07/2009

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 1 / 22

Page 2: Apresentação Dissertação Mestrado

Conteudo

1 Enquadramento

2 UPPAAL

3 Hierarchical Timing Language

4 HTL2XTA

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 2 / 22

Page 3: Apresentação Dissertação Mestrado

Enquadramento

1 Enquadramento

2 UPPAAL

3 Hierarchical Timing Language

4 HTL2XTA

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 3 / 22

Page 4: Apresentação Dissertação Mestrado

Enquadramento

Objectivos

1a Parte - Estudo do estado da arte

Estudar metodos formais aplicados nos Sistemas de Tempo RealCrıticos

Perfil Ravenscar (Ada/SPARK, verificacao estatica)Linguagens derivadas do Giotto (analise de escalonamento)Verificacao de Modelos (Uppaal)

2a Parte - Objectivos resultantes do estudo

Complementar a verificacao do HTL proporcionando a:

Criacao automatizada de redes de automatos temporizados (RAT)atraves do HTLAutomatizacao parcial da especificacao de propriedades sobre o modeloRATPosterior verificacao pelo verificador de modelos Uppaal

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 4 / 22

Page 5: Apresentação Dissertação Mestrado

Enquadramento

Contributo

1a Parte - Do estudo do estado da arte...

Concepcao do processo de extensao da verificacao do HTL(Tool-Chain HTL2XTA)

Tutorial de Uppaal com exercıcios praticos

Algumas apresentacoes publicas integradas no:

RESCUE - REliable and Safe Code execUtion for Embedded systemsRelease - RELiablE And SEcure Computation GroupEvolve - Evolutionary Validation, Verification and Certification (CriticalSoftware)Ciclo de palestras e tutoriais do DIUM

2a Parte - Da implementacao dos objectivos resultantes do estudo...

Desenvolvimento do tradutor automatizado de HTL para Uppaal(HTL2XTA)

Verificacao de varios casos de estudo

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 5 / 22

Page 6: Apresentação Dissertação Mestrado

UPPAAL

1 Enquadramento

2 UPPAAL

3 Hierarchical Timing Language

4 HTL2XTA

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 6 / 22

Page 7: Apresentação Dissertação Mestrado

UPPAAL

A Ferramenta de Verificacao

Caracterısticas

O Uppaal e uma ferramenta de modelacao, simulacao e verificacao demodelos para sistemas de tempo real crıticos

Permite especificacao grafica e textual do modelo do sistema

O motor do verificador de modelos (verifyta) e independente dacomponente grafica da ferramenta

Modelacao e Verificacao

A especificacao do modelo e feita por intermedio das RAT (comsincronizacoes, invariantes, guardas, estados urgentes, variaveis derelogio, etc.)

A especificacao das propriedades a verificar sao feitas com base numsub conjunto da logica TCTL.

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 7 / 22

Page 8: Apresentação Dissertação Mestrado

UPPAAL

Caracterısticas da TCTL

Conectivas Temporais...

de caminho:

A (All) = AE (Exist) = E

de estado:

G (Globally) = []F (Finally) = <>

Timed Computation Tree Logic

Nao permite o aninhamento de formulas de caminho

DeadLock Free = A[] not deadlock

Reachability = E<>φ

Safety = A[]φ ou E[]φ

Liveness = A<>φ ou φ --> ψ (≡ AG (φ =⇒ AFψ))

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 8 / 22

Page 9: Apresentação Dissertação Mestrado

Hierarchical Timing Language

1 Enquadramento

2 UPPAAL

3 Hierarchical Timing Language

4 HTL2XTA

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 9 / 22

Page 10: Apresentação Dissertação Mestrado

Hierarchical Timing Language

A Linguagem de origem

O HTL (Hierarchical Timing Language) e uma linguagem de coordenacaohierarquica para STR crıticos com tarefas periodicas, capaz de verificar oescalonamento

Figura: Compilador HTL1

1Figura retirada da tese de doutoramento do Daniel IercanJ. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 10 / 22

Page 11: Apresentação Dissertação Mestrado

Hierarchical Timing Language

Caracterısticas

Caracterısticas Principais do HTL

Estruturalmente: Program > Module > Mode > invoke & switch

Codigo funcional das tarefas independente do HTL

Especificacao de WCET e WCTT sobre a forma de ”anotacao”

Refinamento atraves da utilizacao de descricao abstracta e concretade tarefas

Composicao Sequencial (Modes Switch)

Composicao Paralela (Modules)

Comunicacao Inter-tarefas (Communicators)

Comunicacao directa de tarefas (Ports)

Nocao de precedencia de tarefas com os Ports

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 11 / 22

Page 12: Apresentação Dissertação Mestrado

Hierarchical Timing Language

LET - Logical Execution Time

O LET e a abstraccao que permite dividir o comportamento temporal deuma tarefa da sua execucao fısica, definindo um intervalo entre o ultimoinput e o primeiro output de cada invocacao de tarefa

Figura: LET2

2Figura retirada da tese de doutoramento do Arkadeb GhosalJ. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 12 / 22

Page 13: Apresentação Dissertação Mestrado

Hierarchical Timing Language

Desvantagens

O HTL nao consegue verificar...

se uma determinada tarefa nao acontece simultaneamente que outra

se uma determinada tarefa e executada quando outra tambem e

se uma dada tarefa e alguma vez executada

se um dada tarefa e executada sempre que se verifiquem determinadascondicoes

se existe concordancia entre os requisitos e o que foi programado

...

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 13 / 22

Page 14: Apresentação Dissertação Mestrado

HTL2XTA

1 Enquadramento

2 UPPAAL

3 Hierarchical Timing Language

4 HTL2XTA

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 14 / 22

Page 15: Apresentação Dissertação Mestrado

HTL2XTA

A Tool-Chain HTL2XTA

Criacao das redes de automatos temporizados (RAT) atraves deprogramas HTL (.xta)

Especificacao de propriedades inferidas do modelo (.q)

Verificacao das propriedades do modelo (.vrf)

Figura: Tool Chain

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 15 / 22

Page 16: Apresentação Dissertação Mestrado

HTL2XTA

Modelacao - Automatos de Tarefa

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 16 / 22

Page 17: Apresentação Dissertação Mestrado

HTL2XTA

Modelacao - Automatos de Modulo

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 17 / 22

Page 18: Apresentação Dissertação Mestrado

HTL2XTA

Verificacao

Perıodo dos Modos

Seja n e nome de um modo, p o perıodo do modo, t uma variavel derelogio, moduleTA um automato de modulo e Rat um conjunto deautomatos temporizados, entao ∀mode ∈ Prog ,∃moduleTA ∈ Rat,

p1 =A[] moduleTA.n imply ((not moduleTA.t > p) && (not moduleTA.t < 0))

p2 =moduleTA.n --> (moduleTA.Ready && (moduleTA.t == 0 ||moduleTA.t == p)

p1 - Em todos os caminhos, a execucao do estado do modo implicaque o relogio nao seja maior que o perıodo e nao seja menor que zero

p2 - Sempre que se verificar a execucao do estado do modo entao nofuturo quando se verificar o estado Ready, desse automato de modulo,o relogio ou e zero ou e o perıodo

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 18 / 22

Page 19: Apresentação Dissertação Mestrado

HTL2XTA

Verificacao

LET das Tarefas

Seja tt uma variavel de relogio, taskTAi o automato da tarefa i , taskTA oconjunto dos automatos de tarefa, modeState o estado do modo em que ainvocacao e feita, moduleTA um automato de modulo e Rat um conjuntode automatos temporizados, entao∀i ∈ N, ∃moduleTA ∈ Rat, ∃taskTAi ∈ TaskTA,

p1 =A[] (taskTAi .Let imply (not taskTAi .tt < 0 && not taskTAi .tt > p))

p2 =A <> moduleTA.modeState imply (taskTAi .Lst IN && taskTAi .tt == 0)

p3 =A <> moduleTA.modeState imply (taskTAi .Let && taskTAi .tt == p)

p1 - A execucao do estado Let da tarefa i implica que o relogio tt naoseja menor que zero nem maior que p

p2/p3 - A execucao do estado do modo da tarefa implica que a dadaaltura o estado Lst IN/Let seja executado quando o relogio tt e iguala zero/p

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 19 / 22

Page 20: Apresentação Dissertação Mestrado

HTL2XTA

Validacao Experimental

Ficheiro Nıveis HTL Modelo Verificacoes Estados

3TS-simulink.htl0 75 263 62/62 8’2411 75 199 30/30 684

3TS.htl0 90 271 72/72 23’3831 90 207 40/40 1’216

3TS-FE2.htl0 134 336 106/106 365’5871 134 208 42/42 1’584

3TS-PhD.htl0 111 329 98/98 214’0831 111 201 34/34 1’116

flatten 3TS.htl 0 60 203 31/31 448

steer-by-wire.htl0 873 1043 617/0 N/A1 873 690 394/0 N/A

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 20 / 22

Page 21: Apresentação Dissertação Mestrado

HTL2XTA

Conclusao

Perspectivas futuras

Verificar formalmente o modelo de traducao

Avaliar e ordenar as provas pelo seu grau de dificuldade

Simplificar ainda mais o modelo gerado pelo tradutor

Estender o proprio HTL com anotacoes sobre os Switch

Transpor este modelo ou um modelo similar para o Ada/SPARK

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 21 / 22

Page 22: Apresentação Dissertação Mestrado

HTL2XTA

FIM

Obrigado pela presenca...Perguntas?

J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 22 / 22