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 42No primeiro caso é necessário refazer a especificação do método que está sendo reescritonormalmente. No segundo caso não é necessário redefinir a especificação, bastaapenas estender as características do pai e acrescentar novas propriedades ao filho, alémde satisfazer as especificações da classe pai, também vai satisfazer as que estão sendoescritas na nova classe.3.2 Estrutura da Linguagem JMLNesta seção será descrita a estrutura da linguagem JML, suas principais características,cláusulas e sintaxe.JML foi projetado para ser usado em conjunto com uma variedade de ferramentas.Essas ferramentas suportam Design by Contract, checagem em tempo de execução, descobertade invariante, verificação estática e verificação formal, que usa provadores deteoremas. Tais ferramentas serão descritas na seção 3.4.O foco central de uma especificação JML são a pré-condição e a pós-condição (paraos métodos) e o invariante (para a classe). As asserções JML são escritas como um comentárioespecial JAVA. Os comentários são ignorados pelo compilador <strong>Java</strong>, mas podemser usados pelas ferramentas que dão suporte à JML [5]. Tais comentários extendem asintaxe <strong>Java</strong>, adicionando algumas palavras chaves (reservadas) e construções sintáticas.Dentre algumas palavras reservadas, têm-se: invariant, requires, assignable, ensures, signals,pure; e alguns operadores como: \forall, \exists, \old e \result [21]. A JML aindapossui outras cláusulas que auxiliam no processo de especificação de software em <strong>Java</strong>.Tais cláusulas podem ser vistas com detalhes no manual de referência JML [21] e em [9]e podem ser encontradas na página oficial 1 da linguagem JML.A especificação JML é escrita na forma de comentários <strong>Java</strong> (Annotation), tendo comomarca inicial da especificação //@, para comentários de 1 (uma) linha, ou marcações entre/*@ .. @*/, para comentários de múltiplas linhas.A Tabela 3.2 apresenta algumas cláusulas usadas em uma especificação JML.1 http:\\www.jmlspecs.org