Automata-Based Programming Technology Extension for Generation of JML Annotated Java Card Code

This paper gives an overview of the ongoing research project which concerns generation of dependable Java Card code. According to the automata-based programming technology, code is generated from a high-level application behavior description which is based on finite state machines. An extra benefit from the use of such description is the possibility of generation of formal application specification in Java Modeling Language. Conformance of the code against its specification could be checked by different static checking and verification tools.

[1]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[2]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[3]  Anatoly Shalyto,et al.  Logic Control and “Reactive” Systems: Algorithmization and Programming , 2001 .

[4]  Albert L. Baker,et al.  Preliminary design of JML: a behavioral interface specification language for java , 2006, SOEN.

[5]  E. V. Kuzmin,et al.  Modeling, specification, and verification of automaton programs , 2008, Programming and Computer Software.

[6]  E. V. Kuzmin,et al.  Modeling, specification, and verification of automaton programs , 2008, Program. Comput. Softw..

[7]  Anatoly A. Shalyto,et al.  SWITCH Technology: An Automated Approach to Developing Software for Reactive Systems , 2004, Programming and Computer Software.

[8]  Erik Poll,et al.  From Finite State Machines to Provably Correct Java Card Applets , 2003, SEC.

[9]  Anatoly A. Shalyto,et al.  Tools for support of automata-based programming , 2007, Programming and Computer Software.

[10]  Engelbert Hubbers,et al.  Generating JML Specifications from UML State Diagrams , 2003, FDL.

[11]  Michael Baentsch,et al.  JavaCard-from hype to reality , 1999, IEEE Concurr..

[12]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

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

[14]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[15]  Bart Jacobs,et al.  The LOOP Compiler for Java and JML , 2001, TACAS.

[16]  K. Rustan M. Leino,et al.  Extended static checking , 1998, PROCOMET.

[17]  Lex Bijlsma Model-based specification , 2001, Inf. Process. Lett..

[18]  David R. Cok,et al.  ESC/Java2: Uniting ESC/Java and JML Progress and Issues in Building and Using ESC/Java2, Including a Case Study Involving the Use of the Tool to Verify Portions of an Internet Voting Tally System , 2005 .

[19]  Alessandro Coglio An Approach to the Generation of High-Assurance Java Card Applets , 2002 .