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 7. CONSIDERAÇÕES FINAIS 109uma linguagem baseada na JML, contudo, não utiliza construções incompatíveis com aplataforma <strong>Java</strong> <strong>Card</strong>.Foram feitas análises de viabilidade do uso da JML no desenvolvimento <strong>Java</strong> <strong>Card</strong> efoi percebido que apesar de ser possível utilizar contruções JML que são reconhecidaspelo <strong>Java</strong> <strong>Card</strong>, o compilador JML gera código que não é possível inserir no cartão.Após esta análise foi feita a descrição da linguagem <strong>JCML</strong>, e a descrição do compiladorda linguagem <strong>JCML</strong>, o <strong>JCML</strong>c. O compilador <strong>JCML</strong> gera código de verificaçãoem tempo de execução para aplicações <strong>Java</strong> <strong>Card</strong>. O processo de tradução ocorre a partirda criação de métodos que são gerados com o objetivo de realizar a checagem durante aexecução dos applets <strong>Java</strong> <strong>Card</strong>.Por fim, foi feita uma análise comparativa do código gerado pelo compilador <strong>JCML</strong>e o compilador JML. O tamanho do executável gerado pelo <strong>JCML</strong>c é 7 vezes menor queo gerado pelo JMLc. Em relação a quantidade de linhas geradas após a compilação, háum aumento de 111% com o uso do <strong>JCML</strong>c e um aumento de mais de 2600% com ocompilador JML. Apesar de verificar menos construções que a JML, o compilador dalinguagem proposta gera código que pode ser inserido dentro do cartão, tanto pelos tiposde métodos e objetos gerados, quanto pelo tamanho do arquivo após a compilação. Ocompilador <strong>JCML</strong> é mais restrito, em sua versão inicial, que o compilador JML.Existem tarefas importantes, para o compilador <strong>JCML</strong>, que ainda não foram executadas.Estas tarefas são dispostas como trabalhos futuros:• Implementação de construções para toda especificação ligthweigth, como por exemplo,as cláusulas assignable e signals,• Checagem de pós-condição normal e excepcional,• Geração de código de verificação para construções de quantificadores exists e forall,• Checagem de métodos puros,• Verificação de propriedades em tempo de compilação,• Adição de construções específicas para a plataforma <strong>Java</strong> <strong>Card</strong>,

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

Saved successfully!

Ooh no, something went wrong!