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
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.