Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) |
Texto Completo: | https://repository.ufrpe.br/handle/123456789/703 |
Resumo: | O interesse por ambientes de programação de robôs virtuais para fins educacionais tem crescido nos últimos anos. Estes ambientes são uma alternativa para o uso de robôs reais que possuem um alto custo de aquisição. No entanto, não existem ambientes gratuitos que oferecem mecanismos automatizados para verificação dos programas de robôs virtuais, o que impossibilita que alunos e professores tenham um feedback rápidoeautomáticosobreofuncionamentodosprogramas.Estetrabalhopropõe umaabordagemdeverificaçãoautomáticadeprogramasderobôsvirtuaisescritosna linguagemeducacionalROBO.DesenvolvemosumcompiladorquelêprogramasescritosemROBOetraduzosprogramasparaumanotaçãoformalchamadaCSP(Communicating Sequential Processes), que é a entrada para uma ferramenta de verificação automática de modelos chamada FDR (Failures-Divergences Refinement). As fases da compilação foram implementadas usando a plataforma Spoofax, onde definimos a gramática da linguagem ROBO e especificamos regras de tradução de ROBO para CSP. Estetrabalhoremoveumalimitaçãodanossaabordagemanteriordeverificação que não permite a análise de programas ROBO contendo variáveis e procedimentos. Uma importante contribuição deste trabalho é a extensão da abordagem de verificação para permitir a análise automática de programas ROBO com variáveis e procedimentos. A extensão consiste na modificação da gramática do compilador pela inclusão de variáveis e procedimentos e na inclusão de novas regras de tradução que definem a semântica formal para os elementos adicionados na gramática. O trabalho propõe uma ferramenta que torna transparente o processo de tradução de ROBO para CSP e a verificação automática usando FDR. Validamos a abordagem utilizando a ferramenta proposta para verificar o comportamento de um programa ROBO com variáveis e procedimentos. |
id |
UFRPE_f567ef0bf2a4bc50bc900184356d0e48 |
---|---|
oai_identifier_str |
oai:dspace:123456789/703 |
network_acronym_str |
UFRPE |
network_name_str |
Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) |
repository_id_str |
https://v2.sherpa.ac.uk/id/repository/10612 |
spelling |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formalEngenharia de softwareSoftware - TestesSoftware - DesenvolvimentoO interesse por ambientes de programação de robôs virtuais para fins educacionais tem crescido nos últimos anos. Estes ambientes são uma alternativa para o uso de robôs reais que possuem um alto custo de aquisição. No entanto, não existem ambientes gratuitos que oferecem mecanismos automatizados para verificação dos programas de robôs virtuais, o que impossibilita que alunos e professores tenham um feedback rápidoeautomáticosobreofuncionamentodosprogramas.Estetrabalhopropõe umaabordagemdeverificaçãoautomáticadeprogramasderobôsvirtuaisescritosna linguagemeducacionalROBO.DesenvolvemosumcompiladorquelêprogramasescritosemROBOetraduzosprogramasparaumanotaçãoformalchamadaCSP(Communicating Sequential Processes), que é a entrada para uma ferramenta de verificação automática de modelos chamada FDR (Failures-Divergences Refinement). As fases da compilação foram implementadas usando a plataforma Spoofax, onde definimos a gramática da linguagem ROBO e especificamos regras de tradução de ROBO para CSP. Estetrabalhoremoveumalimitaçãodanossaabordagemanteriordeverificação que não permite a análise de programas ROBO contendo variáveis e procedimentos. Uma importante contribuição deste trabalho é a extensão da abordagem de verificação para permitir a análise automática de programas ROBO com variáveis e procedimentos. A extensão consiste na modificação da gramática do compilador pela inclusão de variáveis e procedimentos e na inclusão de novas regras de tradução que definem a semântica formal para os elementos adicionados na gramática. O trabalho propõe uma ferramenta que torna transparente o processo de tradução de ROBO para CSP e a verificação automática usando FDR. Validamos a abordagem utilizando a ferramenta proposta para verificar o comportamento de um programa ROBO com variáveis e procedimentos.There is an increasing interest in virtual robot programming environments for educational purposes in recent years. These environments are an alternative to the use of real robots, which have a high acquisition value. Automatic verification of robot programs is a demand of students and teachers that expect to have fast and automatic feed back about the correctness of robot programs.However,no free software provides an automatic verification of virtual robot programs. This work proposes an approach for the automatic verification of virtual robot programs authored in the educational language called ROBO. We propose a compiler that reads programs written in ROBO and translates its source code into a formal notation called CSP (Communicating Sequential Processes), which is the input to a model checking tool called FDR (FailuresDivergences Refinement). The compiler was implemented using the facilities of the Spoofax framework, which is used to define a parser for the ROBO language and a set of translation rules from ROBO to CSP. This work removes a limitation of our previous verification approach that does not perform the verification of ROBO programs containing variables and procedures. A significant contribution is the extension of the verification approach to allow the automatic analysis of ROBO programs with variables and procedures.The extension consists of the modification of the compiler Grammar by the inclusion of variables and procedures and the inclusion of translation rules that define the formal semantics for the elements added into the grammar.Moreover, the work proposes a tool that makes transparent the translation process from ROBO to CSP and the automatic verification using FDR.We validate the approach using the proposed tool to verify the behavior of a ROBO program with variables and procedures.BrasilNogueira, Sidney de Carvalhohttp://lattes.cnpq.br/1186672408246777http://lattes.cnpq.br/9171224058305522Pereira, Iverson Luís2019-01-16T18:47:59Z2019-01-16T18:47:59Z2018info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis88 f.application/pdfPEREIRA, Iverson Luís. Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal. 2018. 88 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Departamento de Computação, Universidade Federal Rural de Pernambuco, Recife, 2018.https://repository.ufrpe.br/handle/123456789/703porAttribution-NonCommercial-NoDerivs 3.0 Brazilhttps://creativecommons.org/licenses/by-nc-nd/3.0/br/deed.en_USopenAccessinfo:eu-repo/semantics/openAccessreponame:Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE)instname:Universidade Federal Rural de Pernambuco (UFRPE)instacron:UFRPE2019-02-18T18:38:28Zoai:dspace:123456789/703Repositório InstitucionalPUBhttps://repository.ufrpe.br/oai/requestrepositorio.sib@ufrpe.bropendoar:https://v2.sherpa.ac.uk/id/repository/106122019-02-18T18:38:28Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) - Universidade Federal Rural de Pernambuco (UFRPE)false |
dc.title.none.fl_str_mv |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
title |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
spellingShingle |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal Pereira, Iverson Luís Engenharia de software Software - Testes Software - Desenvolvimento |
title_short |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
title_full |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
title_fullStr |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
title_full_unstemmed |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
title_sort |
Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal |
author |
Pereira, Iverson Luís |
author_facet |
Pereira, Iverson Luís |
author_role |
author |
dc.contributor.none.fl_str_mv |
Nogueira, Sidney de Carvalho http://lattes.cnpq.br/1186672408246777 http://lattes.cnpq.br/9171224058305522 |
dc.contributor.author.fl_str_mv |
Pereira, Iverson Luís |
dc.subject.por.fl_str_mv |
Engenharia de software Software - Testes Software - Desenvolvimento |
topic |
Engenharia de software Software - Testes Software - Desenvolvimento |
description |
O interesse por ambientes de programação de robôs virtuais para fins educacionais tem crescido nos últimos anos. Estes ambientes são uma alternativa para o uso de robôs reais que possuem um alto custo de aquisição. No entanto, não existem ambientes gratuitos que oferecem mecanismos automatizados para verificação dos programas de robôs virtuais, o que impossibilita que alunos e professores tenham um feedback rápidoeautomáticosobreofuncionamentodosprogramas.Estetrabalhopropõe umaabordagemdeverificaçãoautomáticadeprogramasderobôsvirtuaisescritosna linguagemeducacionalROBO.DesenvolvemosumcompiladorquelêprogramasescritosemROBOetraduzosprogramasparaumanotaçãoformalchamadaCSP(Communicating Sequential Processes), que é a entrada para uma ferramenta de verificação automática de modelos chamada FDR (Failures-Divergences Refinement). As fases da compilação foram implementadas usando a plataforma Spoofax, onde definimos a gramática da linguagem ROBO e especificamos regras de tradução de ROBO para CSP. Estetrabalhoremoveumalimitaçãodanossaabordagemanteriordeverificação que não permite a análise de programas ROBO contendo variáveis e procedimentos. Uma importante contribuição deste trabalho é a extensão da abordagem de verificação para permitir a análise automática de programas ROBO com variáveis e procedimentos. A extensão consiste na modificação da gramática do compilador pela inclusão de variáveis e procedimentos e na inclusão de novas regras de tradução que definem a semântica formal para os elementos adicionados na gramática. O trabalho propõe uma ferramenta que torna transparente o processo de tradução de ROBO para CSP e a verificação automática usando FDR. Validamos a abordagem utilizando a ferramenta proposta para verificar o comportamento de um programa ROBO com variáveis e procedimentos. |
publishDate |
2018 |
dc.date.none.fl_str_mv |
2018 2019-01-16T18:47:59Z 2019-01-16T18:47:59Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
PEREIRA, Iverson Luís. Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal. 2018. 88 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Departamento de Computação, Universidade Federal Rural de Pernambuco, Recife, 2018. https://repository.ufrpe.br/handle/123456789/703 |
identifier_str_mv |
PEREIRA, Iverson Luís. Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal. 2018. 88 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Departamento de Computação, Universidade Federal Rural de Pernambuco, Recife, 2018. |
url |
https://repository.ufrpe.br/handle/123456789/703 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil https://creativecommons.org/licenses/by-nc-nd/3.0/br/deed.en_US openAccess info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil https://creativecommons.org/licenses/by-nc-nd/3.0/br/deed.en_US openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
88 f. application/pdf |
dc.publisher.none.fl_str_mv |
Brasil |
publisher.none.fl_str_mv |
Brasil |
dc.source.none.fl_str_mv |
reponame:Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) instname:Universidade Federal Rural de Pernambuco (UFRPE) instacron:UFRPE |
instname_str |
Universidade Federal Rural de Pernambuco (UFRPE) |
instacron_str |
UFRPE |
institution |
UFRPE |
reponame_str |
Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) |
collection |
Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) |
repository.name.fl_str_mv |
Repositório institucional da Universidade Federal Rural de Pernambuco (UFRPE) (RI-UFRPE) - Universidade Federal Rural de Pernambuco (UFRPE) |
repository.mail.fl_str_mv |
repositorio.sib@ufrpe.br |
_version_ |
1809277155309256704 |