SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Adriel Rodrigues, Andr´e Bolzan Egert, Lucas da Silva Corrˆea
Orientador: Profa. Me. Let´ıcia Gindri
Universidade Federal do Pampa
30 de novembro de 2019
SPIN Model Checker Universidade Federal do Pampa 1 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Sum´ario
1 Introduc¸˜ao
2 PROMELA
3 SPIN
4 Instalac¸˜ao
5 Utilizac¸˜ao
6 Demonstrac¸˜ao
7 Conclus˜ao
8 Referˆencias
SPIN Model Checker Universidade Federal do Pampa 2 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Introduc¸˜ao
Verificac¸˜ao e Validac¸˜ao
Verificac¸˜ao
Segundo Gindri (2019), refere-se ao ato de verificar se estamos
construindo um software da forma correta, com as pr´aticas
certas
Validac¸˜ao
Segundo Gindri (2019), refere-se a identificar se o que estamos
construindo ´e de fato o software certo
Verificac¸˜ao de Modelos
Segundo (MENDES; FABR´ıCIO; GUEDES, 2009), a verificac¸˜ao de
modelos ´e uma t´ecnica automatizada, na qual quando dado
determinado modelo de estados finitos e suas propriedades l´ogicas, ´e
verificado se essas propriedades pertencem ao modelo
Evitar deadlocks
SPIN Model Checker Universidade Federal do Pampa 3 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Introduc¸˜ao
Objetivo do Trabalho
Realizar uma pesquisa sobre a ferramenta SPIN, a fim de avali´a-la,
apresentando detalhes sobre a sua forma de download, instalac¸˜ao,
utilizac¸˜ao e por fim as principais considerac¸˜oes sobre a ferramenta.
Ferramentas
LTSA Labelled Transition System Analyser
CBMC
PAT: Process Analysis Toolkit
Scyther Tool
SPIN
SPIN Model Checker Universidade Federal do Pampa 4 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
PROMELA
O que ´e?
O PROMELA ´e uma linguagem de modelagem que descreve
Sistemas Concorrentes.
Permite a criac¸˜ao de modelos dinˆamicos;
Descreve Protocolos de comunicac¸˜ao via canais de mensagens;
Utiliza processos que se comunicam atrav´es de vari´aveis
compartilhadas e/ou mensagens s´ıncronas ou ass´ıncronas;
O foco de PROMELA ´e a interac¸˜ao entre processos.
Criada por Gerard J. Holzmann
SPIN Model Checker Universidade Federal do Pampa 5 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
PROMELA
Modelos ou programas em PROMELA podem ser compostos por:
Processos;
Tipos de Dados;
Canais de mensagens;
Instruc¸˜oes de Controle.
SPIN Model Checker Universidade Federal do Pampa 6 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Estrutura
A sintaxe de especificac¸˜ao ´e baseada em:
Linguagem C;
Canais para troca de mensagens;
Controle de fluxo;
SPIN Model Checker Universidade Federal do Pampa 7 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Figura: SPIN.
SPIN Model Checker Universidade Federal do Pampa 8 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
O que ´e?
Popular Ferramenta de Verificac¸˜ao de Software open-source.
Usada por milh˜oes de pessoas do mundo todo.
Quando surgiu?
Foi desenvolvida no Bell Labs no grupo Unix do Centro de
Pesquisa em Ciˆencias da Computac¸˜ao, a partir de 1980.
A SPIN est´a dispon´ıvel gratuitamente desde 1991.
Prˆemio
Em abril de 2002, a ferramenta recebeu o prˆemio ACM System
Software Award.
SPIN Model Checker Universidade Federal do Pampa 9 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Vers˜ao Atual
A vers˜ao atual da SPIN ´e 6.4.9 (dezembro de 2018).
Criada por Gerard J. Holzmann
SPIN Model Checker Universidade Federal do Pampa 10 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Casos de Sucesso
Controle de inunda¸c˜ao: A SPIN foi utilizada para
verificac¸˜ao dos algoritmos de uma barragem de controle de
inundac¸˜ao constru´ıda no final dos anos 90 perto de
Rotterdam, na Holanda.
Investiga¸c˜ao Toyota: A SPIN foi utilizada em uma
investigac¸˜ao detalhada da NASA sobre o software de controle
do Toyota Camry.
SPIN Model Checker Universidade Federal do Pampa 11 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Interface gr´afica iSPIN
Interface gr´afica que ´e executada independentemente do
pr´oprio Spin.
Ajuda gerando os comandos Spin adequados, com base nas
selec¸˜oes de menu.
Facilita o uso e visualizac¸˜ao para usu´arios.
Melhora visualizac¸˜ao das simulac¸˜oes.
Algumas funcionalidades:
Verificac¸˜ao de modelos Promela.
Simulac¸˜ao de modelos Promela.
Desenha autˆomatos para cada processo.
SPIN Model Checker Universidade Federal do Pampa 12 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Download e instalac¸˜ao
Tutoriais apenas em inglˆes e desatualizados
https://bit.ly/2OSR4Mo
SPIN Model Checker Universidade Federal do Pampa 13 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Download e instalac¸˜ao
https://bit.ly/2OxjMn8
SPIN Model Checker Universidade Federal do Pampa 14 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Interface
SPIN Model Checker Universidade Federal do Pampa 15 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Interface
SPIN Model Checker Universidade Federal do Pampa 16 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Func¸˜oes
..
Automata view
Simulate / Replay
Verification
Interface gr´afica
SPIN Model Checker Universidade Federal do Pampa 17 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Demonstrac¸˜ao Pr´atica
Demonstra¸c˜ao Pr´atica
SPIN Model Checker Universidade Federal do Pampa 18 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Dificuldades Encontradas
Instalac¸˜ao
Falta de experiˆencia e conhecimento no dom´ınio
Promela n˜ao possui uma sintaxe simples e de f´acil
compreens˜ao.
Falta de documentac¸˜ao em portuguˆes
SPIN Model Checker Universidade Federal do Pampa 19 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Conclus˜ao
Conclus˜ao
SPIN
Dependˆencia do Promela;
Curva de Aprendizado;
Instalac¸˜ao e Configurac¸˜ao mais simples que as ferramentas
similares.
SPIN Model Checker Universidade Federal do Pampa 20 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Disponibilizac¸˜ao da apresentac¸˜ao
A apresentac¸˜ao est´a disponibilizada no SlideShare.
https://bit.ly/2Dwm7Z2
SPIN Model Checker Universidade Federal do Pampa 21 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Conclus˜ao
F´orum
Simp´osios
Apoio, suporte
Projetos
http://spinroot.com/spin/whatispin.html
SPIN Model Checker Universidade Federal do Pampa 22 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Referˆencias
GINDRI, L.Apresentac¸˜ao Introduc¸˜ao e Verificac¸˜ao de Modelos.
2019. Acessado em: 24nov. 2019. Dispon´ıvel em:
https://moodle.unipampa.edu.br/moodle/pluginfile.php/
437253/modr esource/content/1/VM.pdf
HOLZMANN, G.The SPIN Model Checker: Primer and
Reference Manual. 1st. ed. [S.l.]:Addison-Wesley
Professional, 2011. ISBN 0321773713, 9780321773715
HOLZMANN, G.Verifying Multi-threaded Software with Spin.
Acessado em: 24 nov. 2019. Dispon´ıvel em:
http://spinroot.com/spin/whatispin.html
MENDES, A.; FABR´ıCIO, R.; GUEDES, R.Promela Spin.
Acessado em: 24 nov. 2019.Dispon´ıvel em:
https://www.gta.ufrj.br/ fabriciojorge/trabalhos/promelaX spin.pdf
SPIN Model Checker Universidade Federal do Pampa 23 / 24
dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Adriel Rodrigues, Andr´e Bolzan Egert, Lucas da Silva Corrˆea
Orientador: Profa. Me. Let´ıcia Gindri
Universidade Federal do Pampa
30 de novembro de 2019
SPIN Model Checker Universidade Federal do Pampa 24 / 24

