Estendendo CRefine para o suporte de táticas de refinamento
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 a...
Na minha lista:
Autor principal: | |
---|---|
Outros Autores: | |
Formato: | Dissertação |
Idioma: | por |
Publicado em: |
Universidade Federal do Rio Grande do Norte
|
Assuntos: | |
Endereço do item: | https://repositorio.ufrn.br/jspui/handle/123456789/18037 |
Tags: |
Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
|
id |
ri-123456789-18037 |
---|---|
record_format |
dspace |
institution |
Repositório Institucional |
collection |
RI - UFRN |
language |
por |
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 |
spellingShingle |
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 Conserva Filho, Madiel de Souza Estendendo CRefine para o suporte de táticas de refinamento |
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 |
author2 |
Oliveira, Marcel Vinicius Medeiros |
author_facet |
Oliveira, Marcel Vinicius Medeiros Conserva Filho, Madiel de Souza |
format |
masterThesis |
author |
Conserva Filho, Madiel de Souza |
author_sort |
Conserva Filho, Madiel de Souza |
title |
Estendendo CRefine para o suporte de táticas de refinamento |
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 |
publisher |
Universidade Federal do Rio Grande do Norte |
publishDate |
2014 |
url |
https://repositorio.ufrn.br/jspui/handle/123456789/18037 |
work_keys_str_mv |
AT conservafilhomadieldesouza estendendocrefineparaosuportedetaticasderefinamento |
_version_ |
1773957783575592960 |
spelling |
ri-123456789-180372017-11-04T13:37:55Z Estendendo CRefine para o suporte de táticas de refinamento Conserva Filho, Madiel de Souza Oliveira, Marcel Vinicius Medeiros http://lattes.cnpq.br/1756952696097255 Moreira, Anamaria Martins http://lattes.cnpq.br/5861361541278876 Sampaio, Augusto Cezar Alves http://lattes.cnpq.br/3977760354511853 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 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 Coordenação de Aperfeiçoamento de Pessoal de Nível Superior A 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. 2014-12-17T15:47:59Z 2012-05-29 2014-12-17T15:47:59Z 2011-10-07 masterThesis 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. https://repositorio.ufrn.br/jspui/handle/123456789/18037 por Acesso Aberto application/pdf application/pdf Universidade Federal do Rio Grande do Norte BR UFRN Programa de Pós-Graduação em Sistemas e Computação Ciência da Computação |