Please use this identifier to cite or link to this item:
http://hdl.handle.net/10773/11035
Title: | Contract-Java - design by contract in Java - Contract-Java |
Other Titles: | Contract-Java - programação por contrato em Java |
Author: | Francisco, Pedro Filipe do Amaral Goucha |
Advisor: | Silva, Miguel Augusto Mendes Oliveira e |
Keywords: | Engenharia de computadores Programação orientada para o objecto |
Defense Date: | 2012 |
Publisher: | Universidade de Aveiro |
Abstract: | 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. 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. |
Description: | Mestrado em Engenharia de Computadores e Telemática |
URI: | http://hdl.handle.net/10773/11035 |
Appears in Collections: | UA - Dissertações de mestrado DETI - Dissertações de mestrado |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.