Geração parcial de código Java a partir de especificações formais Z.

Detalhes bibliográficos
Autor(a) principal: Alvaro Heiji Miyazawa
Data de Publicação: 2008
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://doi.org/10.11606/D.45.2008.tde-02112008-224245
Resumo: Especificações formais são úteis para descrever o que um sistema deve fazer sem definir como, e, em virtude da sua natureza formal e da possibilidade de abstração, é possível analisá-las sistematicamente. No entanto, o uso de especificações formais como parte do desenvolvimento de software não constitui prática comum. Isso se dá, em parte, pelo fato de existirem apenas um pequeno número de metodologias e ferramentas adequadas que dêem suporte a esse desenvolvimento. O primeiro objetivo deste trabalho é propor uma metodologia de desenvolvimento que possibilite, a partir de uma especificação formal em notação Z, produzir uma implementação dessa especificação em Java. Essa metodologia centra-se na geração do esqueleto da aplicação Java e na instrumentação desse esqueleto com mecanismos de verificação de condições (invariantes, pré e pós-condições) e rastreamento de violações dessas condições. Através desses mecanismos, possibilita-se intercalar desenvolvimento formal e informal no processo global de desenvolvimento de software. O segundo objetivo é desenvolver uma ferramenta que implemente parte dessa metodologia, produzindo uma implementação parcial que deverá ser complementada pelo usuário.
id USP_7b99b97e9cc6d1ac7697ce568a9079c8
oai_identifier_str oai:teses.usp.br:tde-02112008-224245
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis Geração parcial de código Java a partir de especificações formais Z. Partial generation of Java code from Z formal specifications. 2008-10-03Ana Cristina Vieira de MeloMarco Dimas GubitosoMarcel Vinicius Medeiros OliveiraAlvaro Heiji MiyazawaUniversidade de São PauloCiência da ComputaçãoUSPBR code generation. desenvolvimento baseado em modelo desenvolvimento de software especificação formal formal specification geração de código. Java language linguagem Java model-driven development notação Z software development Z notation Especificações formais são úteis para descrever o que um sistema deve fazer sem definir como, e, em virtude da sua natureza formal e da possibilidade de abstração, é possível analisá-las sistematicamente. No entanto, o uso de especificações formais como parte do desenvolvimento de software não constitui prática comum. Isso se dá, em parte, pelo fato de existirem apenas um pequeno número de metodologias e ferramentas adequadas que dêem suporte a esse desenvolvimento. O primeiro objetivo deste trabalho é propor uma metodologia de desenvolvimento que possibilite, a partir de uma especificação formal em notação Z, produzir uma implementação dessa especificação em Java. Essa metodologia centra-se na geração do esqueleto da aplicação Java e na instrumentação desse esqueleto com mecanismos de verificação de condições (invariantes, pré e pós-condições) e rastreamento de violações dessas condições. Através desses mecanismos, possibilita-se intercalar desenvolvimento formal e informal no processo global de desenvolvimento de software. O segundo objetivo é desenvolver uma ferramenta que implemente parte dessa metodologia, produzindo uma implementação parcial que deverá ser complementada pelo usuário. Formal specifications are useful for describing what a system should do, without defining how, and, owing to its formal nature, it is possible to analyse them systematically. However useful formal specifications are, their usage as part of the software development process is rather rare. This is, in part, due to the scarcity of both methodologies and tools that support this development. The first goal of this work is to define a software development methodology that enables the developer to produce a Java application from a formal specification written in Z. This methodology will rely strongly on the generation of Java application skeletons and instrumentation of the generated code with means of verifying conditions (invariants, pre and post-conditions) e tracing violations of these conditions. Through this mechanisms, it is possible to mix formal and informal development in the global software development process. The second goal of this work is to develop a tool that will implement part of this methodology, producing a partial implementation that must be complemented by the developer. https://doi.org/10.11606/D.45.2008.tde-02112008-224245info:eu-repo/semantics/openAccessporreponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USP2023-12-21T18:06:13Zoai:teses.usp.br:tde-02112008-224245Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212023-12-22T12:01:48.131404Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.pt.fl_str_mv Geração parcial de código Java a partir de especificações formais Z.
dc.title.alternative.en.fl_str_mv Partial generation of Java code from Z formal specifications.
title Geração parcial de código Java a partir de especificações formais Z.
spellingShingle Geração parcial de código Java a partir de especificações formais Z.
Alvaro Heiji Miyazawa
title_short Geração parcial de código Java a partir de especificações formais Z.
title_full Geração parcial de código Java a partir de especificações formais Z.
title_fullStr Geração parcial de código Java a partir de especificações formais Z.
title_full_unstemmed Geração parcial de código Java a partir de especificações formais Z.
title_sort Geração parcial de código Java a partir de especificações formais Z.
author Alvaro Heiji Miyazawa
author_facet Alvaro Heiji Miyazawa
author_role author
dc.contributor.advisor1.fl_str_mv Ana Cristina Vieira de Melo
dc.contributor.referee1.fl_str_mv Marco Dimas Gubitoso
dc.contributor.referee2.fl_str_mv Marcel Vinicius Medeiros Oliveira
dc.contributor.author.fl_str_mv Alvaro Heiji Miyazawa
contributor_str_mv Ana Cristina Vieira de Melo
Marco Dimas Gubitoso
Marcel Vinicius Medeiros Oliveira
description Especificações formais são úteis para descrever o que um sistema deve fazer sem definir como, e, em virtude da sua natureza formal e da possibilidade de abstração, é possível analisá-las sistematicamente. No entanto, o uso de especificações formais como parte do desenvolvimento de software não constitui prática comum. Isso se dá, em parte, pelo fato de existirem apenas um pequeno número de metodologias e ferramentas adequadas que dêem suporte a esse desenvolvimento. O primeiro objetivo deste trabalho é propor uma metodologia de desenvolvimento que possibilite, a partir de uma especificação formal em notação Z, produzir uma implementação dessa especificação em Java. Essa metodologia centra-se na geração do esqueleto da aplicação Java e na instrumentação desse esqueleto com mecanismos de verificação de condições (invariantes, pré e pós-condições) e rastreamento de violações dessas condições. Através desses mecanismos, possibilita-se intercalar desenvolvimento formal e informal no processo global de desenvolvimento de software. O segundo objetivo é desenvolver uma ferramenta que implemente parte dessa metodologia, produzindo uma implementação parcial que deverá ser complementada pelo usuário.
publishDate 2008
dc.date.issued.fl_str_mv 2008-10-03
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://doi.org/10.11606/D.45.2008.tde-02112008-224245
url https://doi.org/10.11606/D.45.2008.tde-02112008-224245
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.publisher.none.fl_str_mv Universidade de São Paulo
dc.publisher.program.fl_str_mv Ciência da Computação
dc.publisher.initials.fl_str_mv USP
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv Universidade de São Paulo
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1794502414544404480