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 5. <strong>JCML</strong> - JAVA CARD MODELING LANGUAGE 7601 package br.dimap.mestrado.jcml;0203 import javacard.framework.APDU;04 import javacard.framework.Applet;05 import javacard.security.*;0607 //type-definitionFigura 5.1: Código Válido: Unidade de Compilação.Comparação com JML: Não foi utilizada a regra para refinamento (refine-prefix) edefinição de alto nível (top-level-definition) para a unidade de compilação. Isto ocorreporque a linguagem <strong>JCML</strong> não define, refinamento de especificação. O não-terminaltop-level-definition também não foi aplicado devido sua construção utilizar declaraçõesda linguagem Multi<strong>Java</strong>. O <strong>JCML</strong> não utilizada o parser Multi<strong>Java</strong>, o qual é utilizadopelo compilador JML e descrito no manual de referência [21]. O <strong>JCML</strong>, por sua vez, éderivado do parser <strong>Java</strong> definido pela ferramenta <strong>Java</strong>CC [17].5.1.2 Definindo Tipos (Classes e Interfaces)Uma definição de tipo é representada como segue, a qual pode ser uma definição de classeou interface, ou então apenas a representação de vazio através do terminal ponto e vírgula(;).type-definition ::= class-definition | interface-definition | ;class-definition ::= [ doc-comment ] modifiers class ident[ class-extends-clause ] [ implements-clause ]class-blockinterface-definition ::= [doc-comment ] modifiers interface ident[ interface-extends ]class-blockclass-block ::= { ( field )* }As definições de classe e interface são semelhantes. Em ambas, não pode existircomentário de especificação, apenas comentário <strong>Java</strong> ou <strong>Java</strong>Doc. Uma diferença entrea definição de interface e classe <strong>Java</strong> <strong>Card</strong> é que, em uma interface é permitido apenasdeclaração de instâncias abstratas dos métodos (assinatura). Pode existir herança a nível

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

Saved successfully!

Ooh no, something went wrong!