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 4Aplicabilidade de JML a <strong>Java</strong> <strong>Card</strong>Sistemas <strong>Java</strong> <strong>Card</strong> se prestam bem para a aplicação de métodos formais, especificamente,projeto por contrato, por algumas razões:• applets <strong>Java</strong> <strong>Card</strong> são usados frequentemente em aplicações críticas, na qual errosde programação podem ter conseqüências sérias;• Como a linguagem dos applets é simples, com uma API pequena, em comparaçãoao <strong>Java</strong> convencional, a aplicação de métodos formais é algo praticável e útil;• Os contratos podem ser usados para especificar propriedades da API <strong>Java</strong> <strong>Card</strong>,como também checar propriedades dos applets ou entidades de domínio que usama API.O uso de JML em <strong>Java</strong> <strong>Card</strong> teve início com a especificação das próprias classesda API <strong>Java</strong> <strong>Card</strong> [31] [24], onde os métodos de cada classe foram anotados com JML.A validação da especificação foi feita com ferramentas de verificação estática que dãosuporte a JML.A especificação da API <strong>Java</strong> <strong>Card</strong> é de interesse de desenvolvedores de applets, poisdefine cada função de cada classe da API e qual é a responsabilidade de cada método.Contudo, descreve apenas o comportamento das várias interfaces <strong>Java</strong> <strong>Card</strong>. Dessa forma,não é possível garantir nenhuma verificação runtime de sua especificação. A modelagemde applets <strong>Java</strong> <strong>Card</strong> no contexto de verificação estática tem sido feita com uso de ferramentascomo ESC/<strong>Java</strong> [22] e LOOP [42]. A ferramenta ESC/<strong>Java</strong> não notifica todos59

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

Saved successfully!

Ooh no, something went wrong!