Criação de uma biblioteca padrão para a linguagem HasCASL
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
Texto Completo: | https://hdl.handle.net/20.500.12733/1613196 |
Resumo: | Orientador: Arnaldo Vieira Moura |
id |
UNICAMP-30_274f57254703caa2f0196321c7c702b1 |
---|---|
oai_identifier_str |
oai::776438 |
network_acronym_str |
UNICAMP-30 |
network_name_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository_id_str |
|
spelling |
Criação de uma biblioteca padrão para a linguagem HasCASLCreating a standard library for the HasCASL languageEngenharia de softwareMétodos formais (Computação)Software engineeringFormal methods (Computer science)Orientador: Arnaldo Vieira MouraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Métodos formais são ferramentas da Engenharia de Software que empregam formalismos matemáticos na construção de programas. Em geral, são compostos por uma ou mais linguagens de especificação e algumas ferramentas auxiliares. A linguagem de especificação algébrica Common Algebraic Specification Language (Casl) foi concebida para ser a linguagem padrão na área de especificação algébrica. A linguagem HasCasl é a extensão da linguagem Casl responsável por suportar lógica de segunda ordem e possui um subconjunto de sua sintaxe que se assemelha à linguagem de programação Haskell e que pode ser executado. O uso prático de uma linguagem de especificação depende da disponibilidade de uma biblioteca padrão de especificações pré-definidas. Embora Casl possua tal biblioteca, esta não disponibiliza propriedades e tipos de dados de segunda ordem. Esta dissertação descreve a especificação de uma biblioteca para a linguagem HasCasl com funções e tipos de dados de segunda ordem, tendo como referência a biblioteca Prelude da linguagem Haskell. Os tipos de dados especificados incluem o tipo booleano, listas, caracteres e cadeias de caracteres, além de classes e funções presentes na biblioteca Prelude. Uma primeira versão da biblioteca faz uso de tipos de dados com avaliação estrita, devido à complexidade de iniciar o processo de especificação com o uso de tipos com avaliação preguiçosa. Um refinamento posterior da biblioteca incluiu o suporte a tipos de dados com avaliação preguiçosa. A verificação de ambas as versões da biblioteca foi realizada com o uso da ferramenta Hets, responsável por traduzir as especificações escritas na linguagem HasCasl para a linguagem HOL e gerar necessidades de prova verificadas com o auxílio do provador de teoremas Isabelle. Para ilustrar o uso dos tipos de dados especificados foram incluídas algumas especificações de exemplo envolvendo listas e tipos booleanos. Algumas sugestões de extensão à biblioteca são propostas, tais como o suporte à recursão e às estruturas infinitas, além do aperfeiçoamento do suporte a provas relacionadas a especificações importadas da biblioteca da linguagem CaslAbstract: Formal methods can be used as software engineering tools that employ mathematical formalisms for building and verifying programs. They are usually composed of one or more specification languages and some auxiliary tools. The Common Algebraic Specification Language (Casl) is designed to be the standard language in the area of algebraic specification, taking tecnical elements from other specification languages. The HasCasl language is the extention of the Casl language that is responsible for supporting secondorder logic, which has a subset of its syntax resembling the Haskell programming language. The practical use of a specification language depends on the availability of a standard library of pre-defined specifications. CASL has such a library and its specifications can be imported by specifications developed in HasCasl. However, the library of the Casl language does not provide higer order properties and data types. This dissertation describes the specification of a library for the language HasCasl based on the Prelude library from the Haskell programming language. The library created her provides second-order functions and data types. It does so by specifying data types and functions existing in Haskell language, such as boolean, list, character and string types. The first version of our library uses types with strict evaluation. The second version of the library has been refined to support types with lazy evaluation. Verification of both libraries was performed using the Hets tool, which translates specifications to the HOL language, producing proof needs that were discharged with the help of the Isabelle theorem prover. To illustrate the use of our library, some example specifications using lists and boolean types are included. Some suggestions for extension of the library are proposed, dealing with support for infinite structures and numeric data typesMestradoLinguagens de ProgramaçãoMestre em Ciência da Computação[s.n.]Moura, Arnaldo Vieira, 1950-Silva, LucianoMeidanis, JoãoUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASCabral, Glauber Módolo2010info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf159 p. : il.https://hdl.handle.net/20.500.12733/1613196CABRAL, Glauber Módolo. Criação de uma biblioteca padrão para a linguagem HasCASL. 2010. 159 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1613196. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/776438porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2017-02-18T06:01:31Zoai::776438Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-02-18T06:01:31Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false |
dc.title.none.fl_str_mv |
Criação de uma biblioteca padrão para a linguagem HasCASL Creating a standard library for the HasCASL language |
title |
Criação de uma biblioteca padrão para a linguagem HasCASL |
spellingShingle |
Criação de uma biblioteca padrão para a linguagem HasCASL Cabral, Glauber Módolo Engenharia de software Métodos formais (Computação) Software engineering Formal methods (Computer science) |
title_short |
Criação de uma biblioteca padrão para a linguagem HasCASL |
title_full |
Criação de uma biblioteca padrão para a linguagem HasCASL |
title_fullStr |
Criação de uma biblioteca padrão para a linguagem HasCASL |
title_full_unstemmed |
Criação de uma biblioteca padrão para a linguagem HasCASL |
title_sort |
Criação de uma biblioteca padrão para a linguagem HasCASL |
author |
Cabral, Glauber Módolo |
author_facet |
Cabral, Glauber Módolo |
author_role |
author |
dc.contributor.none.fl_str_mv |
Moura, Arnaldo Vieira, 1950- Silva, Luciano Meidanis, João Universidade Estadual de Campinas (UNICAMP). Instituto de Computação Programa de Pós-Graduação em Ciência da Computação UNIVERSIDADE ESTADUAL DE CAMPINAS |
dc.contributor.author.fl_str_mv |
Cabral, Glauber Módolo |
dc.subject.por.fl_str_mv |
Engenharia de software Métodos formais (Computação) Software engineering Formal methods (Computer science) |
topic |
Engenharia de software Métodos formais (Computação) Software engineering Formal methods (Computer science) |
description |
Orientador: Arnaldo Vieira Moura |
publishDate |
2010 |
dc.date.none.fl_str_mv |
2010 |
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.uri.fl_str_mv |
https://hdl.handle.net/20.500.12733/1613196 CABRAL, Glauber Módolo. Criação de uma biblioteca padrão para a linguagem HasCASL. 2010. 159 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1613196. Acesso em: 3 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1613196 |
identifier_str_mv |
CABRAL, Glauber Módolo. Criação de uma biblioteca padrão para a linguagem HasCASL. 2010. 159 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1613196. Acesso em: 3 set. 2024. |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
https://repositorio.unicamp.br/acervo/detalhe/776438 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf 159 p. : il. |
dc.publisher.none.fl_str_mv |
[s.n.] |
publisher.none.fl_str_mv |
[s.n.] |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) instname:Universidade Estadual de Campinas (UNICAMP) instacron:UNICAMP |
instname_str |
Universidade Estadual de Campinas (UNICAMP) |
instacron_str |
UNICAMP |
institution |
UNICAMP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
collection |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP) |
repository.mail.fl_str_mv |
sbubd@unicamp.br |
_version_ |
1809189040032841728 |