Desenvolvimento formal de aplicações para smartcards

Bibliographic Details
Main Author: Gomes, Bruno Emerson Gurgel
Publication Date: 2012
Format: Doctoral thesis
Language: por
Source: Repositório Institucional da UFRN
dARK ID: ark:/41046/001300000m76w
Download full: https://repositorio.ufrn.br/jspui/handle/123456789/17947
Summary: Smart card applications represent a growing market. Usually this kind of application manipulate and store critical information that requires some level of security, such as financial or confidential information. The quality and trustworthiness of smart card software can be improved through a rigorous development process that embraces formal techniques of software engineering. In this work we propose the BSmart method, a specialization of the B formal method dedicated to the development of smart card Java Card applications. The method describes how a Java Card application can be generated from a B refinement process of its formal abstract specification. The development is supported by a set of tools, which automates the generation of some required refinements and the translation to Java Card client (host) and server (applet) applications. With respect to verification, the method development process was formalized and verified in the B method, using the Atelier B tool [Cle12a]. We emphasize that the Java Card application is translated from the last stage of refinement, named implementation. This translation process was specified in ASF+SDF [BKV08], describing the grammar of both languages (SDF) and the code transformations through rewrite rules (ASF). This specification was an important support during the translator development and contributes to the tool documentation. We also emphasize the KitSmart library [Dut06, San12], an essential component of BSmart, containing models of all 93 classes/interfaces of Java Card API 2:2:2, of Java/Java Card data types and machines that can be useful for the specifier, but are not part of the standard Java Card library. In other to validate the method, its tool support and the KitSmart, we developed an electronic passport application following the BSmart method. We believe that the results reached in this work contribute to Java Card development, allowing the generation of complete (client and server components), and less subject to errors, Java Card applications.
id UFRN_d1eb59c53e0445f19da72830e16c9ccd
oai_identifier_str oai:repositorio.ufrn.br:123456789/17947
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Desenvolvimento formal de aplicações para smartcardsSmart cardsJava cardMétodo formal BRefinamentoDesenvolvimento formalGeração de código.Smart cardsJava cardB formal methodRefinementFormal developmentCode generation.CNPQ::OUTROSSmart card applications represent a growing market. Usually this kind of application manipulate and store critical information that requires some level of security, such as financial or confidential information. The quality and trustworthiness of smart card software can be improved through a rigorous development process that embraces formal techniques of software engineering. In this work we propose the BSmart method, a specialization of the B formal method dedicated to the development of smart card Java Card applications. The method describes how a Java Card application can be generated from a B refinement process of its formal abstract specification. The development is supported by a set of tools, which automates the generation of some required refinements and the translation to Java Card client (host) and server (applet) applications. With respect to verification, the method development process was formalized and verified in the B method, using the Atelier B tool [Cle12a]. We emphasize that the Java Card application is translated from the last stage of refinement, named implementation. This translation process was specified in ASF+SDF [BKV08], describing the grammar of both languages (SDF) and the code transformations through rewrite rules (ASF). This specification was an important support during the translator development and contributes to the tool documentation. We also emphasize the KitSmart library [Dut06, San12], an essential component of BSmart, containing models of all 93 classes/interfaces of Java Card API 2:2:2, of Java/Java Card data types and machines that can be useful for the specifier, but are not part of the standard Java Card library. In other to validate the method, its tool support and the KitSmart, we developed an electronic passport application following the BSmart method. We believe that the results reached in this work contribute to Java Card development, allowing the generation of complete (client and server components), and less subject to errors, Java Card applications.Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorAs aplicações para smart cards representam um mercado que cresce a cada ano. Normalmente, essas aplicações manipulam e armazenam informações que requerem garantias de segurança, tais como valores monetários ou informações confidenciais. A qualidade e a segurança do software para cartões inteligentes pode ser aprimorada através de um processo de desenvolvimento rigoroso que empregue técnicas formais da engenharia de software. Neste trabalho propomos o método BSmart, uma especialização do método formal B dedicada ao desenvolvimento de aplicações para smart cards na linguagem Java Card. O método descreve, em um conjunto de etapas, como uma aplicação smart card pode ser gerada a partir de refinamentos em sua especificação formal. O desenvolvimento é suportado por um conjunto de ferramentas, automatizando a geração de parte dos refinamentos e a tradução para as aplicações Java Card cliente (host) e servidora (applet). Ressalta-se que o processo de especificação e refinamento descrito no método foi formalizado e verificado utilizando o próprio método B, com o auxílio da ferramenta Atelier B [Cle12a]. Destaca-se que a aplicação Java Card é traduzida a partir do último passo de refinamento, denominado de implementação. A especificação dessa tradução foi feita na linguagem ASF+SDF [BKV08]. Inicialmente, descreveu-se as gramáticas das linguagens B e Java (SDF) e, em uma etapa posterior, especificou-se as transformações de B para Java Card através de regras de reescrita de termos (ASF). Essa abordagem foi um importante auxílio durante o processo de tradução, além de servir ao propósito de documentálo. Cumpre destacar a biblioteca KitSmart [Dut06, San12], componente essencial ao método BSmart, que inclui modelos em B de todas as 93 classes/interfaces da API Java Card na versão 2:2:2, dos tipos de dados Java e Java Card e de máquinas que podem ser úteis ao especificador, mas que não estão presentes na API padrão. Tendo em vista validar o método, seu conjunto de ferramentas e a biblioteca KitSmart, procedeu-se com o desenvolvimento, seguindo o método BSmart, de uma aplicação de passaporte eletrônico. Os resultados alcançados neste trabalho contribuem para o desenvolvimento smart card, na medida em que possibilitam a geração de aplicações Java Card completas (cliente e servidor) e menos sujeitas a falhas.Universidade Federal do Rio Grande do NorteBRUFRNPrograma de Pós-Graduação em Sistemas e ComputaçãoCiência da ComputaçãoDéharbe, David Boris Paulhttp://lattes.cnpq.br/7812661521592212http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4768856U5Moreira, Anamaria Martinshttp://lattes.cnpq.br/5861361541278876Sampaio, Augusto Cezar Alveshttp://lattes.cnpq.br/3977760354511853Oliveira, Marcel Vinicius Medeiroshttp://lattes.cnpq.br/1756952696097255Gomes, Bruno Emerson Gurgel2014-12-17T15:46:59Z2012-11-062014-12-17T15:46:59Z2012-06-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfapplication/pdfGOMES, Bruno Emerson Gurgel. Desenvolvimento formal de aplicações para smartcards. 2012. 229 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2012.https://repositorio.ufrn.br/jspui/handle/123456789/17947ark:/41046/001300000m76wporinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRN2017-11-04T11:38:26Zoai:repositorio.ufrn.br:123456789/17947Repositório InstitucionalPUBhttp://repositorio.ufrn.br/oai/repositorio@bczm.ufrn.bropendoar:2017-11-04T11:38:26Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.none.fl_str_mv Desenvolvimento formal de aplicações para smartcards
title Desenvolvimento formal de aplicações para smartcards
spellingShingle Desenvolvimento formal de aplicações para smartcards
Gomes, Bruno Emerson Gurgel
Smart cards
Java card
Método formal B
Refinamento
Desenvolvimento formal
Geração de código.
Smart cards
Java card
B formal method
Refinement
Formal development
Code generation.
CNPQ::OUTROS
title_short Desenvolvimento formal de aplicações para smartcards
title_full Desenvolvimento formal de aplicações para smartcards
title_fullStr Desenvolvimento formal de aplicações para smartcards
title_full_unstemmed Desenvolvimento formal de aplicações para smartcards
title_sort Desenvolvimento formal de aplicações para smartcards
author Gomes, Bruno Emerson Gurgel
author_facet Gomes, Bruno Emerson Gurgel
author_role author
dc.contributor.none.fl_str_mv Déharbe, David Boris Paul

