Apresentação Dissertação Mestrado

1,141 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,141
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apresentação Dissertação Mestrado

  1. 1. Verifica¸˜o Automatizada de ca Sistemas de Tempo Real Cr´ıticos Disserta¸˜o de Mestrado em Eng. Inform´tica ca a Joel Carvalho, Orientado pelo Professor Sim˜o Melo de Sousa a Departamento de Inform´tica a Universidade da Beira Interior, Portugal 09/07/2009 J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 1 / 22
  2. 2. Conte´do u 1 Enquadramento 2 UPPAAL 3 Hierarchical Timing Language 4 HTL2XTA J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 2 / 22
  3. 3. Enquadramento 1 Enquadramento 2 UPPAAL 3 Hierarchical Timing Language 4 HTL2XTA J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 3 / 22
  4. 4. Enquadramento Objectivos 1a Parte - Estudo do estado da arte Estudar m´todos formais aplicados nos Sistemas de Tempo Real e Cr´ıticos Perfil Ravenscar (Ada/SPARK, verifica¸˜o est´tica) ca a Linguagens derivadas do Giotto (an´lise de escalonamento) a Verifica¸˜o de Modelos (Uppaal) ca 2a Parte - Objectivos resultantes do estudo Complementar a verifica¸˜o do HTL proporcionando a: ca Cria¸˜o automatizada de redes de aut´matos temporizados (RAT) ca o atrav´s do HTL e Automatiza¸˜o parcial da especifica¸˜o de propriedades sobre o modelo ca ca RAT Posterior verifica¸˜o pelo verificador de modelos Uppaal ca J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 4 / 22
  5. 5. Enquadramento Contributo 1a Parte - Do estudo do estado da arte... Concep¸˜o do processo de extens˜o da verifica¸˜o do HTL ca a ca (Tool-Chain HTL2XTA) Tutorial de Uppaal com exerc´ ıcios pr´ticos a Algumas apresenta¸˜es p´blicas integradas no: co u RESCUE - REliable and Safe Code execUtion for Embedded systems Release - RELiablE And SEcure Computation Group Evolve - Evolutionary Validation, Verification and Certification (Critical Software) Ciclo de palestras e tutoriais do DIUM 2a Parte - Da implementa¸˜o dos objectivos resultantes do estudo... ca Desenvolvimento do tradutor automatizado de HTL para Uppaal (HTL2XTA) Verifica¸˜o de v´rios casos de estudo ca a J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 5 / 22
  6. 6. UPPAAL 1 Enquadramento 2 UPPAAL 3 Hierarchical Timing Language 4 HTL2XTA J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 6 / 22
  7. 7. UPPAAL A Ferramenta de Verifica¸˜o ca Caracter´ ısticas O Uppaal ´ uma ferramenta de modela¸˜o, simula¸˜o e verifica¸˜o de e ca ca ca modelos para sistemas de tempo real cr´ ıticos Permite especifica¸˜o gr´fica e textual do modelo do sistema ca a O motor do verificador de modelos (verifyta) ´ independente da e componente gr´fica da ferramenta a Modela¸˜o e Verifica¸˜o ca ca A especifica¸˜o do modelo ´ feita por interm´dio das RAT (com ca e e sincroniza¸˜es, invariantes, guardas, estados urgentes, vari´veis de co a rel´gio, etc.) o A especifica¸˜o das propriedades a verificar s˜o feitas com base num ca a sub conjunto da l´gica TCTL. o J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 7 / 22
  8. 8. UPPAAL Caracter´ ısticas da TCTL Conectivas Temporais... de caminho: A (All) = A E (Exist) = E de estado: G (Globally ) = [] F (Finally ) = <> Timed Computation Tree Logic N˜o permite o aninhamento de f´rmulas de caminho a o DeadLock Free = A[] not deadlock Reachability = E<>φ Safety = A[]φ ou E[]φ Liveness = A<>φ ou φ --> ψ (≡ AG (φ =⇒ AF ψ)) J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 8 / 22
  9. 9. Hierarchical Timing Language 1 Enquadramento 2 UPPAAL 3 Hierarchical Timing Language 4 HTL2XTA J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 9 / 22
  10. 10. Hierarchical Timing Language A Linguagem de origem O HTL (Hierarchical Timing Language) ´ uma linguagem de coordena¸˜o e ca hier´rquica para STR cr´ a ıticos com tarefas peri´dicas, capaz de verificar o o escalonamento Figura: Compilador HTL1 1 Figura retirada da tese de doutoramento do Daniel Iercan J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 10 / 22
  11. 11. Hierarchical Timing Language Caracter´ ısticas Caracter´ ısticas Principais do HTL Estruturalmente: Program > Module > Mode > invoke & switch C´digo funcional das tarefas independente do HTL o Especifica¸˜o de WCET e WCTT sobre a forma de ” ca anota¸˜o” ca Refinamento atrav´s da utiliza¸˜o de descri¸˜o abstracta e concreta e ca ca de tarefas Composi¸˜o Sequencial (Modes Switch) ca Composi¸˜o Paralela (Modules) ca Comunica¸˜o Inter-tarefas (Communicators) ca Comunica¸˜o directa de tarefas (Ports) ca No¸˜o de precedˆncia de tarefas com os Ports ca e J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 11 / 22
  12. 12. Hierarchical Timing Language LET - Logical Execution Time O LET ´ a abstrac¸˜o que permite dividir o comportamento temporal de e ca uma tarefa da sua execu¸˜o f´ ca ısica, definindo um intervalo entre o ultimo ´ input e o primeiro output de cada invoca¸˜o de tarefa ca Figura: LET2 2 Figura retirada da tese de doutoramento do Arkadeb Ghosal J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 12 / 22
  13. 13. Hierarchical Timing Language Desvantagens O HTL n˜o consegue verificar... a se uma determinada tarefa n˜o acontece simultaneamente que outra a se uma determinada tarefa ´ executada quando outra tamb´m ´ e e e se uma dada tarefa ´ alguma vez executada e se um dada tarefa ´ executada sempre que se verifiquem determinadas e condi¸˜es co se existe concordˆncia entre os requisitos e o que foi programado a ... J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 13 / 22
  14. 14. HTL2XTA 1 Enquadramento 2 UPPAAL 3 Hierarchical Timing Language 4 HTL2XTA J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 14 / 22
  15. 15. HTL2XTA A Tool-Chain HTL2XTA Cria¸˜o das redes de aut´matos temporizados (RAT) atrav´s de ca o e programas HTL (.xta) Especifica¸˜o de propriedades inferidas do modelo (.q) ca Verifica¸˜o das propriedades do modelo (.vrf) ca Figura: Tool Chain J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 15 / 22
  16. 16. HTL2XTA Modela¸˜o - Aut´matos de Tarefa ca o J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 16 / 22
  17. 17. HTL2XTA Modela¸˜o - Aut´matos de M´dulo ca o o J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 17 / 22
  18. 18. HTL2XTA Verifica¸˜o ca Per´ıodo dos Modos Seja n ´ nome de um modo, p o per´ e ıodo do modo, t uma vari´vel de a rel´gio, moduleTA um aut´mato de m´dulo e Rat um conjunto de o o o aut´matos temporizados, ent˜o ∀mode ∈ Prog , ∃moduleTA ∈ Rat, o a 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 execu¸˜o do estado do modo implica ca que o rel´gio n˜o seja maior que o per´ o a ıodo e n˜o seja menor que zero a p2 - Sempre que se verificar a execu¸˜o do estado do modo ent˜o no ca a futuro quando se verificar o estado Ready, desse aut´mato de modulo, o o rel´gio ou ´ zero ou ´ o per´ o e e ıodo J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 18 / 22
  19. 19. HTL2XTA Verifica¸˜o ca LET das Tarefas Seja tt uma vari´vel de rel´gio, taskTAi o aut´mato da tarefa i, taskTA o a o o conjunto dos aut´matos de tarefa, modeState o estado do modo em que a o invoca¸˜o ´ feita, moduleTA um aut´mato de m´dulo e Rat um conjunto ca e o o de aut´matos temporizados, ent˜o o a ∀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 execu¸˜o do estado Let da tarefa i implica que o rel´gio tt n˜o ca o a seja menor que zero nem maior que p p2/p3 - A execu¸˜o do estado do modo da tarefa implica que a dada ca altura o estado Lst IN/Let seja executado quando o rel´gio tt ´ igual o e a zero/p J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 19 / 22
  20. 20. HTL2XTA Valida¸˜o Experimental ca Ficheiro N´ıveis HTL Modelo Verifica¸˜es co Estados 0 75 263 62/62 8’241 3TS-simulink.htl 1 75 199 30/30 684 0 90 271 72/72 23’383 3TS.htl 1 90 207 40/40 1’216 0 134 336 106/106 365’587 3TS-FE2.htl 1 134 208 42/42 1’584 0 111 329 98/98 214’083 3TS-PhD.htl 1 111 201 34/34 1’116 flatten 3TS.htl 0 60 203 31/31 448 0 873 1043 617/0 N/A steer-by-wire.htl 1 873 690 394/0 N/A J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 20 / 22
  21. 21. HTL2XTA Conclus˜o a Perspectivas futuras Verificar formalmente o modelo de tradu¸˜o ca Avaliar e ordenar as provas pelo seu grau de dificuldade Simplificar ainda mais o modelo gerado pelo tradutor Estender o pr´prio HTL com anota¸˜es sobre os Switch o co Transpor este modelo ou um modelo similar para o Ada/SPARK J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 21 / 22
  22. 22. HTL2XTA FIM Obrigado pela presen¸a... c Perguntas? J. Carvalho, Orientador: S. Melo de Sousa () Verifica¸˜o Automatizada de STR Cr´ ca ıticos 22 / 22

×