Abstract
Memory is one of the scarcest resource of embedded and constrained devices. This paper studies the memory footprint benefit of pre-deploying embedded Java systems up to their activation using romization. We find out that the more the system is deployed off-board, the more it can be efficiently and automatically customized in order to reduce its final size. This claim is validated experimentally through the production of memory images that are between 10% and 45% the size of their J2ME CLDC counterparts, while using the J2SE API and being ready-to-run without any further on-board initialization. Embedded solutions like J2ME degrade the Java environment and API right from their specification, limiting their usage perspectives. By contrast, our romization scheme generates and specializes a custom-tailored Java API for embedded applications deployed in a full-fledged J2SE environment.
This work is partially supported by grants from the CPER Nord-Pas-de-Calais TACT LOMC C21, the French Ministry of Education and Research (ACI Sécurité Informatique SPOPS), and Gemplus Research Labs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Carzaniga, A., Fuggetta, A., Hall, R.S., van der Hoek, A., Heimbigner, D., Wolf, A.L.: A characterization framework for software deployment technologies. Tech. Rep. CU-CS-857-98, Dept. of Computer Science, University of Colorado (April 1998)
OSGi Alliance, OSGi Service Platform, Release 3. IOS Press, Inc., Amsterdam (2003)
Searls, R.: Java 2 Enterprise Edition Deployment API Specification, Version 1.1 (August 2002)
Lindholm, T., Yellin, F.: Java Virtual Machine Specification. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)
Mulchandani, D.: Java for embedded systems. IEEE Internet Computing 2(3), 30–39 (1998)
Chang, D.-W., Chang, R.-C.: Ejvm: an economic java run-time environment for embedded devices. Software Practice & Experience 31(2), 129–146 (2001)
Rayside, D., Mamas, E., Hons, E.: Compact java binaries for embedded systems. In: Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, p. 9. IBM Press (1999)
Chen, Z.: Java Card Technology for Smart Cards: Architecture and Programmer’s Guide. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2000)
The J-Consortium, JEFF Draft Specification (March 2002)
Sun Microsystems, J2ME Building Blocks for Mobile Devices (2000)
The Java Card Virtual Machine Specification (2003)
Grove, D., DeFouw, G., Dean, J., Chambers, C.: Call graph construction in object-oriented languages. In: OOPSLA 1997: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 108–124. ACM Press, New York (1997)
Rayside, D., Kontogiannis, K.: Extracting java library subsets for deployment on embedded systems. Sci. Comput. Program. 45(2-3), 245–270 (2002)
Tip, F., Sweeney, P.F., Laffra, C.: Extracting library-based java applications. Commun. ACM 46(8), 35–40 (2003)
Diwan, A., McKinley, K.S., Moss, J.E.B.: Using types to analyze and optimize object-oriented programs. ACM Trans. Program. Lang. Syst. 23(1), 30–72 (2001)
Sundaresan, V., Hendren, L., Razafimahefa, C., Vallée-Rai, R., Lam, P., Gagnon, E., Godin, C.: Practical virtual method call resolution for java. In: OOPSLA 2000: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 264–280. ACM Press, New York (2000)
Java In The Small, http://www.lifl.fr/RD2P/JITS/
Dean, J., Grove, D., Chambers, C.: Optimization of object-oriented programs using static class hierarchy analysis. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol. 952, pp. 77–101. Springer, Heidelberg (1995)
Rippert, C., Courbot, A., Grimaud, G.: A low-footprint class loading mechanism for embedded java virtual machines. In: 3rd ACM International Conference on the Principles and Practice of Programming in Java, Las Vegas, USA (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Courbot, A., Grimaud, G., Vandewalle, JJ. (2006). Romization: Early Deployment and Customization of Java Systems for Constrained Devices. In: Barthe, G., Grégoire, B., Huisman, M., Lanet, JL. (eds) Construction and Analysis of Safe, Secure, and Interoperable Smart Devices. CASSIS 2005. Lecture Notes in Computer Science, vol 3956. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11741060_4
Download citation
DOI: https://doi.org/10.1007/11741060_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33689-1
Online ISBN: 978-3-540-33691-4
eBook Packages: Computer ScienceComputer Science (R0)