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 48Figura 3.6: Exemplo de Uso da Cláusula also.Na entidade SubClasse o métodoA é sobrecarregado e são definidas 2 especificações. Aespecificação válida restringe a especificação da superclasse, definindo um valor maiorque 6 para x, e para y o valor igual a 2 vezes o valor de x. Se o valor de x for 7 e o valorde y for 14, a pré-condição é válida tanto para a superclasse como para a subclasse, pois,7 é maior que 4 e também maior que 6, e 14 é igual a 2 vezes o valor de x.A especificação menos restrita define um valor para x maior que 2. Se, na subclasse,o valor de x for 3, a pré-condição da superclasse é quebrada, pois x deve ser maior que 4.Em uma construção also, a especificação da superclasse é adicionada a especificaçãoda subclasse [21]. Primeiro é verificada a especificação da subclasse, caso tenha resultadoverdadeiro, em seguida é verificada a especificação da superclasse. Apesar da especificaçãopara pré-condição da subclasse da Figura 3.6 ser mais forte que a especificaçãoda superclasse, o objetivo deste exemplo é apresentar a sintaxe da construção JML paraherança de especificação.3.2.5 Cláusula signalsA especificação de um método pode conter pós-condicão excepcional. Uma pós-condicãoexcepcional define que propriedades devem ser satisfeitas caso o método termine abruptamente,lançando uma exceção.Na Figura 3.7, ao método addKgs foi acrescrentado o controle de exceção no escopoda especificação. Caso o valor do parâmetro seja negativo, a exceção IllegalArgumentExceptioné lançada. A cláusula signals e signals only define quais exceções podem ser