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.
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
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)
Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)
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)
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)
Free Software Foundation, http://gcc.gnu.org/onlinedocs/gcj.ps.gz Guide to GNU gcj
Ivanovic, V., Mahar, M.: Using Java in Embedded Systems. Circuit Cellular Ink – The Computer Application Journal (102) (January 1999)
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)
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)
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)
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)
Sun Microelectronics Java 2 Platform, Micro Edition, http://java.sun.com/j2me
Sun Microelectronics, http://www.sun.com/microelectronics/picoJava/ picoJava TM Microprocessor Core Overview
Sun Microelectronics, http://java.sun.com/docs/books/tutorial/native1.1/ Trail: Java Native Interface
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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