http://lattes.cnpq.br/7812661521592212

http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4768856U5
Moreira, Anamaria Martins

http://lattes.cnpq.br/5861361541278876
Sampaio, Augusto Cezar Alves

http://lattes.cnpq.br/3977760354511853
Oliveira, Marcel Vinicius Medeiros

http://lattes.cnpq.br/1756952696097255
dc.contributor.author.fl_str_mv Gomes, Bruno Emerson Gurgel
dc.subject.por.fl_str_mv Smart cards
Java card
Método formal B
Refinamento
Desenvolvimento formal
Geração de código.
Smart cards
Java card
B formal method
Refinement
Formal development
Code generation.
CNPQ::OUTROS
topic Smart cards
Java card
Método formal B
Refinamento
Desenvolvimento formal
Geração de código.
Smart cards
Java card
B formal method
Refinement
Formal development
Code generation.
CNPQ::OUTROS
description Smart card applications represent a growing market. Usually this kind of application manipulate and store critical information that requires some level of security, such as financial or confidential information. The quality and trustworthiness of smart card software can be improved through a rigorous development process that embraces formal techniques of software engineering. In this work we propose the BSmart method, a specialization of the B formal method dedicated to the development of smart card Java Card applications. The method describes how a Java Card application can be generated from a B refinement process of its formal abstract specification. The development is supported by a set of tools, which automates the generation of some required refinements and the translation to Java Card client (host) and server (applet) applications. With respect to verification, the method development process was formalized and verified in the B method, using the Atelier B tool [Cle12a]. We emphasize that the Java Card application is translated from the last stage of refinement, named implementation. This translation process was specified in ASF+SDF [BKV08], describing the grammar of both languages (SDF) and the code transformations through rewrite rules (ASF). This specification was an important support during the translator development and contributes to the tool documentation. We also emphasize the KitSmart library [Dut06, San12], an essential component of BSmart, containing models of all 93 classes/interfaces of Java Card API 2:2:2, of Java/Java Card data types and machines that can be useful for the specifier, but are not part of the standard Java Card library. In other to validate the method, its tool support and the KitSmart, we developed an electronic passport application following the BSmart method. We believe that the results reached in this work contribute to Java Card development, allowing the generation of complete (client and server components), and less subject to errors, Java Card applications.
publishDate 2012
dc.date.none.fl_str_mv 2012-11-06
2012-06-01
2014-12-17T15:46:59Z
2014-12-17T15:46:59Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv GOMES, Bruno Emerson Gurgel. Desenvolvimento formal de aplicações para smartcards. 2012. 229 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2012.
https://repositorio.ufrn.br/jspui/handle/123456789/17947
dc.identifier.dark.fl_str_mv ark:/41046/001300000m76w
identifier_str_mv GOMES, Bruno Emerson Gurgel. Desenvolvimento formal de aplicações para smartcards. 2012. 229 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2012.
ark:/41046/001300000m76w
url https://repositorio.ufrn.br/jspui/handle/123456789/17947
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
BR
UFRN
Programa de Pós-Graduação em Sistemas e Computação
Ciência da Computação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
BR
UFRN
Programa de Pós-Graduação em Sistemas e Computação
Ciência da Computação
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv repositorio@bczm.ufrn.br
_version_ 1846690483655409664