Skip to main content

Computational Reflection for Embedded Java Systems

  • Conference paper
On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops (OTM 2003)

Abstract

Although Java reduces the time to market of embedded systems, for some contexts developers are still forced to consider, beside application concerns, checks and handling activities for anomalous conditions that can occur on hardware devices. Typically, applications and handling of anomalous conditions are unrelated, and developers should be provided with means to treat them separately. Reflective systems have been successfully used to separate different concerns. However, special care is required when using them in embedded systems, due to the run time overhead that they can cause. In this paper, we propose what we call selective reflective behaviour, which aims at reducing the run time overhead of reflective systems. An efficient implementation of this behaviour is also proposed, which is suitable even for embedded Java systems. The paper also presents an example of a meta level that handles anomalous conditions for the embedded systems in a production cell.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Cazzola, W.: Evaluation of Object-Oriented Reflective Models. In: Proceedings of the ECOOP 1998 Workshop on Reflective Object-Oriented Programming and Systems, Brussels, Belgium (1998)

    Google Scholar 

  2. Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Di Stefano, A., Pappalardo, G., Tramontana, E.: Introducing Distribution into Applications: a Reflective Approach for Transparency and Dynamic Fine-Grained Object Allocation. In: Proceedings of the IEEE Symposium on Computers and Communications (ISCC 2002), Taormina, Italy (2002)

    Google Scholar 

  4. Ferber, J.: Computational Reflection in Class Based Object Oriented Languages. In: Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1989), New York, NY. Sigplan Notices, vol. 24, pp. 317–326 (1989)

    Google Scholar 

  5. Free Software Foundation, http://gcc.gnu.org/onlinedocs/gcj.ps.gz Guide to GNU gcj

  6. Ivanovic, V., Mahar, M.: Using Java in Embedded Systems. Circuit Cellular Ink – The Computer Application Journal (102) (January 1999)

    Google Scholar 

  7. Kastner, W., Krügel, C.: A New Approach for Java in Embedded Networks. In: Proceedings of the IEEE International Workshop on Factory Communication Systems, Porto, Portugal (2000)

    Google Scholar 

  8. Maes, P.: Concepts and Experiments in Computational Reflection. In: Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1987), Orlando, FA. Sigplan Notices, vol. 22(12), pp. 147–155 (1987)

    Google Scholar 

  9. Ogawa, H., Shimura, K., Matsuoka, S., Maruyama, F., Sohda, F., Kimura, Y.: OpenJIT Frontend System: an implementation of the reflective JIT compiler frontend. In: Cazzola, W., Stroud, R.J., Tisato, F. (eds.) Reflection and Software Engineering. LNCS, vol. 1826, pp. 117–133. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  10. Stroud, R.J., Wu, Z.: Using Metaobject Protocols to Satisfy Non-Functional Requirements. In: Zimmermann, C. (ed.) Advances in Object-Oriented Metalevel Architectures and Reflection. CRC Press, Boca Raton (1996)

    Google Scholar 

  11. Sun Microelectronics Java 2 Platform, Micro Edition, http://java.sun.com/j2me

  12. Sun Microelectronics, http://www.sun.com/microelectronics/picoJava/ picoJava TM Microprocessor Core Overview

  13. Sun Microelectronics, http://java.sun.com/docs/books/tutorial/native1.1/ Trail: Java Native Interface

  14. Tramontana, E.: Managing Evolution Using Cooperative Designs and a Reflective Architecture. In: Cazzola, W., Stroud, R.J., Tisato, F. (eds.) Reflection and Software Engineering. LNCS, vol. 1826, pp. 59–78. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  15. Welch, I., Stroud, R.J.: Kava – A Reflective Java Based on Bytecode Rewriting. In: Cazzola, W., Stroud, R.J., Tisato, F. (eds.) Reflection and Software Engineering. LNCS, vol. 1826, pp. 155–167. Springer, Heidelberg (2000)

    Chapter  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

Di Stefano, A., Fargetta, M., Tramontana, E. (2003). Computational Reflection for Embedded Java Systems. In: Meersman, R., Tari, Z. (eds) On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, vol 2889. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39962-9_50

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39962-9_50

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20494-7

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics