12.07.2015 Views

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPÍTULO 3. JML - JAVA MODELING LANGUAGE 41//@ requires true;DEFINIÇÃO DO MÉTODO//@ ensures true;DEFINIÇÃO DO MÉTODOFigura 3.1: Pré e Pós-Condições Verdadeiras.3.1.2 Pré e Pós-CondiçõesAs pré e pós-condições são estruturas base para a especificação do comportamento de umafunção. São elas que determinam o que uma função espera para funcionar corretamente,bem como o que vai acontecer no final de sua execução. A pré-condição expressa requisitosque devem ser satisfeitos (verdade) antes das chamadas dos métodos. A pós-condiçãoexpressa propriedades que devem ser verdadeiras após a execução do método.A falta da definição de uma pré-condição equivale a uma declaração verdadeira (true).Desta forma, não existe nenhuma propriedade a ser satisfeita antes da chamada do método(Ver Figura 3.1). O mesmo ocorre para a falta da definição de uma pós-condição. Uma asserçãodefinida como true significa que qualquer estado a satisfaz, seja para uma cláusulade pré-condição, ou para uma cláusula de pós-condição. O contrato é escrito logo antesdo cabeçalho do método. No exemplo da Figura 3.1, a palavra requires representa a précondiçãodo método, e a palavra ensures representa a sua pós-condição.3.1.3 Herança de ContratoNa especifição de contratos para linguagens Orientadas a Objetos, é necessário observaras classes que herdam ou implementam propriedades e comportamentos de outras classes.O conceito de DbC definido por Meyer [25, 26] inclui herança de especificação. Se umaclasse X estiver estendendo uma outra classe Y, então todas as especificações para osmétodos de Y continuam sendo válidas na classe X.Com relação à especificação, existem dois possíveis casos:1. A especificação vai ser totalmente reescrita;2. A especificação anterior ainda é válida, e é necessário estende-la.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!