Contract-Java - design by contract in Java - Contract-Java
Autor(a) principal: | |
---|---|
Data de Publicação: | 2012 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10773/11035 |
Resumo: | A programação por contrato é uma metodologia de programação que implementa mecanismos de correcção de forma bem adaptada à programação orientada por objectos, facilitando a construção de software correto e robusto, permitindo também a sua documentação e especificação e a construção de programas tolerantes a falhas. No entanto, ao contrário da programação orientada por objectos, a programação por contrato tem uma difusão bastante reduzida. Uma das razões para tal facto é a quase completa ausência de suporte para a metodologia na grande maioria das linguagens de programação usadas actualmente, nas quais se inclui a linguagem Java. Apesar de existirem algumas ferramentas para tentar suprir essa omissão da linguagem Java, são aproximações incompletas que não permitem usufruir de todas as vantagens e capacidades da programação por contrato. Neste trabalho pretende-se definir quais as características necessárias numa linguagem de modo a permitir a implementação completa da metodologia, avaliando as falhas que as ferramentas existentes possuem e, de seguida, definir e construir uma nova linguagem, “Contract-Java”, definida como uma extensão da linguagem Java, que permita usar a programação por contrato na sua totalidade. |
id |
RCAP_ed6921c6ea3186a48ce26a3403e80c11 |
---|---|
oai_identifier_str |
oai:ria.ua.pt:10773/11035 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Contract-Java - design by contract in Java - Contract-JavaEngenharia de computadoresProgramação orientada para o objectoA programação por contrato é uma metodologia de programação que implementa mecanismos de correcção de forma bem adaptada à programação orientada por objectos, facilitando a construção de software correto e robusto, permitindo também a sua documentação e especificação e a construção de programas tolerantes a falhas. No entanto, ao contrário da programação orientada por objectos, a programação por contrato tem uma difusão bastante reduzida. Uma das razões para tal facto é a quase completa ausência de suporte para a metodologia na grande maioria das linguagens de programação usadas actualmente, nas quais se inclui a linguagem Java. Apesar de existirem algumas ferramentas para tentar suprir essa omissão da linguagem Java, são aproximações incompletas que não permitem usufruir de todas as vantagens e capacidades da programação por contrato. Neste trabalho pretende-se definir quais as características necessárias numa linguagem de modo a permitir a implementação completa da metodologia, avaliando as falhas que as ferramentas existentes possuem e, de seguida, definir e construir uma nova linguagem, “Contract-Java”, definida como uma extensão da linguagem Java, que permita usar a programação por contrato na sua totalidade.Design by Contract is a programming methodology which implements correction mechanisms well adapted to object-oriented programming, easing the construction of correct and robust software, as well as allowing its documentation and specification and the construction of fault-tolerance programs. However, unlike object-oriented programming, Design by Contract has a very low distribution. One of the reasons for such is the lack of support for it on most programming languages currently in use, in which Java is included. Although a few tools attempt to workaround such lack of support, they all present incomplete approaches which do not support all the advantages and capabilities of Design by Contract. In this work, we intend to define which characteristics are necessary in order to fully implement the methodology, evaluating the faults of existing tools and, afterwards, defining and constructing a new language, “Contract-Java”, defined as an extension of the Java language, which allows to use Design by Contract in its entirety.Universidade de Aveiro2013-09-24T14:26:13Z2012-01-01T00:00:00Z2012info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10773/11035engFrancisco, Pedro Filipe do Amaral Gouchainfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-02-22T11:20:03Zoai:ria.ua.pt:10773/11035Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T02:47:41.255162Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Contract-Java - design by contract in Java - Contract-Java |
title |
Contract-Java - design by contract in Java - Contract-Java |
spellingShingle |
Contract-Java - design by contract in Java - Contract-Java Francisco, Pedro Filipe do Amaral Goucha Engenharia de computadores Programação orientada para o objecto |
title_short |
Contract-Java - design by contract in Java - Contract-Java |
title_full |
Contract-Java - design by contract in Java - Contract-Java |
title_fullStr |
Contract-Java - design by contract in Java - Contract-Java |
title_full_unstemmed |
Contract-Java - design by contract in Java - Contract-Java |
title_sort |
Contract-Java - design by contract in Java - Contract-Java |
author |
Francisco, Pedro Filipe do Amaral Goucha |
author_facet |
Francisco, Pedro Filipe do Amaral Goucha |
author_role |
author |
dc.contributor.author.fl_str_mv |
Francisco, Pedro Filipe do Amaral Goucha |
dc.subject.por.fl_str_mv |
Engenharia de computadores Programação orientada para o objecto |
topic |
Engenharia de computadores Programação orientada para o objecto |
description |
A programação por contrato é uma metodologia de programação que implementa mecanismos de correcção de forma bem adaptada à programação orientada por objectos, facilitando a construção de software correto e robusto, permitindo também a sua documentação e especificação e a construção de programas tolerantes a falhas. No entanto, ao contrário da programação orientada por objectos, a programação por contrato tem uma difusão bastante reduzida. Uma das razões para tal facto é a quase completa ausência de suporte para a metodologia na grande maioria das linguagens de programação usadas actualmente, nas quais se inclui a linguagem Java. Apesar de existirem algumas ferramentas para tentar suprir essa omissão da linguagem Java, são aproximações incompletas que não permitem usufruir de todas as vantagens e capacidades da programação por contrato. Neste trabalho pretende-se definir quais as características necessárias numa linguagem de modo a permitir a implementação completa da metodologia, avaliando as falhas que as ferramentas existentes possuem e, de seguida, definir e construir uma nova linguagem, “Contract-Java”, definida como uma extensão da linguagem Java, que permita usar a programação por contrato na sua totalidade. |
publishDate |
2012 |
dc.date.none.fl_str_mv |
2012-01-01T00:00:00Z 2012 2013-09-24T14:26:13Z |
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 |
http://hdl.handle.net/10773/11035 |
url |
http://hdl.handle.net/10773/11035 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade de Aveiro |
publisher.none.fl_str_mv |
Universidade de Aveiro |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799137528306991104 |