Abstract
The design of Java Card Virtual Machine (JCVM) is the critical part in Java Card development. One of the evaluation standards on Java card is the fast response rate. Embedded a high performance JCVM on the memory constrained devices such as smart card is a great challenge. This paper presents an implementation of JCVM and an off-card/on-card co-design pre-processing approach to speed up the interpreter in JCVM. In the off-card domain, we propose moving part of instruction interpreting off card, performing a static analysis on applet files before downloaded. In the on-card domain, a dynamic analysis for external items reference is adopted with a small amount of addition code. The experiment result shows that our proposed scheme has an improvement of 36.3% on execution rate, therefore it is effective to speed up JCVM and it is available for Java card to raise its responsive efficiency.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Oracle, Java Card 3 Platform: Runtime Environment Specification, Classic Edition. Version 3.0.4. Oracle, September 2011
Oracle, Java Card 3 Platform: Virtual Machine Specification, Classic Edition. Version 3.0.4. Oracle, September 2011
Oracle, Java Card 3 Platform: Application Programming Interface Specification, Classic Edition. Version 3.0.4. Oracle, September 2011
Chen, Z.: Java Card™ Technology for Smart Cards. Java Card Technology for Smart Cards: Architecture and Programmer’s Guide. Addison-Wesley Longman Publishing Co. Inc (2000)
Ertl, M.A.: Threaded code variations and optimizations. In: EuroForth 2001 Conference Proceedings, pp. 49–55 (2001)
Gregg, D., Ertl, M.A., Krall, A.: A fast Java interpreter. In: Proceedings of the Workshop on Java Optimization Strategies for Embedded Systems (JOSES), Citeseer, Genoa (2001)
Jin, M.-S., Choi, W.-H., Yang, Y.-S., Jung, M.-S.: A study on fast JCVM with new transaction mechanism and caching-buffer based on Java card objects with a high locality. In: Enokido, T., Yan, L., Xiao, B., Kim, D., Dai, Y., Yang, Laurence T. (eds.) EUC 2005. LNCS, vol. 3823, pp. 91–100. Springer, Heidelberg (2005). https://doi.org/10.1007/11596042_10
Zilli, M., Raschke, W., Weiss, R., et al.: Hardware/software co-design for a high-performance Java card interpreter in low-end embedded systems. Microprocess. Microsyst. 39(8), 1076–1086 (2015)
Liu, T., Zhang, D., Jiang, Y.: Research and Implementation of Bytecode Instruction Folding on Java Card (2014)
Cao, X., Ying, L.I.: Feedback-based JCVM instruction prescheduling scheme. Comput. Eng. 40(1), 78–82 (2014)
Acknowledgments
The research was supported by the National Natural Science Foundation of China (No. 61402546). The project has also been supported by two Technology Projects of Guangzhou (No. 201604016126) and (No. 201604010110).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Hong, J., Hu, J., Lin, G. (2018). A Java Card Virtual Machine Design Based on Off-card/On-card Co-design Pre-processing. In: Xu, W., Xiao, L., Li, J., Zhang, C., Zhu, Z. (eds) Computer Engineering and Technology. NCCET 2017. Communications in Computer and Information Science, vol 600. Springer, Singapore. https://doi.org/10.1007/978-981-10-7844-6_2
Download citation
DOI: https://doi.org/10.1007/978-981-10-7844-6_2
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-7843-9
Online ISBN: 978-981-10-7844-6
eBook Packages: Computer ScienceComputer Science (R0)