SlideShare uma empresa Scribd logo
Uma Abordagem para Extração de Especificação CSP a partir de uma Implementação em Linguagem C Farley Millano ( [email_address] ) Orientador: Alexandre Mota ( [email_address] )
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Metrô Santiago, Chile :  Controladora Geral de Portas
Metrô: Controladora Geral de Portas ,[object Object],[object Object],[object Object],[object Object]
PROBLEMA!
Contexto - Problema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Contexto ,[object Object],Documento de Requisitos Modelagem CSP inicial Geração automática Implementação (Código fonte) Extração de modelo Modelagem CSP final Análise de propriedades  Análise na FDR (Model Checker)
CSP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CSP ,[object Object]
Linguagem C ,[object Object],[object Object],[object Object],[object Object]
Solução...
Desenvolvimento da solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desenvolvimento da solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desenvolvimento da solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],AvaliaPrograma [ programa ] ~> AvaliaListaConst[listConst] AvaliaListaDefinicaoVariaveis[listVar] AvaliaListaFuncoes[listFunc]
Desenvolvimento da solução ,[object Object],AvaliaPrograma[ int Teclado_enviarValor_Calculadora; int Tela_enviarImagem_Teclado; void Teclado (void){ Teclado_enviarValor_Calculadora = 1; Teclado_enviarImagem_Tela = 1; } ] Canais Processo Comunicações
Resultado:Exemplo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Código CGP em C 5 - Atribuições às variáveis globais.  4 – Condições externas de comandos ou notificações 2 - Escolha de estado do lado das portas 3 – Ações de acordo com cada estado 1 - Verificações iniciais
Trechos da extração - CGP  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Canais E Constantes AvaliaFuncao[ void  CGP_CML( void ) ... ] AvaliaIfElse[ if(MEMORIA_informaVelocidadeMenorQueTres_CGP == TRUE ){... ] AvaliaIfElse[ if(MEMORIA_informaChaveSeletoraLadoDireito_CGP == TRUE ) {... ]... Próximo slide => AvaliaListAtribuicao[ CGP_receberComandoDireito_MEMORIA = FECHA; CGP_receberComandoEsquerdo_MEMORIA = FECHA;  CGP_informarProximoEstadoDireita_MEMORIA  = 0;  CGP_informarProximoEstadoEsquerda_MEMORIA  = 0; ]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Verificação de propriedades ,[object Object]
Verificação de propriedades ,[object Object],Estado 6 inalcançável
Conclusão e Trabalhos futuros...
Conclusão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Trabalhos futuros ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Uma Abordagem para Extração de Especificação CSP a partir de uma Implementação em Linguagem C Farley Millano ( [email_address] ) Orientador: Alexandre Mota ( [email_address] )

Mais conteúdo relacionado

Mais procurados

Linguagem C - Entrada e Saída
Linguagem C - Entrada e SaídaLinguagem C - Entrada e Saída
Linguagem C - Entrada e Saída
Elaine Cecília Gatto
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexados
Rodrigo Almeida
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisãoCarlos Santos
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAndré Constantino da Silva
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
Elaine Cecília Gatto
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
Gercélia Ramos
 
C++
C++C++
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoRegis Magalhães
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
Elaine Cecília Gatto
 
LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06Carlos Santos
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
 
Linguagem c
Linguagem cLinguagem c
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoRegis Magalhães
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
Débora Inocêncio
 

Mais procurados (20)

Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Linguagem C - Entrada e Saída
Linguagem C - Entrada e SaídaLinguagem C - Entrada e Saída
Linguagem C - Entrada e Saída
 
Visualg
VisualgVisualg
Visualg
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexados
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão
 
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de RepetiçãoAula 10 - Comando de Decisão Múltipla e Comandos de Repetição
Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
C++
C++C++
C++
 
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De Decisao
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 Decisao
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 

Destaque

Exerccios algoritmos comando_se
Exerccios algoritmos comando_seExerccios algoritmos comando_se
Exerccios algoritmos comando_sePatrick_turma10
 
Ec2 Commands
Ec2 CommandsEc2 Commands
Ec2 Commands
snusmumrik
 
Direito do Consumidor Aula Única
Direito do Consumidor Aula ÚnicaDireito do Consumidor Aula Única
Direito do Consumidor Aula Única
consumidorbahia
 
PHP-CLI em 7 passos
PHP-CLI em 7 passosPHP-CLI em 7 passos
PHP-CLI em 7 passos
Henrique Moody
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
Quality Press
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
Saulo Arruda
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
Saulo Arruda
 
Disponibilizando dependências PHP com Composer, GitHub e Packagist
Disponibilizando dependências PHP com Composer, GitHub e PackagistDisponibilizando dependências PHP com Composer, GitHub e Packagist
Disponibilizando dependências PHP com Composer, GitHub e Packagist
Thiago Poiani
 
Tudo o que você precisa saber sobre o php7
Tudo o que você precisa saber sobre o php7Tudo o que você precisa saber sobre o php7
Tudo o que você precisa saber sobre o php7
Er Galvão Abbott
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
Rafael Jaques
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr Abdo
Samyr Abdo
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
Rafael Jaques
 
Introdução Ao Princípio De Contagem
Introdução Ao  Princípio De  ContagemIntrodução Ao  Princípio De  Contagem
Introdução Ao Princípio De ContagemAdélia Filha
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
Rafael Jaques
 
Lidando com Código Duplicado - DevInSantos 2013
Lidando com Código Duplicado - DevInSantos 2013Lidando com Código Duplicado - DevInSantos 2013
Lidando com Código Duplicado - DevInSantos 2013
Evaldo Junior
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
Rogerio R. Lima Cisi
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Apostila leitura dinamica curso completo - 57 páginas
Apostila leitura dinamica   curso completo - 57 páginasApostila leitura dinamica   curso completo - 57 páginas
Apostila leitura dinamica curso completo - 57 páginasfarnanda
 
curso-leitura-dinamica
curso-leitura-dinamicacurso-leitura-dinamica
curso-leitura-dinamica
capelino64
 
Leitura dinâmica e memorização técnicas e aplicação
Leitura dinâmica e memorização técnicas e aplicaçãoLeitura dinâmica e memorização técnicas e aplicação
Leitura dinâmica e memorização técnicas e aplicaçãoRodrigo Cisco
 

Destaque (20)

Exerccios algoritmos comando_se
Exerccios algoritmos comando_seExerccios algoritmos comando_se
Exerccios algoritmos comando_se
 
Ec2 Commands
Ec2 CommandsEc2 Commands
Ec2 Commands
 
Direito do Consumidor Aula Única
Direito do Consumidor Aula ÚnicaDireito do Consumidor Aula Única
Direito do Consumidor Aula Única
 
PHP-CLI em 7 passos
PHP-CLI em 7 passosPHP-CLI em 7 passos
PHP-CLI em 7 passos
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 
Disponibilizando dependências PHP com Composer, GitHub e Packagist
Disponibilizando dependências PHP com Composer, GitHub e PackagistDisponibilizando dependências PHP com Composer, GitHub e Packagist
Disponibilizando dependências PHP com Composer, GitHub e Packagist
 
Tudo o que você precisa saber sobre o php7
Tudo o que você precisa saber sobre o php7Tudo o que você precisa saber sobre o php7
Tudo o que você precisa saber sobre o php7
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr Abdo
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
Introdução Ao Princípio De Contagem
Introdução Ao  Princípio De  ContagemIntrodução Ao  Princípio De  Contagem
Introdução Ao Princípio De Contagem
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Lidando com Código Duplicado - DevInSantos 2013
Lidando com Código Duplicado - DevInSantos 2013Lidando com Código Duplicado - DevInSantos 2013
Lidando com Código Duplicado - DevInSantos 2013
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Apostila leitura dinamica curso completo - 57 páginas
Apostila leitura dinamica   curso completo - 57 páginasApostila leitura dinamica   curso completo - 57 páginas
Apostila leitura dinamica curso completo - 57 páginas
 
curso-leitura-dinamica
curso-leitura-dinamicacurso-leitura-dinamica
curso-leitura-dinamica
 
Leitura dinâmica e memorização técnicas e aplicação
Leitura dinâmica e memorização técnicas e aplicaçãoLeitura dinâmica e memorização técnicas e aplicação
Leitura dinâmica e memorização técnicas e aplicação
 

Semelhante a Converting an implementation using the C language to CSP modelling

Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
henriqueprossi
 
Bibliotecas c
Bibliotecas cBibliotecas c
Bibliotecas c
Valdinho Pereira
 
Desafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleDesafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - Joinville
Natã Barbosa
 
The mathematics used by technicians in the automotive electronics industry.
The mathematics used by technicians in the automotive electronics industry.The mathematics used by technicians in the automotive electronics industry.
The mathematics used by technicians in the automotive electronics industry.
Erotide Pereira
 
[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle
Christopher Cerqueira
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Universidade de São Paulo
 
Projeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para ParqueamentoProjeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para Parqueamento
Hugo Rodrigues
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
Henry Raúl González Brito
 
02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx
william Sarti José
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
Francisco Fambrini
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Cláudio Alves
 
Intro Sist Embarcados - Sergio cavalcante
Intro Sist Embarcados - Sergio cavalcanteIntro Sist Embarcados - Sergio cavalcante
Intro Sist Embarcados - Sergio cavalcante
paulocoob
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosRegis Magalhães
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
Elaine Cecília Gatto
 
Relatório final
Relatório finalRelatório final
Relatório final
Marcus Vinícius da Fonseca
 
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas EspaciaisAlgoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Italo Pinto Rodrigues
 
18.ago ouro i 14.00_298_rge
18.ago ouro i 14.00_298_rge18.ago ouro i 14.00_298_rge
18.ago ouro i 14.00_298_rgeitgfiles
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
Rodrigo Almeida
 

Semelhante a Converting an implementation using the C language to CSP modelling (20)

Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
 
Bibliotecas c
Bibliotecas cBibliotecas c
Bibliotecas c
 
certificado_361334
certificado_361334certificado_361334
certificado_361334
 
certificado_361334
certificado_361334certificado_361334
certificado_361334
 
Desafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleDesafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - Joinville
 
The mathematics used by technicians in the automotive electronics industry.
The mathematics used by technicians in the automotive electronics industry.The mathematics used by technicians in the automotive electronics industry.
The mathematics used by technicians in the automotive electronics industry.
 
[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle[PRJ32][Christopher] Aula 14 – controle
[PRJ32][Christopher] Aula 14 – controle
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Projeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para ParqueamentoProjeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para Parqueamento
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx02 JAVAEstrutura sequencial (slides).pptx
02 JAVAEstrutura sequencial (slides).pptx
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
 
Intro Sist Embarcados - Sergio cavalcante
Intro Sist Embarcados - Sergio cavalcanteIntro Sist Embarcados - Sergio cavalcante
Intro Sist Embarcados - Sergio cavalcante
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros Passos
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Relatório final
Relatório finalRelatório final
Relatório final
 
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas EspaciaisAlgoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
 
18.ago ouro i 14.00_298_rge
18.ago ouro i 14.00_298_rge18.ago ouro i 14.00_298_rge
18.ago ouro i 14.00_298_rge
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 

Converting an implementation using the C language to CSP modelling

  • 1. Uma Abordagem para Extração de Especificação CSP a partir de uma Implementação em Linguagem C Farley Millano ( [email_address] ) Orientador: Alexandre Mota ( [email_address] )
  • 2.
  • 3. Metrô Santiago, Chile : Controladora Geral de Portas
  • 4.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Código CGP em C 5 - Atribuições às variáveis globais. 4 – Condições externas de comandos ou notificações 2 - Escolha de estado do lado das portas 3 – Ações de acordo com cada estado 1 - Verificações iniciais
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 25.
  • 26.
  • 27. Uma Abordagem para Extração de Especificação CSP a partir de uma Implementação em Linguagem C Farley Millano ( [email_address] ) Orientador: Alexandre Mota ( [email_address] )