130 likes | 224 Views
Votação Electrónica. Mariana Lopes mrs03011@fe.up.pt Jorge Mamede jmamede@inescporto.pt ... Março de 2006. Teste e validação de protocolos. Sumário. Model checking Arquitectura do sistema em estudo Modelo do sistema em estudo Exemplo de uma simulação Conclusões Trabalho futuro. 2.
E N D
Votação Electrónica Mariana Lopes mrs03011@fe.up.pt Jorge Mamede jmamede@inescporto.pt ... Março de 2006 Teste e validação de protocolos
Sumário • Model checking • Arquitectura do sistema em estudo • Modelo do sistema em estudo • Exemplo de uma simulação • Conclusões • Trabalho futuro 2
Model checking - o que é? • Técnica de análise de sistemas a partir de modelos • usada em sistemas concorrentes finitos • Envolve 3 fases: • construção de um modelo • detecta falhas grosseiras no design • definição de propriedades • funcionamento que deve ser satisfeito pelo sistema • exploração das propriedades no modelo • efectua todas as execuções possíveis • prova a ausência de falhas de design 3
Model checking - Limitações • detecção de falhas depende da definição do modelo • modelos muito simples • escapam problemas • modelos muito complexos • consomem demasiados recursos • problemas detectáveis dependem do conjunto de propriedades enumeradas 4
Model checking - o que detecta? • Deadlocks • Starvation • Livelocks • Ciclos de execução sem progresso • Comportamentos não atingíveis • Situações consideradas na especificação que nunca ocorrerão 5
Promela - Process Meta Language • Tipos de dados • Processos • Canais • Variáveis 7
Election Comission Authentication System Vote Collector Voter Ballot System Modelo do sistema e-vote 9
Resultado de uma simulação Processo init Authentication System Vote Collector Ballot System Election Comission Site Voter 1!pubk, 0 2!pubk, 0 1!req, 0 10
Conclusões • A descrição do sistema contém algumas ambiguidades • A simulação do modelo permitiu reduzir os casos de ambiguidade da descrição do sistema 11
Trabalho futuro • Refinar o modelo de validação • Enumerar as propriedades que o modelo da especificação deve satisfazer • Definir as propriedades utilizando lógica temporal (Linear Temporal Logic) • Verificar cada uma das propriedades definidas 12
Obrigado ! • Questões ? 13