Post on 11-Jan-2016
description
Votação Electrónica
Mariana Lopes mrs03011@fe.up.pt
Jorge Mamede jmamede@inescporto.pt
...Março de 2006
Teste e validação de protocolosTeste e validação de protocolos
Sumário
2
Model checkingArquitectura do sistema em estudoModelo do sistema em estudoExemplo de uma simulação ConclusõesTrabalho futuro
Model checking - o que é?
3
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
Model checking - Limitações
4
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
Model checking - o que detecta?
5
Deadlocks StarvationLivelocks
Ciclos de execução sem progresso
Comportamentos não atingíveisSituações consideradas na especificação
que nunca ocorrerão
SPIN - Simple Promela INterpreter
6
Promela - Process Meta Language
7
Tipos de dadosProcessosCanaisVariáveis
Arquitectura do sistema e-vote
8
Modelo do sistema e-vote
9
Voter
AuthenticationSystem
ElectionComission
Vote Collector
BallotSystem
Resultado de uma simulação
10
AuthenticationSystem
BallotSystem
ElectionComission
VoteCollector Site
Processoinit Voter
1!pubk, 02!pubk, 01!req, 0
Conclusões
11
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
Trabalho futuro
12
Refinar o modelo de validaçãoEnumerar as propriedades que o modelo da especificação deve satisfazerDefinir as propriedades utilizando lógica temporal (Linear Temporal Logic)Verificar cada uma das propriedades definidas
Obrigado !
13
Questões ?