Criação de uma biblioteca padrão para a linguagem HasCASL

Detalhes bibliográficos
Autor(a) principal: Cabral, Glauber Módolo
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