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

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 

Último (20)

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 

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