Mais conteúdo relacionado

Semelhante a SPIN Model Checker Ferramenta Verificação Software

Observabilidade: Será que você está fazendo do jeito certo?
Observabilidade: Será que você está fazendo do jeito certo?Observabilidade: Será que você está fazendo do jeito certo?
Observabilidade: Será que você está fazendo do jeito certo?Janssen Lima
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador PragmaticoLeonardo Fernandes
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosSamanta Cicilia
 
UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE DECISÃO: Um Est...
UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE  DECISÃO: Um Est...UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE  DECISÃO: Um Est...
UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE DECISÃO: Um Est...Andre Wirth
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous DeliverySamanta Cicilia
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmáticaelliando dias
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...Welington Monteiro
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...Rafael Chiavegatto
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous DeliverySamanta Cicilia
 
OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOS
OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOSOS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOS
OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOSLuiz Ladeira
 

Semelhante a SPIN Model Checker Ferramenta Verificação Software (20)

Observabilidade: Será que você está fazendo do jeito certo?
Observabilidade: Será que você está fazendo do jeito certo?Observabilidade: Será que você está fazendo do jeito certo?
Observabilidade: Será que você está fazendo do jeito certo?
 
Seja Um Programador Pragmatico
Seja Um Programador PragmaticoSeja Um Programador Pragmatico
Seja Um Programador Pragmatico
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE DECISÃO: Um Est...
UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE  DECISÃO: Um Est...UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE  DECISÃO: Um Est...
UMA TÉCNICA DE APRENDIZAGEM DE MÁQUINA BASEADA EM ÁRVORES DE DECISÃO: Um Est...
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery
 
