UNIVERSIDADE DE PERNAMBUCO 
UPPAAL
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
UPPAAL é um ambiente integrado de ferramentas para modelagem, simulação e verificação ...
UNIVERSIDADE DE PERNAMBUCO 
Universidade de Aalborg, na Dinamarca. 
Universidade de Uppsala, na Suécia.
UNIVERSIDADE DE PERNAMBUCO 
Universidade de Aalborg, na Dinamarca. 
Universidade de Uppsala, na Suécia.
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
É adequado para sistemas que podem ser modelados como um conjunto de processos não det...
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
As áreas de aplicação típicas incluem controladores em tempo real e os protocolos de c...
UNIVERSIDADE DE PERNAMBUCO 
Licença 
A ferramenta UPPAAL é gratuita para aplicações não-comerciais na acadêmia. Para aplic...
UNIVERSIDADE DE PERNAMBUCO 
Site UPPAAL comercial: 
http://www.uppaal.com/
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
UPPAAL consiste em três partes principais: 
•uma linguagem de descrição: serve como um...
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
Editor:
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
Simulador:
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
Verificador:
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
EFICIÊNCIA 
FACILIDADE DE USO
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
Para facilitar a modelagem e depuração, o verificador de Uppaal pode gerar automaticam...
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
Os vestígios de diagnóstico gerados pelo verificador podem ser carregados automaticame...
UNIVERSIDADE DE PERNAMBUCO 
UPPAAL 
•A primeira versão da ferramenta foi lançada em 1995 e tem sido aplicada em uma série ...
UNIVERSIDADE DE PERNAMBUCO 
Site para download da ferramenta: 
http://www.uppaal.org/
UNIVERSIDADE DE PERNAMBUCO 
Site UPPAAL comercial: 
http://www.uppaal.com/
UNIVERSIDADE DE PERNAMBUCO 
Download 
•É preciso fazer um cadastro para download da ferramenta, informando o nome, a unive...
UNIVERSIDADE DE PERNAMBUCO 
Versões disponíveis para download da ferramenta: 
http://www.uppaal.org/
UNIVERSIDADE DE PERNAMBUCO 
Pasta Descompactada do UPPAAL:
UNIVERSIDADE DE PERNAMBUCO 
Ambiente de trabalho da ferramenta UPPAAL:
UNIVERSIDADE DE PERNAMBUCO 
Sintaxe de UPPAAL 
A sintaxe usada para declarações UPPAAL é semelhante a sintaxe utilizada na...
UNIVERSIDADE DE PERNAMBUCO 
Sintaxe 
•Variáveis de dados: - Exemplos: - int a,b; Inteiro com o domínio default. - int [0,2...
UNIVERSIDADE DE PERNAMBUCO 
Sintaxe 
•Ações (Canais): - Exemplos: - chan a, b[2]; Canais comuns. - urgent chan c; Ações Ur...
UNIVERSIDADE DE PERNAMBUCO 
Sintaxe 
•Constantes: - Exemplos: - const int [0,1] YES = 1; - const bool NO = false;
UNIVERSIDADE DE PERNAMBUCO 
Declarações
UNIVERSIDADE DE PERNAMBUCO 
Declarações
UNIVERSIDADE DE PERNAMBUCO 
Templates 
•Os autômatos podem ser definidos como um conjunto de parâmetros que podem ser de q...
UNIVERSIDADE DE PERNAMBUCO 
Invariantes 
Uma invariante é uma expressão que satisfaz as seguintes condições: 
•Apenas vari...
UNIVERSIDADE DE PERNAMBUCO 
Canais Urgentes 
Semântica Informal : 
• Não haverá atraso de transição com uma ação urgente; ...
UNIVERSIDADE DE PERNAMBUCO 
Broadcast Synchronisation 
•Se a é um canal de Broadcast: a! = Emissão de Broadcast a? = Recep...
UNIVERSIDADE DE PERNAMBUCO 
Mais Expressões 
•Lógica: 
•&& and lógico 
•|| or lógico 
•! Negação lógica 
•Bitwise: 
•^ xor...
UNIVERSIDADE DE PERNAMBUCO 
Exemplos e Aplicações
UNIVERSIDADE DE PERNAMBUCO 
Exemplo 
•E – existe um caminho; 
•A – para todos os caminhos; 
•[] – todos os estados em um c...
UNIVERSIDADE DE PERNAMBUCO 
Exemplo 
P Reachable – Épossivel alcançar um estado onde P é satisfeito. E<> P
UNIVERSIDADE DE PERNAMBUCO 
Exemplo 
Invariantly P - Dado um estado P, o mesmo é sempre satisfeito em todos os caminhos. A...
UNIVERSIDADE DE PERNAMBUCO 
Exemplo 
Inevitable P - Dado um estado P, o mesmo é inevitavelmente satisfeito em alguns estad...
UNIVERSIDADE DE PERNAMBUCO 
Exemplo 
Potentially Always P - Dado um estado P, existe um caminho onde P é satisfeito em tod...
UNIVERSIDADE DE PERNAMBUCO 
Exemplo 
Process 1 
idle: 
req1=1; 
want: 
turn=2; 
wait: 
while(turn!=1 && req2!=0); 
CS: 
//...
UNIVERSIDADE DE PERNAMBUCO 
Exemplo
UNIVERSIDADE DE PERNAMBUCO 
Exemplo
UNIVERSIDADE DE PERNAMBUCO 
Aplicações utilizando UPPAAL: 
http://www.uppaal.com/
UNIVERSIDADE DE PERNAMBUCO 
Aplicações 
ABB – Líder mundial em tecnologias de automação e energia 
http://new.abb.com/br/e...
UNIVERSIDADE DE PERNAMBUCO 
Commercial Field Bus Protocol 
•Protocolo de comunicação para barramento de campo comercial; 
...
UNIVERSIDADE DE PERNAMBUCO 
Philips Audio Protocol 
•Desenvolvido e implementado pela Philips; 
•Troca de informações de c...
UNIVERSIDADE DE PERNAMBUCO 
Gearbox Controller 
•Projeto e análise de um protótipo de controlador de caixa de marchas de v...
UNIVERSIDADE DE PERNAMBUCO 
Referências Bibliográficas 
•Site: http://www.uppaal.org/ 
•Site: http://www.uppaal.com/ 
•UPP...
Próximos SlideShares
Carregando em…5
×

UPPAAL

403 visualizações

Publicada em

Conhecendo um pouco mais sobre a ferramenta para modelagem, simulação e verificação de sistemas em tempo real, UPPAAL.

Publicada em: Educação
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
403
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

UPPAAL

  1. 1. UNIVERSIDADE DE PERNAMBUCO UPPAAL
  2. 2. UNIVERSIDADE DE PERNAMBUCO UPPAAL UPPAAL é um ambiente integrado de ferramentas para modelagem, simulação e verificação de sistemas de tempo real.
  3. 3. UNIVERSIDADE DE PERNAMBUCO Universidade de Aalborg, na Dinamarca. Universidade de Uppsala, na Suécia.
  4. 4. UNIVERSIDADE DE PERNAMBUCO Universidade de Aalborg, na Dinamarca. Universidade de Uppsala, na Suécia.
  5. 5. UNIVERSIDADE DE PERNAMBUCO UPPAAL
  6. 6. UNIVERSIDADE DE PERNAMBUCO UPPAAL É adequado para sistemas que podem ser modelados como um conjunto de processos não determinísticos com estrutura de controle finito e de tempo real, se comunicando através de redes ou variáveis compartilhadas.
  7. 7. UNIVERSIDADE DE PERNAMBUCO UPPAAL As áreas de aplicação típicas incluem controladores em tempo real e os protocolos de comunicação, em particular projetos onde o aspecto do tempo é fundamental.
  8. 8. UNIVERSIDADE DE PERNAMBUCO Licença A ferramenta UPPAAL é gratuita para aplicações não-comerciais na acadêmia. Para aplicações comerciais, é necessária uma licença comercial.
  9. 9. UNIVERSIDADE DE PERNAMBUCO Site UPPAAL comercial: http://www.uppaal.com/
  10. 10. UNIVERSIDADE DE PERNAMBUCO UPPAAL UPPAAL consiste em três partes principais: •uma linguagem de descrição: serve como uma linguagem de modelagem ou desenho para dscrever o comportamento do sistema; •um simulador: é uma ferramenta de validação que permite o exame de possíveis execuções dinâmicas; •um verificador de modelos: verifica propriedades invariantes e acessibilidade.
  11. 11. UNIVERSIDADE DE PERNAMBUCO UPPAAL Editor:
  12. 12. UNIVERSIDADE DE PERNAMBUCO UPPAAL Simulador:
  13. 13. UNIVERSIDADE DE PERNAMBUCO UPPAAL Verificador:
  14. 14. UNIVERSIDADE DE PERNAMBUCO UPPAAL EFICIÊNCIA FACILIDADE DE USO
  15. 15. UNIVERSIDADE DE PERNAMBUCO UPPAAL Para facilitar a modelagem e depuração, o verificador de Uppaal pode gerar automaticamente um diagnóstico que explica por que uma propriedade é (ou não é) satisfeita por uma descrição do sistema.
  16. 16. UNIVERSIDADE DE PERNAMBUCO UPPAAL Os vestígios de diagnóstico gerados pelo verificador podem ser carregados automaticamente para o simulador, o qual pode ser utilizado para a visualização e investigação.
  17. 17. UNIVERSIDADE DE PERNAMBUCO UPPAAL •A primeira versão da ferramenta foi lançada em 1995 e tem sido aplicada em uma série de estudos de caso. •Para atender às exigências decorrentes dos estudos de caso, a ferramenta foi estendida com várias características. •A versão atual do UPPAAL foi lançada em 1º de Julho de 2014; •É uma aplicação implementada em Java e C++, e está disponível para Linux, SunOS e Windows 7 e 8.
  18. 18. UNIVERSIDADE DE PERNAMBUCO Site para download da ferramenta: http://www.uppaal.org/
  19. 19. UNIVERSIDADE DE PERNAMBUCO Site UPPAAL comercial: http://www.uppaal.com/
  20. 20. UNIVERSIDADE DE PERNAMBUCO Download •É preciso fazer um cadastro para download da ferramenta, informando o nome, a universidade e algumas informações para contato. •É necessário ter o Java instalado no computador (https://www.java.com/pt_BR/download/).
  21. 21. UNIVERSIDADE DE PERNAMBUCO Versões disponíveis para download da ferramenta: http://www.uppaal.org/
  22. 22. UNIVERSIDADE DE PERNAMBUCO Pasta Descompactada do UPPAAL:
  23. 23. UNIVERSIDADE DE PERNAMBUCO Ambiente de trabalho da ferramenta UPPAAL:
  24. 24. UNIVERSIDADE DE PERNAMBUCO Sintaxe de UPPAAL A sintaxe usada para declarações UPPAAL é semelhante a sintaxe utilizada na linguagem de programação C. •Clocks: -Sintaxe - Exemplo: - clock x , y; Declara dois clocks , x e y.
  25. 25. UNIVERSIDADE DE PERNAMBUCO Sintaxe •Variáveis de dados: - Exemplos: - int a,b; Inteiro com o domínio default. - int [0,2] a; Inteiro com o domínio de 0 até 2. - int b[5]; Array de inteiros.
  26. 26. UNIVERSIDADE DE PERNAMBUCO Sintaxe •Ações (Canais): - Exemplos: - chan a, b[2]; Canais comuns. - urgent chan c; Ações Urgentes.
  27. 27. UNIVERSIDADE DE PERNAMBUCO Sintaxe •Constantes: - Exemplos: - const int [0,1] YES = 1; - const bool NO = false;
  28. 28. UNIVERSIDADE DE PERNAMBUCO Declarações
  29. 29. UNIVERSIDADE DE PERNAMBUCO Declarações
  30. 30. UNIVERSIDADE DE PERNAMBUCO Templates •Os autômatos podem ser definidos como um conjunto de parâmetros que podem ser de qualquer tipo, por exemplo, Int, Chan. Estes parâmetros são substituídos por um dado argumento na declaração de processo. •Templates podem receber parâmetros: - int v; const min; const max; •Os templates podem ser instanciados para formar processos: - P := A (i, 1, 5); - Q := A (j, 0, 4);
  31. 31. UNIVERSIDADE DE PERNAMBUCO Invariantes Uma invariante é uma expressão que satisfaz as seguintes condições: •Apenas variáveis inteiras e constantes são referenciados; •É um conjunto de condições de forma x < x e/ou < = e, onde x é um clock de referência e “e” avaliada como um inteiro.
  32. 32. UNIVERSIDADE DE PERNAMBUCO Canais Urgentes Semântica Informal : • Não haverá atraso de transição com uma ação urgente; Restrições: • Nenhuma restrição de clock é permitida em transições com ações urgentes. • Invariantes e restrições de dados de variável são permitidos.
  33. 33. UNIVERSIDADE DE PERNAMBUCO Broadcast Synchronisation •Se a é um canal de Broadcast: a! = Emissão de Broadcast a? = Recepção de Broadcast •Em uma transmissão de sincronização um remetente c! pode sincronizar com um número arbitrário de Receptores c?. •Um conjunto de arestas em diferentes processos podem sincronizar se o emissor e o receptor estiverem no mesmo canal. •Receptores devem sincronizar sempre que possível.
  34. 34. UNIVERSIDADE DE PERNAMBUCO Mais Expressões •Lógica: •&& and lógico •|| or lógico •! Negação lógica •Bitwise: •^ xor •& bitwise and •| bitwise or •Bit Shift: •<< left •>> right •Prefix e Postfix: •++ incremento •-- decremento •Numérico: •% módulo •<? Mínimo •>? Máximo •Atribuições: •+= -= != ^= <<= >>=
  35. 35. UNIVERSIDADE DE PERNAMBUCO Exemplos e Aplicações
  36. 36. UNIVERSIDADE DE PERNAMBUCO Exemplo •E – existe um caminho; •A – para todos os caminhos; •[] – todos os estados em um caminho; •<> - alguns estados em um caminho. Combinaçõe suportadas: •A[ ], A<>, E<>, E[ ].
  37. 37. UNIVERSIDADE DE PERNAMBUCO Exemplo P Reachable – Épossivel alcançar um estado onde P é satisfeito. E<> P
  38. 38. UNIVERSIDADE DE PERNAMBUCO Exemplo Invariantly P - Dado um estado P, o mesmo é sempre satisfeito em todos os caminhos. A[] P
  39. 39. UNIVERSIDADE DE PERNAMBUCO Exemplo Inevitable P - Dado um estado P, o mesmo é inevitavelmente satisfeito em alguns estados e em todos os caminhos. A<> P
  40. 40. UNIVERSIDADE DE PERNAMBUCO Exemplo Potentially Always P - Dado um estado P, existe um caminho onde P é satisfeito em todos os estaos. E[] P
  41. 41. UNIVERSIDADE DE PERNAMBUCO Exemplo Process 1 idle: req1=1; want: turn=2; wait: while(turn!=1 && req2!=0); CS: //critical section job1(); req1=0; //and return to idle Process 2 idle: req2=1; want: turn=1; wait: while(turn!=2 && req1!=0); CS: //critical section job2(); req2=0; //and return to idle
  42. 42. UNIVERSIDADE DE PERNAMBUCO Exemplo
  43. 43. UNIVERSIDADE DE PERNAMBUCO Exemplo
  44. 44. UNIVERSIDADE DE PERNAMBUCO Aplicações utilizando UPPAAL: http://www.uppaal.com/
  45. 45. UNIVERSIDADE DE PERNAMBUCO Aplicações ABB – Líder mundial em tecnologias de automação e energia http://new.abb.com/br/empresa
  46. 46. UNIVERSIDADE DE PERNAMBUCO Commercial Field Bus Protocol •Protocolo de comunicação para barramento de campo comercial; •Desenvolvido e implementado pela ABB para aplicações críticas de segurança; •Controle do processo; •Um dos maiores estudo de caso onde UPPAAL foi aplicado;. •Falhas na lógica do protocolo e Implementação; •Fontes de erro são depuradas com base em modelos abstratos do protocolo; •Sugestões de melhorias; Aplicações
  47. 47. UNIVERSIDADE DE PERNAMBUCO Philips Audio Protocol •Desenvolvido e implementado pela Philips; •Troca de informações de controle entre os componentes de um equipamento de áudio usando codificação Manchester; •A correção da codificação se baseia em atrasos de tempos entre os sinais; •O protocolo é modelado e verificado utilizando UPPAAL. Aplicações
  48. 48. UNIVERSIDADE DE PERNAMBUCO Gearbox Controller •Projeto e análise de um protótipo de controlador de caixa de marchas de veículos por Mecel AB; •Componente do sistema distribuído em tempo real que controla um carro moderno; •Solicitações de mudança de câmbo  Interface homem / máquina  rede de comunicação  controlador de caixa de marchas; •O controlador implementa a mudança de marcha real; •UPPAAL é aplicado para validar o comportamento do sistema; •Provas automáticas de 46 propriedades especificados pelo Mecel AB. Aplicações
  49. 49. UNIVERSIDADE DE PERNAMBUCO Referências Bibliográficas •Site: http://www.uppaal.org/ •Site: http://www.uppaal.com/ •UPPAAL Tutorial: http://www.it.uu.se/research/group/darts/papers/texts/new- tutorial.pdf •UPPAAL Now, Next and Future: http://www.it.uu.se/research/group/darts/papers/texts/movep2k.pdf •Uppaal 4.0: Small Tutorial. A short description of the tool as well as some examples: http://www.it.uu.se/research/group/darts/uppaal/small_tutorial.pdf

×