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.

ResumoMétodos formais poderiam ser usados para especificar e verificar software on-cardem aplicações <strong>Java</strong> <strong>Card</strong>. O estilo de programação para smart cards requer verificaçãoem tempo de execução para condições de entrada em todos os métodos <strong>Java</strong> <strong>Card</strong>, onde oobjetivo principal é preservar os dados do cartão. Projeto por Contrato, em particular, alinguagem JML, é uma opção para este tipo de desenvolvimento e verificação, pelo fato daverificação em tempo de execução ser parte da implementação pela JML. Contudo, JMLe suas respectivas ferramentas para verificação em tempo de execução não foram projetadascom o foco nas limitações <strong>Java</strong> <strong>Card</strong>, sendo, dessa forma, não compatíveis com<strong>Java</strong> <strong>Card</strong>. Nesta dissertação, analisamos o quanto esta situação é realmente intrínsecaàs limitações <strong>Java</strong> <strong>Card</strong> e, se é possível re-definir a JML e suas ferramentas. Propomosrequisitos para uma nova linguagem, a qual é compatível com <strong>Java</strong> <strong>Card</strong> e apresentamoscomo o compilador desta linguagem pode ser construído. <strong>JCML</strong> retira da JML aspectosnão definidos em <strong>Java</strong> <strong>Card</strong>, como por exemplo, concorrência e tipos não suportados. Istopode não ser o bastante, contudo, sem o esforço em otimização de código de verificaçãogerado pelo compilador, não é possível gerar código de verificação para rodar no cartão.O compilador <strong>JCML</strong>, apesar de ser bem mais restrito em relação ao compilador JML,está habilitado a gerar código de verificação compatível com <strong>Java</strong> <strong>Card</strong>, para algumasespecificações lightweight. Como conclusão, apresentamos uma variante da JML compatívelcom <strong>Java</strong> <strong>Card</strong>, <strong>JCML</strong> (<strong>Java</strong> <strong>Card</strong> <strong>Modeling</strong> <strong>Language</strong>), com uma versão de seucompilador.Área de Concentração: Engenharia de SoftwarePalavras-chave: Métodos Formais, <strong>Java</strong> <strong>Card</strong>, JML, <strong>JCML</strong>, Verificação Runtime,Compilador6

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

Saved successfully!

Ooh no, something went wrong!