UPPAAL
UPPAALUPPAAL
UPPAAL
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...TDC 2014  - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
TDC 2014 - Trilha de Testes - Palestra "Quando meus testes terminam, se os b...
 
Selenium
SeleniumSelenium
Selenium
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous Delivery
 
OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOS
OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOSOS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOS
OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOS
 

SPIN Model Checker Ferramenta Verificação Software

  • 1. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Adriel Rodrigues, Andr´e Bolzan Egert, Lucas da Silva Corrˆea Orientador: Profa. Me. Let´ıcia Gindri Universidade Federal do Pampa 30 de novembro de 2019 SPIN Model Checker Universidade Federal do Pampa 1 / 24
  • 2. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Sum´ario 1 Introduc¸˜ao 2 PROMELA 3 SPIN 4 Instalac¸˜ao 5 Utilizac¸˜ao 6 Demonstrac¸˜ao 7 Conclus˜ao 8 Referˆencias SPIN Model Checker Universidade Federal do Pampa 2 / 24
  • 3. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Introduc¸˜ao Verificac¸˜ao e Validac¸˜ao Verificac¸˜ao Segundo Gindri (2019), refere-se ao ato de verificar se estamos construindo um software da forma correta, com as pr´aticas certas Validac¸˜ao Segundo Gindri (2019), refere-se a identificar se o que estamos construindo ´e de fato o software certo Verificac¸˜ao de Modelos Segundo (MENDES; FABR´ıCIO; GUEDES, 2009), a verificac¸˜ao de modelos ´e uma t´ecnica automatizada, na qual quando dado determinado modelo de estados finitos e suas propriedades l´ogicas, ´e verificado se essas propriedades pertencem ao modelo Evitar deadlocks SPIN Model Checker Universidade Federal do Pampa 3 / 24
  • 4. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Introduc¸˜ao Objetivo do Trabalho Realizar uma pesquisa sobre a ferramenta SPIN, a fim de avali´a-la, apresentando detalhes sobre a sua forma de download, instalac¸˜ao, utilizac¸˜ao e por fim as principais considerac¸˜oes sobre a ferramenta. Ferramentas LTSA Labelled Transition System Analyser CBMC PAT: Process Analysis Toolkit Scyther Tool SPIN SPIN Model Checker Universidade Federal do Pampa 4 / 24
  • 5. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias PROMELA O que ´e? O PROMELA ´e uma linguagem de modelagem que descreve Sistemas Concorrentes. Permite a criac¸˜ao de modelos dinˆamicos; Descreve Protocolos de comunicac¸˜ao via canais de mensagens; Utiliza processos que se comunicam atrav´es de vari´aveis compartilhadas e/ou mensagens s´ıncronas ou ass´ıncronas; O foco de PROMELA ´e a interac¸˜ao entre processos. Criada por Gerard J. Holzmann SPIN Model Checker Universidade Federal do Pampa 5 / 24
  • 6. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias PROMELA Modelos ou programas em PROMELA podem ser compostos por: Processos; Tipos de Dados; Canais de mensagens; Instruc¸˜oes de Controle. SPIN Model Checker Universidade Federal do Pampa 6 / 24
  • 7. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Estrutura A sintaxe de especificac¸˜ao ´e baseada em: Linguagem C; Canais para troca de mensagens; Controle de fluxo; SPIN Model Checker Universidade Federal do Pampa 7 / 24
  • 8. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Figura: SPIN. SPIN Model Checker Universidade Federal do Pampa 8 / 24
  • 9. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker O que ´e? Popular Ferramenta de Verificac¸˜ao de Software open-source. Usada por milh˜oes de pessoas do mundo todo. Quando surgiu? Foi desenvolvida no Bell Labs no grupo Unix do Centro de Pesquisa em Ciˆencias da Computac¸˜ao, a partir de 1980. A SPIN est´a dispon´ıvel gratuitamente desde 1991. Prˆemio Em abril de 2002, a ferramenta recebeu o prˆemio ACM System Software Award. SPIN Model Checker Universidade Federal do Pampa 9 / 24
  • 10. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Vers˜ao Atual A vers˜ao atual da SPIN ´e 6.4.9 (dezembro de 2018). Criada por Gerard J. Holzmann SPIN Model Checker Universidade Federal do Pampa 10 / 24
  • 11. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Casos de Sucesso Controle de inunda¸c˜ao: A SPIN foi utilizada para verificac¸˜ao dos algoritmos de uma barragem de controle de inundac¸˜ao constru´ıda no final dos anos 90 perto de Rotterdam, na Holanda. Investiga¸c˜ao Toyota: A SPIN foi utilizada em uma investigac¸˜ao detalhada da NASA sobre o software de controle do Toyota Camry. SPIN Model Checker Universidade Federal do Pampa 11 / 24
  • 12. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Interface gr´afica iSPIN Interface gr´afica que ´e executada independentemente do pr´oprio Spin. Ajuda gerando os comandos Spin adequados, com base nas selec¸˜oes de menu. Facilita o uso e visualizac¸˜ao para usu´arios. Melhora visualizac¸˜ao das simulac¸˜oes. Algumas funcionalidades: Verificac¸˜ao de modelos Promela. Simulac¸˜ao de modelos Promela. Desenha autˆomatos para cada processo. SPIN Model Checker Universidade Federal do Pampa 12 / 24
  • 13. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Download e instalac¸˜ao Tutoriais apenas em inglˆes e desatualizados https://bit.ly/2OSR4Mo SPIN Model Checker Universidade Federal do Pampa 13 / 24
  • 14. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Download e instalac¸˜ao https://bit.ly/2OxjMn8 SPIN Model Checker Universidade Federal do Pampa 14 / 24
  • 15. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Interface SPIN Model Checker Universidade Federal do Pampa 15 / 24
  • 16. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Interface SPIN Model Checker Universidade Federal do Pampa 16 / 24
  • 17. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Func¸˜oes .. Automata view Simulate / Replay Verification Interface gr´afica SPIN Model Checker Universidade Federal do Pampa 17 / 24
  • 18. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Demonstrac¸˜ao Pr´atica Demonstra¸c˜ao Pr´atica SPIN Model Checker Universidade Federal do Pampa 18 / 24
  • 19. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Dificuldades Encontradas Instalac¸˜ao Falta de experiˆencia e conhecimento no dom´ınio Promela n˜ao possui uma sintaxe simples e de f´acil compreens˜ao. Falta de documentac¸˜ao em portuguˆes SPIN Model Checker Universidade Federal do Pampa 19 / 24
  • 20. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Conclus˜ao Conclus˜ao SPIN Dependˆencia do Promela; Curva de Aprendizado; Instalac¸˜ao e Configurac¸˜ao mais simples que as ferramentas similares. SPIN Model Checker Universidade Federal do Pampa 20 / 24
  • 21. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Disponibilizac¸˜ao da apresentac¸˜ao A apresentac¸˜ao est´a disponibilizada no SlideShare. https://bit.ly/2Dwm7Z2 SPIN Model Checker Universidade Federal do Pampa 21 / 24
  • 22. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Conclus˜ao F´orum Simp´osios Apoio, suporte Projetos http://spinroot.com/spin/whatispin.html SPIN Model Checker Universidade Federal do Pampa 22 / 24
  • 23. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias Referˆencias GINDRI, L.Apresentac¸˜ao Introduc¸˜ao e Verificac¸˜ao de Modelos. 2019. Acessado em: 24nov. 2019. Dispon´ıvel em: https://moodle.unipampa.edu.br/moodle/pluginfile.php/ 437253/modr esource/content/1/VM.pdf HOLZMANN, G.The SPIN Model Checker: Primer and Reference Manual. 1st. ed. [S.l.]:Addison-Wesley Professional, 2011. ISBN 0321773713, 9780321773715 HOLZMANN, G.Verifying Multi-threaded Software with Spin. Acessado em: 24 nov. 2019. Dispon´ıvel em: http://spinroot.com/spin/whatispin.html MENDES, A.; FABR´ıCIO, R.; GUEDES, R.Promela Spin. Acessado em: 24 nov. 2019.Dispon´ıvel em: https://www.gta.ufrj.br/ fabriciojorge/trabalhos/promelaX spin.pdf SPIN Model Checker Universidade Federal do Pampa 23 / 24
  • 24. dog1 Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias SPIN Model Checker Adriel Rodrigues, Andr´e Bolzan Egert, Lucas da Silva Corrˆea Orientador: Profa. Me. Let´ıcia Gindri Universidade Federal do Pampa 30 de novembro de 2019 SPIN Model Checker Universidade Federal do Pampa 24 / 24