Skip to main content

Controlling and Optimizing the Usage of One Resource

  • Conference paper
Programming Languages and Systems (APLAS 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2895))

Included in the following conference series:

Abstract

This paper studies the problem of resource availability in the context of mobile code for embedded systems such as smart cards. It presents an architecture dedicated to controlling the usage of a single resource in a multi-process operating system. Its specificity lies in its ability to improve the task scheduling in order to spare resources. Our architecture comprises two parts. The first statically computes the resource needs using a dedicated lattice. The second guarantees at runtime that there will always be enough resources for every application to terminate, thanks to an efficient deadlock-avoidance algorithm. The example studied here is an implementation on a JVM (Java Virtual Machine) for smart cards, dealing with a realistic subset of the Java bytecode.

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. Baudet, M.: Contrôle de ressource et évitement des interblocages sur la mémoire. Master’s thesis, DEA Programmation (Paris), Gemplus Research Labs (September 2002)

    Google Scholar 

  2. Casset, L., Burdy, L., Requet, A.: Formal Development of an embedded verifier for Java Card Byte Code. In: The IEEE International Conference on Dependable Systems & Networks (DSN), Washington, D.C., USA, June 2002, pp. 51–58 (2002)

    Google Scholar 

  3. Chang, B.-M., Jo, J.-W., Yi, K., Choe, K.-M.: Interprocedural Exception Analysis for Java. In: 16th ACM Symposium on Applied Computing (SAC), Las Vegas, USA (March 2001)

    Google Scholar 

  4. Chen, Z.: Java CardTM Technology for Smart Cards: Architecture and Programmer’s Guide. The JavaTM Series. Addison Wesley, Reading (2000)

    Google Scholar 

  5. Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V.C., Midkiff, S.: Escape Analysis for JavaTm. In: ACM conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 1999), Denver, USA, pp. 2–19 (1999)

    Google Scholar 

  6. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: The 4th Annual ACM SIGPLAN-SIGACT, Los Angeles, California, pp. 238–252 (1977)

    Google Scholar 

  7. Crary, K., Weirich, S.: Resource Bound Certification. In: Proceedings of the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Boston, MA, January 2000, pp. 184–198 (2000)

    Google Scholar 

  8. Czajkowski, G., von Eicken, T.: JRes: A Resource Accounting Interface for Java. In: Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Canada, pp. 21–35 (1998)

    Google Scholar 

  9. DeFouw, G., Grove, D., Chambers, C.: Fast Interprocedural Class Analysis. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, CA, USA, pp. 222–236 (1998)

    Google Scholar 

  10. Deville, D., Galland, A., Grimaud, G., Jean, S.: Assessing the future of Smart Card Operating Systems. In: 4th e-Smart Conference, Sophia Antipolis, France, September 17–19 (2003)

    Google Scholar 

  11. Deville, D., Grimaud, G.: Building an “impossible” verifier on a Java Card. In: 2nd USENIX Workshop on Industrial Experiences with Systems Software (WIESS), Boston, USA (December 2002)

    Google Scholar 

  12. Dijkstra, E.W.: Cooperating sequential processes. In: Genuys, F. (ed.) Programming Languages: NATO Advanced Study Institute, pp. 43–112. Academic Press, London (1968)

    Google Scholar 

  13. Ezpeleta, J., Tricas, F., Garcia-Valles, F., Colom, J.: A banker’s solution for deadlock avoidance in FMS with flexible routing and multiresource states. IEEE Transactions on Robotics & Automation 18(4), 621–625 (2002)

    Article  Google Scholar 

  14. Gold, E.M.: Deadlock prediction: Easy and difficult cases. SIAM Journal on Computing 7(3), 320–336 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  15. Habermann, N.A.: Prevention of system deadlocks. Communications of the ACM 12(7), 373–377 (1969)

    Article  Google Scholar 

  16. Hofmann, M., Jost, S.: Static prediction of heap space usage for first-order functional programs. In: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), New Orleans (2003)

    Google Scholar 

  17. JavaTM 2 Platform Micro Edition (J2METM). Connected Limited Device Configuration (CLDC) Specification Version 1.0, http://java.sun.com/j2me/

  18. Knuth, D.E.: The Art of Computer Programming, 2nd edn., vol. 3. Addison Wesley Longman Publishing Co., Inc., Amsterdam (1998)

    Google Scholar 

  19. Kömmerling, O., Kuhn, M.G.: Design Principles for Tamper-Resistant Smartcard Processors. In: USENIX Workshop on Smartcard Technology (Smartcard 1999), Chicago, Illinois, USA, May 10–11, pp. 9–20 (1999)

    Google Scholar 

  20. Lagosanto, L.: Next-Generation Embedded Java Operating System for Smart Cards. In: Gemplus Developer Conference, Singapore (November 2002)

    Google Scholar 

  21. Lawley, M., Reveliotis, S.: Deadlock Avoidance for Sequential Resource Allocation Systems: Hard and Easy Cases. The Journal of FMS 13(4), 385–404 (2001)

    MathSciNet  Google Scholar 

  22. le Sommer, N., Guidec, F.: A Contract-Based Approach of Resource-Constrained Software Deployment. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370, pp. 15–30. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  23. Leroy, X.: Bytecode Verification for Java smart card. Software Practice & Experience 32, 319–340 (2002)

    Article  MATH  Google Scholar 

  24. Mobile Resource Guarantees (MRG). European Project IST-2001-33149 (2002), http://www.dcs.ed.ac.uk/home/mrg/

  25. Necula, G.C.: Proof–Carrying Code. In: the 24th ACM SIGPLAN-SIGACT symposium on principles of programming Languages, Paris, France (January 1997)

    Google Scholar 

  26. Quisquater, J.-J.: The adolescence of smart cards. Future Generation Computer Systems 13, 3–7 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Galland, A., Baudet, M. (2003). Controlling and Optimizing the Usage of One Resource. In: Ohori, A. (eds) Programming Languages and Systems. APLAS 2003. Lecture Notes in Computer Science, vol 2895. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40018-9_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-40018-9_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20536-4

  • Online ISBN: 978-3-540-40018-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics