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

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

Saved successfully!

Ooh no, something went wrong!