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

Files in This Item:
File Description SizeFormat 
7581.pdf897.32 kBAdobe PDFView/Open


FacebookTwitterLinkedIn
Formato BibTex MendeleyEndnote Degois 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.