ArcAngel: a Tactic Language For Refinement and its Tool Support

Detalhes bibliográficos
Autor(a) principal: Vinicius Medeiros Oliveira, Marcel
Data de Publicação: 2002
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/2580
Resumo: O cálculo de refinamentos é uma técnica moderna para o desenvolvimento e implementa ção de programas de uma maneira precisa, completa e consistente. A partir de uma especificação formal, nós produzimos um programa que implementa corretamente a especificação através de repetidas aplicações de regras de transformação, também chamadas de leis de refinamento. Entretanto, o uso do cálculo de refinamentos pode ser uma tarefa difícil, pois o desenvolvimento de programas pode vir a ser longo e repetitivo. Estratégias de desenvolvimento são refletidas em sequências de aplicações de leis que são aplicadas repetidamente em desenvolvimentos distintos, ou até mesmo, em pontos diferentes de um mesmo desenvolvimento. A identificação destas táticas de desenvolvimento, documentação, e uso das mesmas em desenvolvimentos de programas como uma simples regra de transformação trazem um grande ganho de tempo e esforço. Neste trabalho nós apresentamos ArcAngel, uma linguagem para definição de táticas de refinamento baseada em Angel, e formalizamos a sua semântica. Angel é uma linguagem de táticas de propósito geral que assume apenas que regras transformam objetivos de prova. A semântica de ArcAngel é similar a de Angel, mas é elaborada de maneira a levar em consideração as particularidades do cálculo de refinamentos. A maioria das leis algébricas de Angel não são provadas. Neste trabalho, nós apresentamos suas provas baseadas na semântica de ArcAngel. Também apresentamos neste trabalho uma forma normal; ela é similar àquela apresentada para táticas em Angel. Neste respeito, nossa contribuição é dar mais detalhes nas provas de lemas e teoremas envolvidos na estratégia de redução para esta forma normal. Os construtores de ArcAngel são similares aos de Angel, mas são adaptados para tratar com leis de refinamento e programas. Além disso, ArcAngel provê combinadores estruturais que são apropriados para aplicar leis de refinamento a componentes de programas. Usando ArcAngel, nós definimos táticas de refinamento que refletem estratégias comuns de desenvolvimento de programas. Finalmente, nós apresentamos Gabriel, um suporte ferramental para ArcAngel. Gabriel trabalha como um componente de Refine, uma ferramenta que semiautomatiza transformações de espeficações formais para programas corretos através de sucessivas aplicaçães de leis de refinamento. Gabriel permite aos seus usuários criar táticas e usá-las em desenvolvimento de programas
id UFPE_65cbfb9be6f5606c15d681acfcdfeb7c
oai_identifier_str oai:repositorio.ufpe.br:123456789/2580
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Vinicius Medeiros Oliveira, MarcelLúcia Caneca Cavalcanti, Ana 2014-06-12T15:59:26Z2014-06-12T15:59:26Z2002Vinicius Medeiros Oliveira, Marcel; Lúcia Caneca Cavalcanti, Ana. ArcAngel: a Tactic Language For Refinement and its Tool Support. 2002. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2002.https://repositorio.ufpe.br/handle/123456789/2580O cálculo de refinamentos é uma técnica moderna para o desenvolvimento e implementa ção de programas de uma maneira precisa, completa e consistente. A partir de uma especificação formal, nós produzimos um programa que implementa corretamente a especificação através de repetidas aplicações de regras de transformação, também chamadas de leis de refinamento. Entretanto, o uso do cálculo de refinamentos pode ser uma tarefa difícil, pois o desenvolvimento de programas pode vir a ser longo e repetitivo. Estratégias de desenvolvimento são refletidas em sequências de aplicações de leis que são aplicadas repetidamente em desenvolvimentos distintos, ou até mesmo, em pontos diferentes de um mesmo desenvolvimento. A identificação destas táticas de desenvolvimento, documentação, e uso das mesmas em desenvolvimentos de programas como uma simples regra de transformação trazem um grande ganho de tempo e esforço. Neste trabalho nós apresentamos ArcAngel, uma linguagem para definição de táticas de refinamento baseada em Angel, e formalizamos a sua semântica. Angel é uma linguagem de táticas de propósito geral que assume apenas que regras transformam objetivos de prova. A semântica de ArcAngel é similar a de Angel, mas é elaborada de maneira a levar em consideração as particularidades do cálculo de refinamentos. A maioria das leis algébricas de Angel não são provadas. Neste trabalho, nós apresentamos suas provas baseadas na semântica de ArcAngel. Também apresentamos neste trabalho uma forma normal; ela é similar àquela apresentada para táticas em Angel. Neste respeito, nossa contribuição é dar mais detalhes nas provas de lemas e teoremas envolvidos na estratégia de redução para esta forma normal. Os construtores de ArcAngel são similares aos de Angel, mas são adaptados para tratar com leis de refinamento e programas. Além disso, ArcAngel provê combinadores estruturais que são apropriados para aplicar leis de refinamento a componentes de programas. Usando ArcAngel, nós definimos táticas de refinamento que refletem estratégias comuns de desenvolvimento de programas. Finalmente, nós apresentamos Gabriel, um suporte ferramental para ArcAngel. Gabriel trabalha como um componente de Refine, uma ferramenta que semiautomatiza transformações de espeficações formais para programas corretos através de sucessivas aplicaçães de leis de refinamento. Gabriel permite aos seus usuários criar táticas e usá-las em desenvolvimento de programasengUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessTatic languageArcAngelArcAngel: a Tactic Language For Refinement and its Tool Supportinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALarquivo5124_1.pdfapplication/pdf1648397https://repositorio.ufpe.br/bitstream/123456789/2580/1/arquivo5124_1.pdf1b326915f0743635471f1119346ed769MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2580/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo5124_1.pdf.txtarquivo5124_1.pdf.txtExtracted texttext/plain322759https://repositorio.ufpe.br/bitstream/123456789/2580/3/arquivo5124_1.pdf.txt53ad071be9085fdd56abd3fb38e02419MD53THUMBNAILarquivo5124_1.pdf.jpgarquivo5124_1.pdf.jpgGenerated Thumbnailimage/jpeg1170https://repositorio.ufpe.br/bitstream/123456789/2580/4/arquivo5124_1.pdf.jpg180427a0910cf4db6d74228c5dbd2eadMD54123456789/25802019-10-25 02:51:27.681oai:repositorio.ufpe.br:123456789/2580Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T05:51:27Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv ArcAngel: a Tactic Language For Refinement and its Tool Support
title ArcAngel: a Tactic Language For Refinement and its Tool Support
spellingShingle ArcAngel: a Tactic Language For Refinement and its Tool Support
Vinicius Medeiros Oliveira, Marcel
Tatic language
ArcAngel
title_short ArcAngel: a Tactic Language For Refinement and its Tool Support
title_full ArcAngel: a Tactic Language For Refinement and its Tool Support
title_fullStr ArcAngel: a Tactic Language For Refinement and its Tool Support
title_full_unstemmed ArcAngel: a Tactic Language For Refinement and its Tool Support
title_sort ArcAngel: a Tactic Language For Refinement and its Tool Support
author Vinicius Medeiros Oliveira, Marcel
author_facet Vinicius Medeiros Oliveira, Marcel
author_role author
dc.contributor.author.fl_str_mv Vinicius Medeiros Oliveira, Marcel
dc.contributor.advisor1.fl_str_mv Lúcia Caneca Cavalcanti, Ana
contributor_str_mv Lúcia Caneca Cavalcanti, Ana
dc.subject.por.fl_str_mv Tatic language
ArcAngel
topic Tatic language
ArcAngel
description O cálculo de refinamentos é uma técnica moderna para o desenvolvimento e implementa ção de programas de uma maneira precisa, completa e consistente. A partir de uma especificação formal, nós produzimos um programa que implementa corretamente a especificação através de repetidas aplicações de regras de transformação, também chamadas de leis de refinamento. Entretanto, o uso do cálculo de refinamentos pode ser uma tarefa difícil, pois o desenvolvimento de programas pode vir a ser longo e repetitivo. Estratégias de desenvolvimento são refletidas em sequências de aplicações de leis que são aplicadas repetidamente em desenvolvimentos distintos, ou até mesmo, em pontos diferentes de um mesmo desenvolvimento. A identificação destas táticas de desenvolvimento, documentação, e uso das mesmas em desenvolvimentos de programas como uma simples regra de transformação trazem um grande ganho de tempo e esforço. Neste trabalho nós apresentamos ArcAngel, uma linguagem para definição de táticas de refinamento baseada em Angel, e formalizamos a sua semântica. Angel é uma linguagem de táticas de propósito geral que assume apenas que regras transformam objetivos de prova. A semântica de ArcAngel é similar a de Angel, mas é elaborada de maneira a levar em consideração as particularidades do cálculo de refinamentos. A maioria das leis algébricas de Angel não são provadas. Neste trabalho, nós apresentamos suas provas baseadas na semântica de ArcAngel. Também apresentamos neste trabalho uma forma normal; ela é similar àquela apresentada para táticas em Angel. Neste respeito, nossa contribuição é dar mais detalhes nas provas de lemas e teoremas envolvidos na estratégia de redução para esta forma normal. Os construtores de ArcAngel são similares aos de Angel, mas são adaptados para tratar com leis de refinamento e programas. Além disso, ArcAngel provê combinadores estruturais que são apropriados para aplicar leis de refinamento a componentes de programas. Usando ArcAngel, nós definimos táticas de refinamento que refletem estratégias comuns de desenvolvimento de programas. Finalmente, nós apresentamos Gabriel, um suporte ferramental para ArcAngel. Gabriel trabalha como um componente de Refine, uma ferramenta que semiautomatiza transformações de espeficações formais para programas corretos através de sucessivas aplicaçães de leis de refinamento. Gabriel permite aos seus usuários criar táticas e usá-las em desenvolvimento de programas
publishDate 2002
dc.date.issued.fl_str_mv 2002
dc.date.accessioned.fl_str_mv 2014-06-12T15:59:26Z
dc.date.available.fl_str_mv 2014-06-12T15:59:26Z
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 Vinicius Medeiros Oliveira, Marcel; Lúcia Caneca Cavalcanti, Ana. ArcAngel: a Tactic Language For Refinement and its Tool Support. 2002. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2002.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/2580
identifier_str_mv Vinicius Medeiros Oliveira, Marcel; Lúcia Caneca Cavalcanti, Ana. ArcAngel: a Tactic Language For Refinement and its Tool Support. 2002. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2002.
url https://repositorio.ufpe.br/handle/123456789/2580
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/2580/1/arquivo5124_1.pdf
https://repositorio.ufpe.br/bitstream/123456789/2580/2/license.txt
https://repositorio.ufpe.br/bitstream/123456789/2580/3/arquivo5124_1.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/2580/4/arquivo5124_1.pdf.jpg
bitstream.checksum.fl_str_mv 1b326915f0743635471f1119346ed769
8a4605be74aa9ea9d79846c1fba20a33
53ad071be9085fdd56abd3fb38e02419
180427a0910cf4db6d74228c5dbd2ead
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310777823035392