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 9701 public void adicionarCreditos ( short valor) {02 try{03 checkInv$Usuario$();04 checkPre$adicionarCreditos$Usuario(valor) ;0506 creditos += valor ;0708 }catch (InvariantException invEx) {09 InvariantException.throwIt(InvariantException.SW_INVARIANT_ERROR);10 }catch (RequiresException reqEx) {11 RequiresException.throwIt(RequiresException.SW_REQUIRES_ERROR);12 }13 }Figura 5.19: Método adicionarCreditos após Compilação.01 void CheckMetodo() Exception{02 if (Exp1 && !Exp2)03 Exception.throwIt(Exception.ERROR);04 }Figura 5.20: Checagem de Expressões com Implicação.5.3 Suporte a Operadores não Definidos em <strong>Java</strong> <strong>Card</strong>Nesta seção apresentaremos o modelo de tradução para construções <strong>JCML</strong> que não sãodiretamente suportadas pela plataforma <strong>Java</strong> <strong>Card</strong>, na tradução de especificação <strong>JCML</strong>para código runtime com do compilador <strong>JCML</strong>.5.3.1 Implicação e EquivalênciaDada uma expressão de implicação Exp 1 ==> Exp 2 , a qual é verdade (true) se a expressãobooleana Exp 1 for falsa ou, a expressão booleana Exp 2 for verdadeira. Podemos traduziruma expressão que contenha esse tipo cláusula em código <strong>Java</strong> <strong>Card</strong>, usando o métodode verificação descrito na Figura 5.20. Se !Exp 2 e Exp 1 , o resultado será verdade, sendonecessário lançar uma exceção. Da mesma forma, em uma implicação reversa Exp 2

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

Saved successfully!

Ooh no, something went wrong!