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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
HTL2XTA
Modelacao - Automatos de Tarefa
J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 16 / 22
HTL2XTA
Modelacao - Automatos de Modulo
J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 17 / 22
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
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
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
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
HTL2XTA
FIM
Obrigado pela presenca...Perguntas?
J. Carvalho, Orientador: S. Melo de Sousa () Verificacao Automatizada de STR Crıticos 22 / 22
Top Related