Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems: A Case Study

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Autoren

  • Christoph Erhardt
  • Michael Stilkerich
  • Daniel Lohmann
  • Wolfgang Schröder-Preikschat

Externe Organisationen

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Titel des SammelwerksJTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Seiten96-105
Seitenumfang10
PublikationsstatusVeröffentlicht - Sept. 2011
Extern publiziertJa
Veranstaltung9th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2011 - York, Großbritannien / Vereinigtes Königreich
Dauer: 26 Sept. 201128 Sept. 2011

Abstract

Offering many benefits in terms of productivity and reliability, Java is becoming an attractive choice for the field of embedded computing. However, its programming model that relies on the capabilities of just-in-time compilation limits the opportunities to generate highly optimized code in an ahead-of-time compiler. In the KESO project, a Java VM for statically-configured deeply embedded systems, we have previously used static application knowledge to create a tailored runtime environment. In this paper, we present and discuss how this static knowledge can further be exploited by our compiler in order to perform advanced optimizations that would otherwise not be achievable. We conducted a case study with the CDx real-time benchmark in which we examined the peculiarities and challenges that arise, and evaluated the effectiveness of both standard and system-model-specific compiler optimizations in the context of a static embedded application model. Our results show that incorporating the available a-priori knowledge in the compiler provides significant improvements to both footprint and runtime, and can additionally help the system integrator to identify consistency problems between the code and a higher-level system specification at an early development stage.

ASJC Scopus Sachgebiete

Zitieren

Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems: A Case Study. / Erhardt, Christoph; Stilkerich, Michael; Lohmann, Daniel et al.
JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems. 2011. S. 96-105.

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Erhardt, C, Stilkerich, M, Lohmann, D & Schröder-Preikschat, W 2011, Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems: A Case Study. in JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems. S. 96-105, 9th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2011, York, Großbritannien / Vereinigtes Königreich, 26 Sept. 2011. https://doi.org/10.1145/2043910.2043927
Erhardt, C., Stilkerich, M., Lohmann, D., & Schröder-Preikschat, W. (2011). Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems: A Case Study. In JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems (S. 96-105) https://doi.org/10.1145/2043910.2043927
Erhardt C, Stilkerich M, Lohmann D, Schröder-Preikschat W. Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems: A Case Study. in JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems. 2011. S. 96-105 doi: 10.1145/2043910.2043927
Erhardt, Christoph ; Stilkerich, Michael ; Lohmann, Daniel et al. / Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems: A Case Study. JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems. 2011. S. 96-105
Download
@inproceedings{b37e74944bae4ff5873e15ed7de1e555,
title = "Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems:: A Case Study",
abstract = "Offering many benefits in terms of productivity and reliability, Java is becoming an attractive choice for the field of embedded computing. However, its programming model that relies on the capabilities of just-in-time compilation limits the opportunities to generate highly optimized code in an ahead-of-time compiler. In the KESO project, a Java VM for statically-configured deeply embedded systems, we have previously used static application knowledge to create a tailored runtime environment. In this paper, we present and discuss how this static knowledge can further be exploited by our compiler in order to perform advanced optimizations that would otherwise not be achievable. We conducted a case study with the CDx real-time benchmark in which we examined the peculiarities and challenges that arise, and evaluated the effectiveness of both standard and system-model-specific compiler optimizations in the context of a static embedded application model. Our results show that incorporating the available a-priori knowledge in the compiler provides significant improvements to both footprint and runtime, and can additionally help the system integrator to identify consistency problems between the code and a higher-level system specification at an early development stage.",
keywords = "embedded systems, Java, KESO",
author = "Christoph Erhardt and Michael Stilkerich and Daniel Lohmann and Wolfgang Schr{\"o}der-Preikschat",
year = "2011",
month = sep,
doi = "10.1145/2043910.2043927",
language = "English",
isbn = "9781450307314",
pages = "96--105",
booktitle = "JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems",
note = "9th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2011 ; Conference date: 26-09-2011 Through 28-09-2011",

}

Download

TY - GEN

T1 - Exploiting Static Application Knowledge in a Java Compiler for Embedded Systems:

T2 - 9th International Workshop on Java Technologies for Real-Time and Embedded Systems, JTRES 2011

AU - Erhardt, Christoph

AU - Stilkerich, Michael

AU - Lohmann, Daniel

AU - Schröder-Preikschat, Wolfgang

PY - 2011/9

Y1 - 2011/9

N2 - Offering many benefits in terms of productivity and reliability, Java is becoming an attractive choice for the field of embedded computing. However, its programming model that relies on the capabilities of just-in-time compilation limits the opportunities to generate highly optimized code in an ahead-of-time compiler. In the KESO project, a Java VM for statically-configured deeply embedded systems, we have previously used static application knowledge to create a tailored runtime environment. In this paper, we present and discuss how this static knowledge can further be exploited by our compiler in order to perform advanced optimizations that would otherwise not be achievable. We conducted a case study with the CDx real-time benchmark in which we examined the peculiarities and challenges that arise, and evaluated the effectiveness of both standard and system-model-specific compiler optimizations in the context of a static embedded application model. Our results show that incorporating the available a-priori knowledge in the compiler provides significant improvements to both footprint and runtime, and can additionally help the system integrator to identify consistency problems between the code and a higher-level system specification at an early development stage.

AB - Offering many benefits in terms of productivity and reliability, Java is becoming an attractive choice for the field of embedded computing. However, its programming model that relies on the capabilities of just-in-time compilation limits the opportunities to generate highly optimized code in an ahead-of-time compiler. In the KESO project, a Java VM for statically-configured deeply embedded systems, we have previously used static application knowledge to create a tailored runtime environment. In this paper, we present and discuss how this static knowledge can further be exploited by our compiler in order to perform advanced optimizations that would otherwise not be achievable. We conducted a case study with the CDx real-time benchmark in which we examined the peculiarities and challenges that arise, and evaluated the effectiveness of both standard and system-model-specific compiler optimizations in the context of a static embedded application model. Our results show that incorporating the available a-priori knowledge in the compiler provides significant improvements to both footprint and runtime, and can additionally help the system integrator to identify consistency problems between the code and a higher-level system specification at an early development stage.

KW - embedded systems

KW - Java

KW - KESO

UR - http://www.scopus.com/inward/record.url?scp=80755167804&partnerID=8YFLogxK

U2 - 10.1145/2043910.2043927

DO - 10.1145/2043910.2043927

M3 - Conference contribution

AN - SCOPUS:80755167804

SN - 9781450307314

SP - 96

EP - 105

BT - JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems

Y2 - 26 September 2011 through 28 September 2011

ER -