JavaES, a Flexible Java Framework for Embedded Systems
Today, several strategies can be adopted in order to build a complete embedded application, including the use of software and hardware components with a reusable base to satisfy the increasing demands and requirements of actual embedded systems with shorter time to market. A new flexible Java framework is presented in this chapter for the development and deployment of functional embedded systems. It may be adapted to different existing embedded target devices, providing at the same time a common programming environment based on Java with well-defined semantics. This framework makes possible the portability of applications among embedded targets without any re-implementation according to the WORA principle – write once, run anywhere – and gives also a reliable and sound platform that may extend the capabilities of an embedded target by the integration of hardware components without requiring the implementation of any device driver.
KeywordsEmbed System Execution Environment Java Virtual Machine Hardware Device Embed Device
This paper is an extended version of the paper “A flexible Java framework for embedded systems” published in the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES, ACM Digital Library, 2009.
- 2.G. Agosta, S. Crespi, and G. Svelto. Jetatine: A virtual machine for small embedded systems. In Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems, pages 170–177, 2006.Google Scholar
- 4.aJile Systems. ajile systems: Home site. Available at http://www.ajile.com/.
- 13.J. Andreu, J. Videz, and J.A. Holgado. An ambient assisted-living architecture based on wireless sensor networks. Advances in Soft Computing, Springer, 51:239–248, 2008.Google Scholar
- 15.Apache. Apache Ant tool. Available at http://ant.apache.org/.
- 65.G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. Java Series. Addison-Wesley, June 2000.Google Scholar
- 117.Frampton D., Blackburn S.M., Cheng P., Garner R. J., Grove D., Moss J.E.B., and Salishev S.I. Demystifying magic: high-level low-level programming. In Proceedings of the ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, pages 81–90, 2009.Google Scholar
- 123.G. De Micheli, R. Ernst, and W. Wolf, editors. Readings in Hardware/Software Co-design. Kluwer Academic Publishers, 2002.Google Scholar
- 125.M. Debbabi, A. Mourad, C. Talhi, and Yahyaoui H. Accelerating embedded Java for mobile devices. IEEE Communications Magazine, 1:79–85, 2005.Google Scholar
- 147.EJC. The ejc (embedded Java controller) platform. Available at http://www.embedded-web.com/index.html.
- 163.Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. Addison Wesley Professional Computing Series. Addison-Wesley, 1995.Google Scholar
- 192.T. Henties, J.J. Hunt, D. Locke, K. Nilsen, M. Schoeberl, and J. Vitek. Java for safety-critical applications. Electronic Notes in Theoretical Computer Science, 2009.Google Scholar
- 195.M.T. Higuera, V. Issarny, M. Banatre, G. Cabillic, J.P. Lesot, and F. Parain. Java embedded real-time systems: An overview of existing solutions. In In Proc. 3rd International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC), pages 392–399, 2000.Google Scholar
- 207.J.A. Holgado, A. Moreno, and Capel M.I. Java-based adaptable middleware platform for virtual instrumentation. In IEEE Symposium on Virtual Environments, Human-Computer Interfaces and Measurement Systems, pages 144–149, 2007.Google Scholar
- 215.Imsys. Snap, simple network application platform. Available at http://www.imsys.se/.
- 218.Imsys AB. Imsys. Available at http://www.imsystech.com/.
- 223.Javolution. Available at http://javolution.org.
- 224.JCP. Java Community Process Program. Available at http://jcp.org/en/home/index.
- 249.Lejos. Available at http://lejos.sourceforge.net/.
- 250.S. Liang. The Java Native Interface: Programmer’s Guide and Specification. The Java Series. Prentice Hall, 1999.Google Scholar
- 266.Matrix. Mtx65. Available at http://www.matrix.es/.
- 267.Maxim. Tini. Available at http://www.maxim-ic.com/products/microcontrollers/tini/.
- 282.NXP. Pcf 8591. Available at http://www.nxp.com/.
- 287.Oracle Labs. Sunspot. Available at http://www.sunspotworld.com/.
- 291.Parallax. Javelin stamp. Available at http://www.parallax.com.
- 301.F. Pizlo, L. Ziarek, and J. Vitek. Real time Java on resource-constrained platforms with fiji vm. In JTRES’09: Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, pages 110–119, New York, NY, USA, 2009. ACM.Google Scholar
- 329.S.S. Rodrguez and J.A. Holgado. A home-automation platform towards ubiquitous spaces based on a decentralized p2p architecture. Advances in Soft Computing, Springer, 50:304–308, 2008.Google Scholar
- 337.RTJ Computing. simpleRTJ a small footprint Java VM for embedded and consumer devices. Available at http://www.rtjcom.com/, 2000.
- 347.M. Schoeberl. Restrictions of Java for embedded real-time systems. In Proceedings of the 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2004), pages 93–100, Vienna, Austria, May 2004. IEEE.Google Scholar
- 352.M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1–2:265–286, 2008.Google Scholar
- 378.D. Simon, C. Cifuentes, D. Cleal, J. Daniels, and D. White. Java on the bare metal of wireless sensor devices: the squawk Java virtual machine. In Proceedings of the 2nd international conference on Virtual execution environments (VEE 2006), pages 78–88, New York, NY, USA, 2006. ACM Press.Google Scholar
- 402.Systronix. Tstik. Available at http://www.tstik.com/.
- 403.Systronix. Jstik. Available at http://www.systronix.com/jstik/, 2010.
- 425.A.J. Wellings. Concurrent and real-time programming in Java. John Wiley and Sons, 2004.Google Scholar