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 99predicate. Como em <strong>JCML</strong> apenas os tipos byte e short são suportados como domínio, oespaço de busca pode ser reduzido. O operador existencial pode ser traduzido para <strong>Java</strong><strong>Card</strong> de maneira similar ao operador universal.Outras construções <strong>JCML</strong> que não são diretamente traduzidas para <strong>Java</strong> <strong>Card</strong>, comopor exemplo assignable, pure, not specified, etc. não estavam no escopo inicial destetrabalho, contudo, tais construções serão produto das próximas iterações de desenvolvimentodo compilador.Na seção 5.4 será feita uma análise entre o código gerado pelo compilador <strong>JCML</strong> e ocódigo gerado pelo compilador JML.5.4 Análise do Código Gerado pelo Compilador <strong>JCML</strong>Como descrito no Capítulo 4, o tipo e a quantidade de código gerado pelo compiladorJML, faz com que não seja possível aplicar verificação de JML em <strong>Java</strong> <strong>Card</strong>.Esta seção tem por objetivo mostrar um comparativo entre o código gerado peloscompiladores JML e <strong>JCML</strong>. A análise se dará em relação a quantidade de linhas de códigogerados para cada método, e também, quantos métodos de verificação são criados.A Tabela 5.1 apresenta, em Lines of Code (LOC), a quantidade de código gerado paracada método. Cada linha da tabela descreve o nome do método da classe Usuário, otamanho original, um identificador (sim ou não) que representa se este método tem especificaçãopara pré-condição, tamanho do método após compilar com <strong>JCML</strong>c e tamanhodo método após compilar com JMLc. É possível notar na Tabela 5.1 que para cada métodocompilado com JMLc, é gerado uma média de 119 linhas de código. Usando o <strong>JCML</strong>c,se o método não for anotado com especificação, este permanecesse sem modificação,tendo a mesma quantidade de linhas de código após a compilação. Como exemplos háos métodos: getMatricula, getTipo e getCreditos . Como consequência do uso do compiladorJML, o tamanho total da classe Usuario compilada com JMLc é de 3692 linhas decódigo, enquanto que usando o compilador <strong>JCML</strong>, o tamanho total, em linhas de código,é de 283.A Tabela 5.2 apresenta, em porcentagem, o aumento da quantidade de código gerado

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

Saved successfully!

Ooh no, something went wrong!