Apresentação Dissertação Mestrado
-
Upload
joel-carvalho -
Category
Education
-
view
962 -
download
5
Transcript of 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
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