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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 3JML - <strong>Java</strong> <strong>Modeling</strong> <strong>Language</strong><strong>Java</strong> <strong>Modeling</strong> <strong>Language</strong> (JML) [20] é uma linguagem de especificação de interfaces ecomportamentos (BISL, Behavioral Interface Specification <strong>Language</strong>) desenvolvida paraa especificação de módulos de programas <strong>Java</strong> (classes, interfaces e métodos). Dizer queJML é uma BISL significa que com ela é possível especificar tanto a interface de umprograma para o seu usuário como também detalhar o comportamento que vai ser oferecidopara esse cliente. JML combina particularidades de linguagens DbC [26] (Designby Contract), como Eiffel [25], e a abordagem de especificação baseada em modelos,como VDM [2], B [1] e Z [44]. JML usa a sintaxe <strong>Java</strong> para escrever predicados, comoinvariantes, pré-condições e pós-condições.A JML foi desenvolvida por Gary Leavens [20], estudantes e pesquisadores da Universidadede Iowa. Hoje, alguns grupos de pesquisa [5, 10, 23, 43, 3, 29, 6, 9] têm construídoferramentas que dão suporte à notação JML. O esforço cooperativo para o desenvolvimentode um padrão de especificação <strong>Java</strong> é importante tanto para desenvolvedores deferramentas, como para usuários [4].Além da JML, existem outras linguagem e métodos, como, por exemplo Z [44] e B[1], que são utilizados na atividade de especificação. Sistemas críticos, como programaspara automação industrial, sistemas de tempo real e aplicações que lidam com valoresmonetários, que requerem um maior nível de segurança e corretude, são beneficiadoscom o uso desses formalismos.37

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

Saved successfully!

Ooh no, something went wrong!