Estendendo CRefine para o suporte de táticas de refinamento

Detalhes bibliográficos
Ano de defesa: 2011
Autor(a) principal: Conserva Filho, Madiel de Souza
Orientador(a): Oliveira, Marcel Vinicius Medeiros
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Programa de Pós-Graduação: Programa de Pós-Graduação em Sistemas e Computação
Departamento: Ciência da Computação
País: BR
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/18037
Resumo: The use of increasingly complex software applications is demanding greater investment in the development of such systems to ensure applications with better quality. Therefore, new techniques are being used in Software Engineering, thus making the development process more effective. Among these new approaches, we highlight Formal Methods, which use formal languages that are strongly based on mathematics and have a well-defined semantics and syntax. One of these languages is Circus, which can be used to model concurrent systems. It was developed from the union of concepts from two other specification languages: Z, which specifies systems with complex data, and CSP, which is normally used to model concurrent systems. Circus has an associated refinement calculus, which can be used to develop software in a precise and stepwise fashion. Each step is justified by the application of a refinement law (possibly with the discharge of proof obligations). Sometimes, the same laws can be applied in the same manner in different developments or even in different parts of a single development. A strategy to optimize this calculus is to formalise these application as a refinement tactic, which can then be used as a single transformation rule. CRefine was developed to support the Circus refinement calculus. However, before the work presented here, it did not provide support for refinement tactics. The aim of this work is to provide tool support for refinement tactics. For that, we develop a new module in CRefine, which automates the process of defining and applying refinement tactics that are formalised in the tactic language ArcAngelC. Finally, we validate the extension by applying the new module in a case study, which used the refinement tactics in a refinement strategy for verification of SPARK Ada implementations of control systems. In this work, we apply our module in the first two phases of this strategy
id UFRN_c6d384ece1cf2e0fb97fd720904dbb0a
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/18037
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Conserva Filho, Madiel de Souzahttp://lattes.cnpq.br/1756952696097255Moreira, Anamaria Martinshttp://lattes.cnpq.br/5861361541278876Sampaio, Augusto Cezar Alveshttp://lattes.cnpq.br/3977760354511853Oliveira, Marcel Vinicius Medeiros2014-12-17T15:47:59Z2012-05-292014-12-17T15:47:59Z2011-10-07CONSERVA FILHO, Madiel de Souza. Estendendo CRefine para o suporte de táticas de refinamento. 2011. 138 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2011.https://repositorio.ufrn.br/jspui/handle/123456789/18037The use of increasingly complex software applications is demanding greater investment in the development of such systems to ensure applications with better quality. Therefore, new techniques are being used in Software Engineering, thus making the development process more effective. Among these new approaches, we highlight Formal Methods, which use formal languages that are strongly based on mathematics and have a well-defined semantics and syntax. One of these languages is Circus, which can be used to model concurrent systems. It was developed from the union of concepts from two other specification languages: Z, which specifies systems with complex data, and CSP, which is normally used to model concurrent systems. Circus has an associated refinement calculus, which can be used to develop software in a precise and stepwise fashion. Each step is justified by the application of a refinement law (possibly with the discharge of proof obligations). Sometimes, the same laws can be applied in the same manner in different developments or even in different parts of a single development. A strategy to optimize this calculus is to formalise these application as a refinement tactic, which can then be used as a single transformation rule. CRefine was developed to support the Circus refinement calculus. However, before the work presented here, it did not provide support for refinement tactics. The aim of this work is to provide tool support for refinement tactics. For that, we develop a new module in CRefine, which automates the process of defining and applying refinement tactics that are formalised in the tactic language ArcAngelC. Finally, we validate the extension by applying the new module in a case study, which used the refinement tactics in a refinement strategy for verification of SPARK Ada implementations of control systems. In this work, we apply our module in the first two phases of this strategyA utilização de aplicações de software cada vez mais complexas está exigindo um maior investimento no desenvolvimento de sistemas, garantindo uma melhor qualidade das aplicações. Diante desse contexto, novas técnicas estão sendo utilizadas na área de Engenharia de Software, tornado o processo de desenvolvimento mais eficaz. Destacam- se, como exemplo dessas novas abordagens, os Métodos Formais. Estes métodos utilizam linguagens formais que têm sua base fundamentada na matemática, apresentando uma semântica e sintaxe bem definidas. Uma dessas linguagens é Circus, que possibilita a mo- delagem de sistemas concorrentes. Esta linguagem foi desenvolvida a partir da união dos conceitos das linguagens formais Z (que permitem a modelagem de dados complexos) e CSP Communicating Sequential Processes (que permitem a modelagem de sistemas con- correntes). Adicionalmente, Circus também possui um cálculo de refinamento associado, que pode ser utilizado para desenvolver software de forma precisa e gradual. Cada etapa deste cálculo é justificada pela aplicação de uma lei de refinamento (possivelmente com a prova de certas condições chamadas de obrigações de prova). Algumas vezes, as mesmas leis podem ser aplicadas da mesma forma em diferentes desenvolvimentos ou mesmo em partes diferentes de um único desenvolvimento. Uma estratégia para otimizar esse cál- culo é formalizar estas aplicações como táticas de refinamento, que podem ser utilizadas como uma simples regra de transformação. A ferramenta CRefine foi desenvolvida para realizar o suporte a este cálculo de refinamento de Circus. Entretanto, antes deste traba- lho, essa ferramenta não fornecia suporte para as táticas. A proposta desta dissertação é oferecer um suporte ferramental para a utilização das táticas no cálculo de refinamento de programas Circus. Para tanto, foi desenvolvido um novo módulo em CRefine, que auto- matiza o processo de definição e aplicação das táticas de refinamento. Nesta extensão as táticas são formalizadas na linguagem de táticas para sistemas concorrentes, ArcAngelC. Por fim, validamos a extensão, aplicando o novo módulo a um estudo de caso, que utiliza as táticas em uma estratégia de refinamento para verificação de implementações SPARK Ada de sistemas de controle. Nesta dissertação, aplicamos o novo modulo às duas fases iniciais desta estratégia.Coordenação de Aperfeiçoamento de Pessoal de Nível Superiorapplication/pdfporUniversidade Federal do Rio Grande do NortePrograma de Pós-Graduação em Sistemas e ComputaçãoUFRNBRCiência da ComputaçãoMétodos formaisCircusTáticas de refinamentoFerramentasFormal methodsCircusRefinement tacticsToolsCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOEstendendo CRefine para o suporte de táticas de refinamentoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALMadielSCF_DISSERT.pdfapplication/pdf1874479https://repositorio.ufrn.br/bitstream/123456789/18037/1/MadielSCF_DISSERT.pdfdc22e7d8884791a523682f62c1e8c32cMD51TEXTMadielSCF_DISSERT.pdf.txtMadielSCF_DISSERT.pdf.txtExtracted texttext/plain210977https://repositorio.ufrn.br/bitstream/123456789/18037/6/MadielSCF_DISSERT.pdf.txt7ece9e5ca06bd2bdcc1fbf7833e63c9aMD56THUMBNAILMadielSCF_DISSERT.pdf.jpgMadielSCF_DISSERT.pdf.jpgIM Thumbnailimage/jpeg3497https://repositorio.ufrn.br/bitstream/123456789/18037/7/MadielSCF_DISSERT.pdf.jpgf43306f12aca8f29104d049514b343d1MD57123456789/180372017-11-04 10:37:55.929oai:https://repositorio.ufrn.br:123456789/18037Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-04T13:37:55Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.por.fl_str_mv Estendendo CRefine para o suporte de táticas de refinamento
title Estendendo CRefine para o suporte de táticas de refinamento
spellingShingle Estendendo CRefine para o suporte de táticas de refinamento
Conserva Filho, Madiel de Souza
Métodos formais
Circus
Táticas de refinamento
Ferramentas
Formal methods
Circus
Refinement tactics
Tools
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
title_short Estendendo CRefine para o suporte de táticas de refinamento
title_full Estendendo CRefine para o suporte de táticas de refinamento
title_fullStr Estendendo CRefine para o suporte de táticas de refinamento
title_full_unstemmed Estendendo CRefine para o suporte de táticas de refinamento
title_sort Estendendo CRefine para o suporte de táticas de refinamento
author Conserva Filho, Madiel de Souza
author_facet Conserva Filho, Madiel de Souza
author_role author
dc.contributor.authorID.por.fl_str_mv
dc.contributor.advisorID.por.fl_str_mv
dc.contributor.advisorLattes.por.fl_str_mv http://lattes.cnpq.br/1756952696097255
dc.contributor.referees1.pt_BR.fl_str_mv Moreira, Anamaria Martins
dc.contributor.referees1ID.por.fl_str_mv
dc.contributor.referees1Lattes.por.fl_str_mv http://lattes.cnpq.br/5861361541278876
dc.contributor.referees2.pt_BR.fl_str_mv Sampaio, Augusto Cezar Alves
dc.contributor.referees2ID.por.fl_str_mv
dc.contributor.referees2Lattes.por.fl_str_mv http://lattes.cnpq.br/3977760354511853
dc.contributor.author.fl_str_mv Conserva Filho, Madiel de Souza
dc.contributor.advisor1.fl_str_mv Oliveira, Marcel Vinicius Medeiros
contributor_str_mv Oliveira, Marcel Vinicius Medeiros
dc.subject.por.fl_str_mv Métodos formais
Circus
Táticas de refinamento
Ferramentas
topic Métodos formais
Circus
Táticas de refinamento
Ferramentas
Formal methods
Circus
Refinement tactics
Tools
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
dc.subject.eng.fl_str_mv Formal methods
Circus
Refinement tactics
Tools
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
description The use of increasingly complex software applications is demanding greater investment in the development of such systems to ensure applications with better quality. Therefore, new techniques are being used in Software Engineering, thus making the development process more effective. Among these new approaches, we highlight Formal Methods, which use formal languages that are strongly based on mathematics and have a well-defined semantics and syntax. One of these languages is Circus, which can be used to model concurrent systems. It was developed from the union of concepts from two other specification languages: Z, which specifies systems with complex data, and CSP, which is normally used to model concurrent systems. Circus has an associated refinement calculus, which can be used to develop software in a precise and stepwise fashion. Each step is justified by the application of a refinement law (possibly with the discharge of proof obligations). Sometimes, the same laws can be applied in the same manner in different developments or even in different parts of a single development. A strategy to optimize this calculus is to formalise these application as a refinement tactic, which can then be used as a single transformation rule. CRefine was developed to support the Circus refinement calculus. However, before the work presented here, it did not provide support for refinement tactics. The aim of this work is to provide tool support for refinement tactics. For that, we develop a new module in CRefine, which automates the process of defining and applying refinement tactics that are formalised in the tactic language ArcAngelC. Finally, we validate the extension by applying the new module in a case study, which used the refinement tactics in a refinement strategy for verification of SPARK Ada implementations of control systems. In this work, we apply our module in the first two phases of this strategy
publishDate 2011
dc.date.issued.fl_str_mv 2011-10-07
dc.date.available.fl_str_mv 2012-05-29
2014-12-17T15:47:59Z
dc.date.accessioned.fl_str_mv 2014-12-17T15:47:59Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv CONSERVA FILHO, Madiel de Souza. Estendendo CRefine para o suporte de táticas de refinamento. 2011. 138 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2011.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/18037
identifier_str_mv CONSERVA FILHO, Madiel de Souza. Estendendo CRefine para o suporte de táticas de refinamento. 2011. 138 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2011.
url https://repositorio.ufrn.br/jspui/handle/123456789/18037
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Sistemas e Computação
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Ciência da Computação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/18037/1/MadielSCF_DISSERT.pdf
https://repositorio.ufrn.br/bitstream/123456789/18037/6/MadielSCF_DISSERT.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/18037/7/MadielSCF_DISSERT.pdf.jpg
bitstream.checksum.fl_str_mv dc22e7d8884791a523682f62c1e8c32c
7ece9e5ca06bd2bdcc1fbf7833e63c9a
f43306f12aca8f29104d049514b343d1
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1797777623863001088