ABSTRACT
Java still is a rather exotic language in the field of real-time and particularly embedded systems, though it could provide productivity and especially safety and dependability benefits over the dominating language C. The reasons for the lack of acceptance of Java in the embedded world are the high resource consumption caused by the Java runtime environment and lacking language features for low-level programming.
KESO is a JVM under LGPL license that was specifically designed for the domain of statically-configured deeply embedded systems. KESO provides a sensible selection of Java features useful to the majority of embedded applications and safe and convenient constructs for low-level programming in Java. A key feature of KESO is its Multi-JVM architecture, which allows the isolated cohabitation of different applications on one hardware platform.
The resource consumption of applications developed on the base of KESO is comparable to C applications, and its mechanisms for communicating among isolated components are efficient and encourage the actual utilization of spatial isolation.
- AUTOSAR. Specification of operating system (version 2.0.1). Technical report, Automotive Open System Architecture GbR, June 2006.Google Scholar
- J.-L. Béchennec, M. Briday, S. Faucou, and Y. Trinquet. Trampoline: An OpenSource implementation of the OSEK/VDX RTOS specification. In IEEE Conference on Emerging Technologies and Factory Automation, 2006. ETFA '06., pages 62--69, September 2006.Google ScholarCross Ref
- G. Bollella, B. Brosgol, J. Gosling, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. 1st edition, Jan. 2000.Google Scholar
- E. M. Gagnon and L. J. Hendren. SableVM: A research framework for the efficient execution of Java bytecode. In Java Virtual Machine Research and Technology Symposium (JVM '01), pages 27--40, Apr. 2001. Google ScholarDigital Library
- M. Golm, M. Felser, C. Wawersich, and J. Kleinöder. The JX operating system. In 2002 USENIX ATC, pages 45--58, June 2002. Google ScholarDigital Library
- T. Harbaum. NanoVM - Java for the AVR, July 2006. http://www.harbaum.org/till/nanovm.Google Scholar
- Java Native Interface Specification 1.1. Sun Microsystems, Aug. 2005. URL: http://tinyurl.com/2wxzf9.Google Scholar
- JSR 121: Application Isolation API Specification. Sun Microsystems JCP, June 2006.Google Scholar
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, 11th Eur. Conf. on OOP (ECOOP '97), volume 1241 of LNCS, pages 220--242, June 1997.Google Scholar
- J2ME building blocks for mobile devices --- white paper on KVM and the connected, limited device configuration (CLDC), May 2000.Google Scholar
- D. Lohmann, W. Hofer, W. Schröder-Preikschat, J. Streicher, and O. Spinczyk. CiAO: An aspect-oriented operating-system family for resource-constrained embedded systems. In 2009 USENIX ATC, pages 215--228, June 2009. Google ScholarDigital Library
- D. Lohmann, J. Streicher, W. Hofer, O. Spinczyk, and W. Schröder-Preikschat. Configurable memory protection by aspects. In 4th W'shop on Progr. Lang. and OSes (PLOS '07), pages 1--5, Oct. 2007. Google ScholarDigital Library
- OSEK/VDX Group. OSEK implementation language specification 2.5. Technical report, OSEK/VDX Group, 2004.Google Scholar
- OSEK/VDX Group. Operating system specification 2.2.3. Technical report, OSEK/VDX Group, Feb. 2005.Google Scholar
- G. Phipps. Comparing observed bug and productivity rates for Java and C++. Softw. Pract. Exper., 29(4):345--358, 1999. Google ScholarDigital Library
- F. Pizlo, L. Ziarek, E. Blanton, P. Maj, and J. Vitek. High-level programming of embedded hard real-time devices. In ACM SIGOPS/EuroSys Eur. Conf. on Computer Systems 2010 (EuroSys '10), pages 69--82, Apr. 2010. Google ScholarDigital Library
- E. Quinn and C. Christiansen. Java Pays -- Positively. IDC Bulletin W16212, May 1998.Google Scholar
- F. Siebert. Realtime garbage collection in the jamaicavm 3.0. In JTRES '07: Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems, pages 94--103, 2007. Google ScholarDigital Library
- D. Simon, C. Cifuentes, D. Cleal, J. Daniels, and D. White. Java#8482; on the bare metal of wireless sensor devices: the Squawk Java virtual machine. In 2nd USENIX Int. Conf. on Virtual Execution Environments (VEE '06), pages 78--88, 2006. Google ScholarDigital Library
- M. Stilkerich and J. Bauer. JOSEK - an open source implementation of the OSEK/VDX API, February 2010. http://www4.cs.fau.de/Research/KESO/josek.Google Scholar
- Sun Microsystems. Virtual machine specification, Java Card platform version 2.2.2, Mar. 2006.Google Scholar
- B. L. Titzer, D. K. Lee, and J. Palsberg. Avrora: scalable sensor network simulation with precise timing. In IPSN '05: 4th Int. Conf. on Information Processing in Sensor Networks, page 67, 2005. Google ScholarDigital Library
- P. Ulbrich. The I4Copter project --- Research platform for embedded and safety-critical system software. http://www4.informatik.uni-erlangen.de/Research/I4Copter/, visited 2010-02-22.Google Scholar
- C. Wawersich, M. Stilkerich, and W. Schröder-Preikschat. An OSEK/VDX-based multi-JVM for automotive appliances. In Embedded System Design: Topics, Techniques and Trends, IFIP International Federation for Information Processing, pages 85--96, 2007.Google Scholar
Index Terms
- KESO: an open-source multi-JVM for deeply embedded systems
Recommendations
Tailor-made JVMs for statically configured embedded systems
Java still is a rather exotic language in the field of real-time and particularly embedded systems, eventhough it could provide productivity and especially safety and dependability benefits over the dominating language C. The reasons for the lack of ...
The final Frontier: Coping With Immutable Data in a JVM for Embedded Real-Time Systems
JTRES '14: Proceedings of the 12th International Workshop on Java Technologies for Real-time and Embedded SystemsManaged, type-safe languages such as Java are becoming an increasingly competitive alternative for programming realtime and embedded applications, a field which has traditionally been dominated by C. However, one peculiar issue in the use of Java is the ...
Automated application of fault tolerance mechanisms in a component-based system
JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded SystemsDue to the reduction of structure sizes in modern embedded systems, tolerating soft errors presenting itself as bit flips becomes a mandatory task even for moderate critical applications. Accordingly, software-based fault tolerance mechanisms recently ...
Comments