Java for Cost Effective Embedded Real-Time Software

Stephan Korsholm

Publikation: Bog/antologi/afhandling/rapportPh.d.-afhandlingForskning

614 Downloads (Pure)

Resumé

This thesis presents the analysis, design and implementation of the Hardware near Virtual Machine (HVM) - a Java virtual machine for embedded devices. The HVM supports the execution of Java programs on low-end embedded hard- ware environments with as little as a few kB of RAM and 32 kB of ROM. The HVM is based on a Java-to-C translation mechanism and it produces self- contained, strict ANSI-C code that has been specially crafted to allow it to be embedded into existing C based build and execution environments; environ- ments which may be based on non standard C compilers and libraries. The HVM does not require a POSIX-like OS, nor does it require a C runtime library to be present for the target. The main distinguishing feature of the HVM is to support the stepwise addition of Java into an existing C based build and execution environment for low-end embedded systems. This will allow for the gradual introduction of the Java language, tools and methods into a existing C based development environment. Through program specialization, based on a static whole-program analysis, the application is shrinked to only include a conservative approximation of actual dependencies, thus keeping down the size of the resulting Java based software components. The Safety-Critical Java specification (SCJ), Level 0 and 1, has been imple- mented for the HVM, which includes preemptive task scheduling. The HVM supports well known concepts for device level programming, such as Hardware Objects and 1st level interrupt handling, and it adds some new ones such as native variables. The HVM is integrated with Eclipse. The work presented here is documented in 5 conference papers, 1 journal article, and 1 extended abstract, which are all included as part of this thesis. A summary of these papers is given in a separate Section.
OriginalsprogEngelsk
ForlagDepartment of Computer Science, Aalborg University
Antal sider75
StatusUdgivet - aug. 2012

Citer dette

Korsholm, S. (2012). Java for Cost Effective Embedded Real-Time Software. Department of Computer Science, Aalborg University.
Korsholm, Stephan. / Java for Cost Effective Embedded Real-Time Software. Department of Computer Science, Aalborg University, 2012. 75 s.
@phdthesis{01723a5d4fb84b48b8362a4c03144331,
title = "Java for Cost Effective Embedded Real-Time Software",
abstract = "This thesis presents the analysis, design and implementation of the Hardware near Virtual Machine (HVM) - a Java virtual machine for embedded devices. The HVM supports the execution of Java programs on low-end embedded hard- ware environments with as little as a few kB of RAM and 32 kB of ROM. The HVM is based on a Java-to-C translation mechanism and it produces self- contained, strict ANSI-C code that has been specially crafted to allow it to be embedded into existing C based build and execution environments; environ- ments which may be based on non standard C compilers and libraries. The HVM does not require a POSIX-like OS, nor does it require a C runtime library to be present for the target. The main distinguishing feature of the HVM is to support the stepwise addition of Java into an existing C based build and execution environment for low-end embedded systems. This will allow for the gradual introduction of the Java language, tools and methods into a existing C based development environment. Through program specialization, based on a static whole-program analysis, the application is shrinked to only include a conservative approximation of actual dependencies, thus keeping down the size of the resulting Java based software components. The Safety-Critical Java specification (SCJ), Level 0 and 1, has been imple- mented for the HVM, which includes preemptive task scheduling. The HVM supports well known concepts for device level programming, such as Hardware Objects and 1st level interrupt handling, and it adds some new ones such as native variables. The HVM is integrated with Eclipse. The work presented here is documented in 5 conference papers, 1 journal article, and 1 extended abstract, which are all included as part of this thesis. A summary of these papers is given in a separate Section.",
author = "Stephan Korsholm",
year = "2012",
month = "8",
language = "English",
publisher = "Department of Computer Science, Aalborg University",

}

Korsholm, S 2012, Java for Cost Effective Embedded Real-Time Software. Department of Computer Science, Aalborg University.

Java for Cost Effective Embedded Real-Time Software. / Korsholm, Stephan.

Department of Computer Science, Aalborg University, 2012. 75 s.

Publikation: Bog/antologi/afhandling/rapportPh.d.-afhandlingForskning

TY - BOOK

T1 - Java for Cost Effective Embedded Real-Time Software

AU - Korsholm, Stephan

PY - 2012/8

Y1 - 2012/8

N2 - This thesis presents the analysis, design and implementation of the Hardware near Virtual Machine (HVM) - a Java virtual machine for embedded devices. The HVM supports the execution of Java programs on low-end embedded hard- ware environments with as little as a few kB of RAM and 32 kB of ROM. The HVM is based on a Java-to-C translation mechanism and it produces self- contained, strict ANSI-C code that has been specially crafted to allow it to be embedded into existing C based build and execution environments; environ- ments which may be based on non standard C compilers and libraries. The HVM does not require a POSIX-like OS, nor does it require a C runtime library to be present for the target. The main distinguishing feature of the HVM is to support the stepwise addition of Java into an existing C based build and execution environment for low-end embedded systems. This will allow for the gradual introduction of the Java language, tools and methods into a existing C based development environment. Through program specialization, based on a static whole-program analysis, the application is shrinked to only include a conservative approximation of actual dependencies, thus keeping down the size of the resulting Java based software components. The Safety-Critical Java specification (SCJ), Level 0 and 1, has been imple- mented for the HVM, which includes preemptive task scheduling. The HVM supports well known concepts for device level programming, such as Hardware Objects and 1st level interrupt handling, and it adds some new ones such as native variables. The HVM is integrated with Eclipse. The work presented here is documented in 5 conference papers, 1 journal article, and 1 extended abstract, which are all included as part of this thesis. A summary of these papers is given in a separate Section.

AB - This thesis presents the analysis, design and implementation of the Hardware near Virtual Machine (HVM) - a Java virtual machine for embedded devices. The HVM supports the execution of Java programs on low-end embedded hard- ware environments with as little as a few kB of RAM and 32 kB of ROM. The HVM is based on a Java-to-C translation mechanism and it produces self- contained, strict ANSI-C code that has been specially crafted to allow it to be embedded into existing C based build and execution environments; environ- ments which may be based on non standard C compilers and libraries. The HVM does not require a POSIX-like OS, nor does it require a C runtime library to be present for the target. The main distinguishing feature of the HVM is to support the stepwise addition of Java into an existing C based build and execution environment for low-end embedded systems. This will allow for the gradual introduction of the Java language, tools and methods into a existing C based development environment. Through program specialization, based on a static whole-program analysis, the application is shrinked to only include a conservative approximation of actual dependencies, thus keeping down the size of the resulting Java based software components. The Safety-Critical Java specification (SCJ), Level 0 and 1, has been imple- mented for the HVM, which includes preemptive task scheduling. The HVM supports well known concepts for device level programming, such as Hardware Objects and 1st level interrupt handling, and it adds some new ones such as native variables. The HVM is integrated with Eclipse. The work presented here is documented in 5 conference papers, 1 journal article, and 1 extended abstract, which are all included as part of this thesis. A summary of these papers is given in a separate Section.

M3 - Ph.D. thesis

BT - Java for Cost Effective Embedded Real-Time Software

PB - Department of Computer Science, Aalborg University

ER -

Korsholm S. Java for Cost Effective Embedded Real-Time Software. Department of Computer Science, Aalborg University, 2012. 75 s.