Votação Electrónica
description
Transcript of Votação Electrónica
![Page 1: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/1.jpg)
Votação Electrónica
Mariana Lopes [email protected]
Jorge Mamede [email protected]
...Março de 2006
Teste e validação de protocolosTeste e validação de protocolos
![Page 2: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/2.jpg)
Sumário
2
Model checkingArquitectura do sistema em estudoModelo do sistema em estudoExemplo de uma simulação ConclusõesTrabalho futuro
![Page 3: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/3.jpg)
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
![Page 4: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/4.jpg)
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
![Page 5: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/5.jpg)
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
![Page 6: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/6.jpg)
SPIN - Simple Promela INterpreter
6
![Page 7: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/7.jpg)
Promela - Process Meta Language
7
Tipos de dadosProcessosCanaisVariáveis
![Page 8: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/8.jpg)
Arquitectura do sistema e-vote
8
![Page 9: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/9.jpg)
Modelo do sistema e-vote
9
Voter
AuthenticationSystem
ElectionComission
Vote Collector
BallotSystem
![Page 10: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/10.jpg)
Resultado de uma simulação
10
AuthenticationSystem
BallotSystem
ElectionComission
VoteCollector Site
Processoinit Voter
1!pubk, 02!pubk, 01!req, 0
![Page 11: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/11.jpg)
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
![Page 12: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/12.jpg)
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
![Page 13: Votação Electrónica](https://reader035.fdocument.pub/reader035/viewer/2022062423/56814477550346895db10d34/html5/thumbnails/13.jpg)
Obrigado !
13
Questões ?