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 4. APLICABILIDADE DE JML A JAVA CARD 62JMLAssertionErrorJMLPreconditionErrorJMLEntryPreconditionErrorJMLInternalPreconditionErrorJMLPostconditionErrorJMLNormalPostconditionErrorJMLExceptionalPostconditionErrorJMLIntraconditionErrorJMLAssertErrorJMLAssumeErrorJMLHenceByErrorJMLLoopInvariantErrorJMLLoopVariantErrorJMLUnreachableErrorJMLInvariantErrorJMLConstraintErrorFigura 4.1: Hierarquia das classes de tratamento de erros em JML.when é usada no tratamento de métodos concorrentes. Como <strong>Java</strong> <strong>Card</strong> não define tratamentode concorrência em sua API, esta cláusula não é utilizada na especificação. Acláusula work space define o tamanho de uma heap de bytes de memória a ser utilizadapor um método quando este é chamado. Como o retorno deste operador é do tipo long,a JCRE não tem como tratar o resultado. A principal restrição dos demais operadorestambém é em relação ao tipo utilizado, os operadores têm como retorno na função o tipolong. Uma construção compatível com <strong>Java</strong> <strong>Card</strong> poderia ser restrita ao uso de byte eshort pelos operadores.Tratando Exceções JML em <strong>Java</strong> <strong>Card</strong>:<strong>Java</strong> <strong>Card</strong> dá suporte a todo o mecanismode exceção da plataforma <strong>Java</strong>. Qualquer implementação de classes <strong>Java</strong> <strong>Card</strong> para tratamentode exceções pode ser inserida no cartão.JML define classes específicas para tratamento de erros de invariante, pré e póscondições.A violação de alguma propriedade é direta ou indiretamente instância daclasse java.lang.Error ou java.lang.RuntimeException. JML define uma hierarquia dasclasses para tratamento de erros em tempo de execução, como mostrado na Figura 4.1.Esta definição é compatível com <strong>Java</strong> <strong>Card</strong>.Todas as classes para tratamento de erros JML obedecem estrutura semelhante dadefinida da Seção 2.1.2, para tratamento de exceções.

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

Saved successfully!

Ooh no, something went wrong!