SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Mais conteúdo relacionado

Mais de Joel Carvalho

Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)Joel Carvalho
 
Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)Joel Carvalho
 
Relatório de Projecto de Licenciatura
Relatório de Projecto de LicenciaturaRelatório de Projecto de Licenciatura
Relatório de Projecto de LicenciaturaJoel Carvalho
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação MestradoJoel Carvalho
 
Verificação de Sistemas de Tempo Real
Verificação de Sistemas de Tempo RealVerificação de Sistemas de Tempo Real
Verificação de Sistemas de Tempo RealJoel Carvalho
 
Verificação Automatizada de STR com UPPAAL
Verificação Automatizada de STR com UPPAALVerificação Automatizada de STR com UPPAAL
Verificação Automatizada de STR com UPPAALJoel Carvalho
 
Apoio ao Projecto DSAS (CET, 12º)
Apoio ao Projecto DSAS (CET, 12º)Apoio ao Projecto DSAS (CET, 12º)
Apoio ao Projecto DSAS (CET, 12º)Joel Carvalho
 
Arquitectura de Computadores 4 (EFA, 9º ano)
Arquitectura de Computadores 4 (EFA, 9º ano)Arquitectura de Computadores 4 (EFA, 9º ano)
Arquitectura de Computadores 4 (EFA, 9º ano)Joel Carvalho
 
Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)Joel Carvalho
 
Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)Joel Carvalho
 
Arquitectura de Computadores 1 (EFA, 9º ano)
Arquitectura de Computadores 1 (EFA, 9º ano)Arquitectura de Computadores 1 (EFA, 9º ano)
Arquitectura de Computadores 1 (EFA, 9º ano)Joel Carvalho
 
Minimização Autômatos
Minimização AutômatosMinimização Autômatos
Minimização AutômatosJoel Carvalho
 
Car Free Apresentacao
Car Free ApresentacaoCar Free Apresentacao
Car Free ApresentacaoJoel Carvalho
 

Mais de Joel Carvalho (18)

Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)
 
Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)
 
Relatório de Projecto de Licenciatura
Relatório de Projecto de LicenciaturaRelatório de Projecto de Licenciatura
Relatório de Projecto de Licenciatura
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação Mestrado
 
Tutorial de Uppaal
Tutorial de UppaalTutorial de Uppaal
Tutorial de Uppaal
 
Verificação de Sistemas de Tempo Real
Verificação de Sistemas de Tempo RealVerificação de Sistemas de Tempo Real
Verificação de Sistemas de Tempo Real
 
Verificação Automatizada de STR com UPPAAL
Verificação Automatizada de STR com UPPAALVerificação Automatizada de STR com UPPAAL
Verificação Automatizada de STR com UPPAAL
 
Apoio ao Projecto DSAS (CET, 12º)
Apoio ao Projecto DSAS (CET, 12º)Apoio ao Projecto DSAS (CET, 12º)
Apoio ao Projecto DSAS (CET, 12º)
 
Arquitectura de Computadores 4 (EFA, 9º ano)
Arquitectura de Computadores 4 (EFA, 9º ano)Arquitectura de Computadores 4 (EFA, 9º ano)
Arquitectura de Computadores 4 (EFA, 9º ano)
 
Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)Arquitectura de Computadores 3 (EFA, 9º ano)
Arquitectura de Computadores 3 (EFA, 9º ano)
 
Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)Arquitectura de Computadores 2 (EFA, 9º ano)
Arquitectura de Computadores 2 (EFA, 9º ano)
 
Arquitectura de Computadores 1 (EFA, 9º ano)
Arquitectura de Computadores 1 (EFA, 9º ano)Arquitectura de Computadores 1 (EFA, 9º ano)
Arquitectura de Computadores 1 (EFA, 9º ano)
 
Minimização Autômatos
Minimização AutômatosMinimização Autômatos
Minimização Autômatos
 
carFree2
carFree2carFree2
carFree2
 
Car Free Apresentacao
Car Free ApresentacaoCar Free Apresentacao
Car Free Apresentacao
 
Sensor Networks
Sensor NetworksSensor Networks
Sensor Networks
 
Prog Din08
Prog Din08Prog Din08
Prog Din08
 
Spec#
Spec#Spec#
Spec#
 

Último

Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 

Último (20)

Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 

Automatização da verificação de sistemas de tempo real críticos especificados em HTL

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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