Translating Java for resource constrained embedded systems

This paper discusses a strategy for translating the Java programming language to a form that is suitable for execution on resource limited embedded systems such as softcore processors in FPGAs, Network-on-Chip nodes and microcontrollers. The translation strategy prioritises the minimisation of runti...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Plumbridge, G., Audsley, N.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 8
container_issue
container_start_page 1
container_title
container_volume
creator Plumbridge, G.
Audsley, N.
description This paper discusses a strategy for translating the Java programming language to a form that is suitable for execution on resource limited embedded systems such as softcore processors in FPGAs, Network-on-Chip nodes and microcontrollers. The translation strategy prioritises the minimisation of runtime memory usage, generated code size, and suitability for a wide range of small architectures over other desirable goals such as execution speed and strict adherence to the Java standard. The translation procedure, or Concrete Hardware Implementation of a software application first converts the application's compiled Java class files to a self-contained intermediate representation conducive to optimisation and refactoring. The intermediate format is then serialised into a programming language compilable to the target architecture. This paper presents techniques for analysing whole Java applications, translating Java methods and building a stand-alone translated application with the same functional behaviour as the original Java. An example C-code generator is described and evaluated against similar previous approaches. An existing benchmark application, JavaBenchEmbedded, is demonstrated to require less than 30KiB of program code and 16KiB of runtime heap memory when executing on a Xilinx MicroBlaze Processor.
doi_str_mv 10.1109/ReCoSoC.2012.6322868
format Conference Proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_6322868</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>6322868</ieee_id><sourcerecordid>6322868</sourcerecordid><originalsourceid>FETCH-LOGICAL-i175t-d9100fd7d19fbd44c003d350b5d63bf1fd47367429f9e48b936249f61eef2a13</originalsourceid><addsrcrecordid>eNpVj8tKxDAYhSMiKGOfQBd5gdb8SZqLOyleGRgYux-S5o9Upo0kVZi3d8DZeDbnO5sPDiG3wBoAZu-22KX31DWcAW-U4Nwoc0Yqqw1IpQVvNcjzf5vpS1KV8smOMVwYqa7IfZ_dXPZuGecP-uZ-HI0p04wlfecB6ZDmsmQ3zhgoTh5DOEI5lAWnck0uotsXrE69Iv3TY9-91OvN82v3sK5H0O1SBwuMxaAD2OiDlANjIoiW-TYo4SPEILVQWnIbLUrjrVBc2qgAMXIHYkVu_rQjIu6-8ji5fNidDotfvgZKOQ</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Translating Java for resource constrained embedded systems</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Plumbridge, G. ; Audsley, N.</creator><creatorcontrib>Plumbridge, G. ; Audsley, N.</creatorcontrib><description>This paper discusses a strategy for translating the Java programming language to a form that is suitable for execution on resource limited embedded systems such as softcore processors in FPGAs, Network-on-Chip nodes and microcontrollers. The translation strategy prioritises the minimisation of runtime memory usage, generated code size, and suitability for a wide range of small architectures over other desirable goals such as execution speed and strict adherence to the Java standard. The translation procedure, or Concrete Hardware Implementation of a software application first converts the application's compiled Java class files to a self-contained intermediate representation conducive to optimisation and refactoring. The intermediate format is then serialised into a programming language compilable to the target architecture. This paper presents techniques for analysing whole Java applications, translating Java methods and building a stand-alone translated application with the same functional behaviour as the original Java. An example C-code generator is described and evaluated against similar previous approaches. An existing benchmark application, JavaBenchEmbedded, is demonstrated to require less than 30KiB of program code and 16KiB of runtime heap memory when executing on a Xilinx MicroBlaze Processor.</description><identifier>ISBN: 9781467325707</identifier><identifier>ISBN: 1467325708</identifier><identifier>EISBN: 9781467325714</identifier><identifier>EISBN: 1467325724</identifier><identifier>EISBN: 9781467325721</identifier><identifier>EISBN: 1467325716</identifier><identifier>DOI: 10.1109/ReCoSoC.2012.6322868</identifier><language>eng</language><publisher>IEEE</publisher><subject>Buildings ; Embedded systems ; Java ; Libraries ; Program processors ; Runtime</subject><ispartof>7th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC), 2012, p.1-8</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/6322868$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2058,27925,54920</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/6322868$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Plumbridge, G.</creatorcontrib><creatorcontrib>Audsley, N.</creatorcontrib><title>Translating Java for resource constrained embedded systems</title><title>7th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC)</title><addtitle>ReCoSoC</addtitle><description>This paper discusses a strategy for translating the Java programming language to a form that is suitable for execution on resource limited embedded systems such as softcore processors in FPGAs, Network-on-Chip nodes and microcontrollers. The translation strategy prioritises the minimisation of runtime memory usage, generated code size, and suitability for a wide range of small architectures over other desirable goals such as execution speed and strict adherence to the Java standard. The translation procedure, or Concrete Hardware Implementation of a software application first converts the application's compiled Java class files to a self-contained intermediate representation conducive to optimisation and refactoring. The intermediate format is then serialised into a programming language compilable to the target architecture. This paper presents techniques for analysing whole Java applications, translating Java methods and building a stand-alone translated application with the same functional behaviour as the original Java. An example C-code generator is described and evaluated against similar previous approaches. An existing benchmark application, JavaBenchEmbedded, is demonstrated to require less than 30KiB of program code and 16KiB of runtime heap memory when executing on a Xilinx MicroBlaze Processor.</description><subject>Buildings</subject><subject>Embedded systems</subject><subject>Java</subject><subject>Libraries</subject><subject>Program processors</subject><subject>Runtime</subject><isbn>9781467325707</isbn><isbn>1467325708</isbn><isbn>9781467325714</isbn><isbn>1467325724</isbn><isbn>9781467325721</isbn><isbn>1467325716</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2012</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNpVj8tKxDAYhSMiKGOfQBd5gdb8SZqLOyleGRgYux-S5o9Upo0kVZi3d8DZeDbnO5sPDiG3wBoAZu-22KX31DWcAW-U4Nwoc0Yqqw1IpQVvNcjzf5vpS1KV8smOMVwYqa7IfZ_dXPZuGecP-uZ-HI0p04wlfecB6ZDmsmQ3zhgoTh5DOEI5lAWnck0uotsXrE69Iv3TY9-91OvN82v3sK5H0O1SBwuMxaAD2OiDlANjIoiW-TYo4SPEILVQWnIbLUrjrVBc2qgAMXIHYkVu_rQjIu6-8ji5fNidDotfvgZKOQ</recordid><startdate>201207</startdate><enddate>201207</enddate><creator>Plumbridge, G.</creator><creator>Audsley, N.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>201207</creationdate><title>Translating Java for resource constrained embedded systems</title><author>Plumbridge, G. ; Audsley, N.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i175t-d9100fd7d19fbd44c003d350b5d63bf1fd47367429f9e48b936249f61eef2a13</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2012</creationdate><topic>Buildings</topic><topic>Embedded systems</topic><topic>Java</topic><topic>Libraries</topic><topic>Program processors</topic><topic>Runtime</topic><toplevel>online_resources</toplevel><creatorcontrib>Plumbridge, G.</creatorcontrib><creatorcontrib>Audsley, N.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Plumbridge, G.</au><au>Audsley, N.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Translating Java for resource constrained embedded systems</atitle><btitle>7th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC)</btitle><stitle>ReCoSoC</stitle><date>2012-07</date><risdate>2012</risdate><spage>1</spage><epage>8</epage><pages>1-8</pages><isbn>9781467325707</isbn><isbn>1467325708</isbn><eisbn>9781467325714</eisbn><eisbn>1467325724</eisbn><eisbn>9781467325721</eisbn><eisbn>1467325716</eisbn><abstract>This paper discusses a strategy for translating the Java programming language to a form that is suitable for execution on resource limited embedded systems such as softcore processors in FPGAs, Network-on-Chip nodes and microcontrollers. The translation strategy prioritises the minimisation of runtime memory usage, generated code size, and suitability for a wide range of small architectures over other desirable goals such as execution speed and strict adherence to the Java standard. The translation procedure, or Concrete Hardware Implementation of a software application first converts the application's compiled Java class files to a self-contained intermediate representation conducive to optimisation and refactoring. The intermediate format is then serialised into a programming language compilable to the target architecture. This paper presents techniques for analysing whole Java applications, translating Java methods and building a stand-alone translated application with the same functional behaviour as the original Java. An example C-code generator is described and evaluated against similar previous approaches. An existing benchmark application, JavaBenchEmbedded, is demonstrated to require less than 30KiB of program code and 16KiB of runtime heap memory when executing on a Xilinx MicroBlaze Processor.</abstract><pub>IEEE</pub><doi>10.1109/ReCoSoC.2012.6322868</doi><tpages>8</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISBN: 9781467325707
ispartof 7th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC), 2012, p.1-8
issn
language eng
recordid cdi_ieee_primary_6322868
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Buildings
Embedded systems
Java
Libraries
Program processors
Runtime
title Translating Java for resource constrained embedded systems
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-06T22%3A48%3A20IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Translating%20Java%20for%20resource%20constrained%20embedded%20systems&rft.btitle=7th%20International%20Workshop%20on%20Reconfigurable%20and%20Communication-Centric%20Systems-on-Chip%20(ReCoSoC)&rft.au=Plumbridge,%20G.&rft.date=2012-07&rft.spage=1&rft.epage=8&rft.pages=1-8&rft.isbn=9781467325707&rft.isbn_list=1467325708&rft_id=info:doi/10.1109/ReCoSoC.2012.6322868&rft_dat=%3Cieee_6IE%3E6322868%3C/ieee_6IE%3E%3Curl%3E%3C/url%3E&rft.eisbn=9781467325714&rft.eisbn_list=1467325724&rft.eisbn_list=9781467325721&rft.eisbn_list=1467325716&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=6322868&rfr_iscdi=true