Skip to main content

Romization: Early Deployment and Customization of Java Systems for Constrained Devices

  • Conference paper
Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS 2005)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. OSGi Alliance, OSGi Service Platform, Release 3. IOS Press, Inc., Amsterdam (2003)

    Google Scholar 

  3. Searls, R.: Java 2 Enterprise Edition Deployment API Specification, Version 1.1 (August 2002)

    Google Scholar 

  4. Lindholm, T., Yellin, F.: Java Virtual Machine Specification. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)

    Google Scholar 

  5. Mulchandani, D.: Java for embedded systems. IEEE Internet Computing 2(3), 30–39 (1998)

    Article  Google Scholar 

  6. Chang, D.-W., Chang, R.-C.: Ejvm: an economic java run-time environment for embedded devices. Software Practice & Experience 31(2), 129–146 (2001)

    Article  MATH  Google Scholar 

  7. 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)

    Google Scholar 

  8. Chen, Z.: Java Card Technology for Smart Cards: Architecture and Programmer’s Guide. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2000)

    Google Scholar 

  9. The J-Consortium, JEFF Draft Specification (March 2002)

    Google Scholar 

  10. Sun Microsystems, J2ME Building Blocks for Mobile Devices (2000)

    Google Scholar 

  11. The Java Card Virtual Machine Specification (2003)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Rayside, D., Kontogiannis, K.: Extracting java library subsets for deployment on embedded systems. Sci. Comput. Program. 45(2-3), 245–270 (2002)

    Article  MATH  Google Scholar 

  14. Tip, F., Sweeney, P.F., Laffra, C.: Extracting library-based java applications. Commun. ACM 46(8), 35–40 (2003)

    Article  Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. Java In The Small, http://www.lifl.fr/RD2P/JITS/

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics