A Hardware Abstraction Layer in Java

Schoeberl, Martin and Korsholm, Stephan and Kalibera, Tomas and Ravn, Anders P. (2011) A Hardware Abstraction Layer in Java. ACM Transactions on Embedded Computing Systems, 10 (4). pp. 182-196. (The full text of this publication is not available from this repository)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL
http://www.cs.kent.ac.uk/pubs/2011/3189

Abstract

Embedded systems use specialized hardware devices to interact with their environment, and since they have to be dependable, it is attractive to use a modern, type-safe programming language like Java to develop programs for them. Standard Java, as a platform-independent language, delegates access to devices, direct memory access, and interrupt handling to some underlying operating system or kernel, but in the embedded systems domain resources are scarce and a Java Virtual Machine (JVM) without an underlying middleware is an attractive architecture. The contribution of this article is a proposal for Java packages with hardware objects and interrupt handlers that interface to such a JVM. We provide implementations of the proposal directly in hardware, as extensions of standard interpreters, and finally with an operating system middleware. The latter solution is mainly seen as a migration path allowing Java programs to coexist with legacy system components. An important aspect of the proposal is that it is compatible with the Real-Time Specification for Java (RTSJ).

Item Type: Article
Uncontrolled keywords: determinacy analysis, Craig interpolants
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing
Depositing User: T. Kalibera
Date Deposited: 21 Sep 2012 09:49
Last Modified: 21 Sep 2012 09:49
Resource URI: http://kar.kent.ac.uk/id/eprint/30717 (The current URI for this page, for reference purposes)
  • Depositors only (login required):