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