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 9401 public void adicionarLocal(byte codigo_local) throws ISOException {02 try{03 checkInv$Usuario$();0405 internal$adicionarLocal(codigo_local);06 checkInv$Usuario$();07 }catch (InvariantException invEx) {08 InvariantException.throwIt(InvariantException.SW_INVARIANT_ERROR);09 }10 }Figura 5.14: Método adicionarLocal Protegido.natura é modificada para metodoOriginal$adicionarLocal$(codigo local) é o seu conteúdoé o mesmo apresentado nas linhas 5-12 da Figura 5.13, que é o código originaldo método. O compilador original JML renomeia o método original, o chamando de internal$adicionarLocal(codigolocal). Este método é chamado por um novo método quetem o mesmo nome do método original. Este método faz a chama aos métodos de verificaçãode invariante e pré-condição, e também ao método internal$adicionarLocal(),como mostra a Figura 5.14. O compilador <strong>JCML</strong> não cria o método interno com o códigoorigianl. Os métodos de verificação são inseridos no método original, como mostra aFigura 5.15.Todos os 10 métodos da classe Usuario terão a mesma estrutura modificada apósserem compilados com <strong>JCML</strong>c, como mostrado na Figura 5.15. Sua nova estrutura corresponderáa:• Assinatura do método;• Inicio do bloco try;• Chamada ao método de verificação de invariante;• Código do método original;• Chamada ao método de verificação de invariante;• Final do bloco try;• Bloco catch;• Final do método.

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

Saved successfully!

Ooh no, something went wrong!