A model driven architecture for the development of smart card software

Abstract Smart cards are portable integrated devices that store and process data. Speed, security and portability properties enable smart cards to have a widespread usage in various fields including telecommunication, transportation and the credit card industry. However, the development of smart card applications is a difficult task due to hardware and software constraints. The necessity of the knowledge of both a very low-level communication protocol and a specific hardware causes smart card software development to be a big challenge for the developers. Written codes tend to be error-prone and hard to debug because of the limited memory resources. Hence, in this study, we introduce a model driven architecture which aims to facilitate smart card software development by both providing an easy design of smart card systems and automatic generation of the required smart card software from the system models. Differentiating from the previous work, the study in here contributes to the field by both providing various smart card metamodels in different abstraction layers and defines model-to-model transformations between the instances of these metamodels in order to support the realization of the same system on different smart card platforms. Applicability of the proposed methodology is shown for rapid and efficient application development in two major smart card frameworks: Java Card and ZeitControl Basic Card. Lessons learned during the industrial usage of the architecture are also reported in the paper. Finally, we discuss how the components of the architecture can be integrated in order to provide a domain-specific language for smart card software.

[1]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[2]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[3]  Manuel Jiménez Buendía,et al.  Habitation: A Domain-Specific Language for Home Automation , 2009, IEEE Software.

[4]  Janez Brest,et al.  Design and implementation of domain-specific language easytime , 2011, Comput. Lang. Syst. Struct..

[5]  Gabor Karsai,et al.  The design of a language for model transformations , 2006, Software & Systems Modeling.

[6]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[7]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[8]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[9]  Gabor Karsai,et al.  Challenges and directions in formalizing the semantics of modeling languages , 2011, Comput. Sci. Inf. Syst..

[10]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[11]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[12]  Riza Cenk Erdur,et al.  Personalized Access to Semantic Web Agents Using Smart Cards , 2005, Euro-Par.

[13]  Jim Steel,et al.  Model transformation: a declarative, reusable patterns approach , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[14]  Alessandro Coglio,et al.  A Constructive Approach to Correctness, Exemplified by a Generator for Certified Java Card Applets , 2005, VSTTE.

[15]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[16]  Anamaria Martins Moreira,et al.  Developing Java Card Applications with B , 2007, SBMF.

[17]  Roy Grønmo,et al.  Toward Standardised Model to Text Transformations , 2005, ECMDA-FA.

[18]  Sophie Dupuy-Chessa,et al.  Flexibility in MDE for scaling up from simple applications to real case studies: illustration on a Nuclear Power Plant , 2013, IHM.

[19]  Viljem Zumer,et al.  Incremental programming language development , 2005, Comput. Lang. Syst. Struct..

[20]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[21]  Pieter Van Gorp,et al.  Towards Generic MDE Support for Extracting Purpose-Specific Healthcare Models from Annotated, Unstructured Texts , 2012, FHIES.

[22]  Stefano Russo,et al.  Engineering Air Traffic Control Systems with a Model-Driven Approach , 2013, IEEE Software.

[23]  Z. Chen Java Card Technology for Smart Cards: Architecture and Programmer''s Guide. The Java Series. Addis , 2000 .

[24]  Wolfgang Rankl,et al.  Smart Card Handbook , 1997 .

[25]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[26]  K. PandeyR. Object constraint language (OCL) , 2011 .

[27]  Geylani Kardas,et al.  Design and implementation of a smart card based healthcare information system , 2006, Comput. Methods Programs Biomed..

[28]  Kurt Stenzel,et al.  SecureMDD: A Model-Driven Development Method for Secure Smart Card Applications , 2009, 2009 International Conference on Availability, Reliability and Security.

[29]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[30]  Uwe Hansmann,et al.  Smart Card Application Development Using Java , 2000, Springer Berlin Heidelberg.

[31]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[32]  Ahmed Hammad,et al.  Java Card Code Generation from B Specifications , 2003, ICFEM.

[33]  George Roussos,et al.  Enabling RFID in retail , 2006, Computer.

[34]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[35]  Michel R. V. Chaudron,et al.  Empirical Investigations of Model Size, Complexity and Effort in a Large Scale, Distributed Model Driven Development Process , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[36]  Marjan Mernik,et al.  Development of data acquisition systems by using a domain-specific modeling language , 2012, Comput. Ind..

[37]  Jean-Marc Geib,et al.  A Model-Driven Approach for Smart Card Configuration , 2004, GPCE.

[38]  Mark Strembeck,et al.  An approach for the systematic development of domain-specific languages , 2009 .

[39]  Audris Kalnins,et al.  Model Transformation Language MOLA , 2003, MDAFA.