Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 2,359 papers for “Embedded Java”

Java-through-C Compilation: An Enabling Technology for Java in Embedded Systems

Ankush Varma, Shuvra S. Bhattacharyya · 2004

The Java programming language is acheiving greater acceptance in high-end embedded systems such as cellphones and PDAs. However, current embedded implementations of Java impose tight constraints on functionality, while requiring significant storage space. In addition, they require that a JVM be ported to each such platform. We demonstrate the first Java-to-C compilation strategy that is suitable for a wide range of embedded systems, thereby enabling broad use of Java on embedded platforms. This strategy removes many of the constraints on functionality and reduces code size without sacrificing performance. The compilation framework described is easily retargetable, and is also applicable to barebones embedded systems with no operating system or JVM. On an average, we found the size of the generated executables to be over 25 times smaller than those generated by a cuttingedge Java-to-native-code compiler, while providing performance comparable to the best of various Java implementation strategies. 1.

Cited by 1

Energy savings through compression in embedded Java environments

Guojun Chen, M. Kandemir, N. Vijaykrishnan et al. · 2003

Limited energy and memory resources are important constraints in the design of an embedded system. Compression is an useful and widely employed mechanism to reduce the memory requirements of the system. As the leakage energy of a memory system increases with its size and because of the increasing contribution of leakage to overall system energy, compression also has a significant effect on reducing energy consumption. However, storing compressed data/instructions has a performance and energy overhead associated with decompression at runtime. The underlying compression algorithm, the corresponding implementation of the decompression and the ability to reuse decompressed information critically impact this overhead.In this paper, we explore the influence of compression on overall memory energy using a commercial embedded Java virtual machine (JVM) and a customized compression algorithm. Our results show that compression is effective in reducing energy even when considering the runtime decompression overheads for most applications.

Cited by 4

Energy savings through compression in embedded Java environments

Gong Chen, Mahmut Kandemir, N. Vijaykrishnan et al. · 2002

Limited energy and memory resources are important constraints in the design of an embedded system. Compression is an useful and widely employed mechanism to reduce the memory requirements of the system. As the leakage energy of a memory system increases with its size and because of the increasing contribution of leakage to overall system energy, compression also has a significant effect on reducing energy consumption. However, storing compressed data/instructions has a performance and energy overhead associated with decompression at runtime. The underlying compression algorithm, the corresponding implementation of the decompression and the ability to reuse decompressed information critically impact this overhead.In this paper, we explore the influence of compression on overall memory energy using a commercial embedded Java virtual machine (JVM) and a customized compression algorithm. Our results show that compression is effective in reducing energy even when considering the runtime decompression overheads for most applications.

Cited by 20

Implementation of an improved embedded SQL for Java

L. Bradley

The Java Development Environment defines SQLJ as a standard way of embedding the relational database language SQL in the object-oriented programming language Java. Oracle Corporation provides an extension of SQLJ that supports dynamic SQL constructs for the processing of SQL commands that are not completely known at compile time. Unfortunately, these constructs are not sufficient to handle all dynamic situations, so that the programmer has to depend on other SQL embeddings, such as JDBC, in addition to Oracle’s SQLJ. In this thesis we implement several extensions to Oracle’s SQLJ so that all dynamic situations can be programmed in SQLJ, without resorting to other SQL embeddings. We also add a sub-query based for loop facility, similar to the one provided in Oracle’s database programming language PL/SQL, as an improvement over the iterator constructs that SQLJ provides. This thesis discusses the design, development and implementation of these SQLJ extensions, and provides applications that show the utility of these extensions in terms of clarity and power.

Cited by 0

Using Statistical Models for Embedded Java Performance Analysis

P. Sreenivasa Rao, Kazuaki Murakami, 和彰 村上 · Kyushu University Institutional Repository (QIR) (Kyushu University) · 2008

Abstract—This paper proposes and evaluates rigorous statistical regression techniques for Java performance analysis on a high-end embedded processor (MPC7447A). Our models relate overall Java system performance to various microarchitecture metrics and their interactions. We show that the models we develop in this paper are easy to construct, are interpretable and have high prediction accuracies. I.

Cited by 0Open access

uJVM: Lightweight Java Virtual Machine for embedded systems

Moliavko Oleksandr, Drozdovskyi Taras, Petrychenko Vitalii et al. · Zenodo (CERN European Organization for Nuclear Research) · 2019

Paper describes an uJVM - an implementation of JVM specially designed for embedded systems, with minimal memory footprint and performance requirements. Overall structure of uJVM, potential applications and future development plans are described.

Cited by 0Open access

Tracing Static Fields of Embedded Parallel Java Applications

Sascha Uhrig · 2011

Debugging sequential application code is supported by almost any development environment. But newly upcoming parallel systems rise even harder challenges to application debugging. This is because interrupting or stepping through one of the parallel threads means influencing the concurrent threads. As a result, the system behaves completely different in debug mode as in release mode. This paper presents an approach to identify problems arising from a parallel workload of embedded Java systems. The presented technique is implemented within an embedded Java environment using a multithreaded Java processor.

Cited by 1

Tuning garbage collection in an embedded Java environment

Gong Chen, R. Shetty, Mahmut Kandemir et al. · 2004

Traditionally, the Java virtual machine (JVM), the cornerstone of Java technology, is tuned for performance, taking into account that the energy consumption requires re-evaluation, and possibly re-design of the virtual machine. This motivates us to tune specific components of the virtual machine for a battery-operated architecture. As embedded JVMs are designed to run for long periods of time on limited-memory embedded systems, creating and managing Java objects is of critical importance. The garbage collector (GC) is an important part of the JVM responsible for the automatic reclamation of unused memory. This paper shows that the GC is not only important for limited-memory systems but also for energy-constrained architectures. In particular, we present a GC-controlled leakage energy optimization technique that shuts off memory banks that do not hold live data. A variety of parameters, such as bank size, the garbage collection frequency, object allocation style, compaction style, and compaction frequency are tuned for energy saving.

Cited by 48

Java Environment for a JUMPtec WebtoNet Embedded System

Valter F. Silva, José A. Fonseca, José L. Oliveira · 2008

Abstract. Current automation applications are often based in embedded systems with limited resources. However, even with these constraints, they often require Internet connectivity and fast programming processes. This paper presents a demonstrator based on a Jumptec system built to show the possibility of using Java as the programming language for small embedded systems. The steps to integrate the Java virtual machine in the system are described and the simplicity of developing programs for the target system is shown. Also, a small application example with real world I/O is briefly presented. 1

Cited by 0

Java Code Analyser for Estimating Embedded Software Efficiency

Rafael H. M. Pereira, Stephano Goncalves, Lisane Brisolara et al. · 2011

Nowadays, the amount of software in embedded systems is increasing, mainly due its growing complexity and tight time-to-market constraints. Thus, tools to support the embedded software development process are indispensable, including tools able to offer some estimates of very important non functional requirements like performance and power. This paper presents a tool, which analyses byte codes generated from embedded Java applications and produces several statistics and allows estimate properties such as performance and energy consumption. To demonstrate the analysis supported by the tool, a set of experiments was performed using applications commonly found in embedded systems.

Cited by 1

Study of Embedded Software Education Using Java Program

鶴沢, 偉伸, 86395, Tsurusawa, Hidenobu et al. · Kagoshima University Repository · 2009

これまで組込みソフトウェアは主にC言語により開発されて来たが、製品の開発期間の短縮と高機能化でますます技術者不足が著しくなった。最近はJava言語をそのまま実行できるボードコンピュータが開発されており、Java言語で組込みソフトウェアを開発することが可能になった。そこでJava言語による組込みソフトウェア開発の技術者教育を行うことで、今後の技術者不足を緩和することができる。本研究ではボードコンピュータを使ったJava言語による組込みソフトウェアを開発するために必要な技術を検証し、技術者を育成するための教育内容について提案する。

Cited by 0Open access

Exploring Coprocessor Interfaces in an Embedded Java Environment

LATTANZI, EMANUELE, ACQUAVIVA A, BOGLIOLO, ALESSANDRO et al. · CINECA IRIS Institutional Research information system (University of Urbino) · 2003

Communication and synchronization between master controller and coprocessors are critical issues in the design of parallel system-on-chip architectures, especially when applications are developed in a high-level programming language and run on a virtual run-time environment (such as a Java Virtual Machine). In this paper we propose a design space exploration environment based on a general HW-SW architectural template and a full-system cycle-accurate simulation tool, built on top of Simics. Our flow takes accurately into account the overheads caused by operating system, virtual environment, drivers, synchronization mechanisms and non-ideal memory system.\nIn a top-down co-design flow, the proposed approach bridges the abstraction gap between HW-SW partitioning and HW synthesis. In particular it provides: i) a realistic evaluation of the effectiveness of a tentative partitioning, ii) guidelines for designing the HW-SW interface, iii) performance constraints for the synthesis of the HW components.

Cited by 0

uJVM: Lightweight Java Virtual Machine for embedded systems

Oleksandr, Moliavko, Taras, Drozdovskyi, Vitalii, Petrychenko et al. · Zenodo (CERN European Organization for Nuclear Research) · 2019

uJVM is a lightweight JVM implementation specially designed to be used on embedded devices with severe RAM and processing power limitations.

Cited by 0Open access

A Java Processor IP Design for Embedded SoC

Chun-Jen Tsai, Han-Wen Kuo, Zigang Lin et al. · ACM Transactions on Embedded Computing Systems · 2015

In this article, we present a reusable Java processor IP for application processors of embedded systems. For the Java microarchitecture, we propose a low-cost stack memory design that supports a two-fold instruction folding pipeline and a low-complexity Java exception handling hardware. We also propose a mapping between the Java dynamic class loading model and the SoC platform-based design principle so that the Java core can be encapsulated as a reusable IP. To achieve this goal, a two-level method area with two on-chip circular buffers is proposed as an interface between the RISC core and the Java core. The proposed architecture is implemented on a Xilinx Virtex-5 FPGA device. Experimental results show that its performance has some advantages over other Java processors and a Java VM with JIT acceleration on a PowerPC platform.

Cited by 6

ejIP: A TCP/IP Stack for Embedded Java

Martin Schoeberl, Real-time Systems · 2012

To enable Java on resource constraint embedded devices, the whole system should be implemented in a single programming language to avoid overheads on language boundaries. However, most of the functionality that is dedicated to the operating system layer is usually written in C. In this paper we present the design and implementation of a network stack written entirely in Java. This implementation serves as an example how to implement system functions in a safe language and gives evidence that Java can be used for operating system related functionality. The described TCP/IP stack ejIP has already been successfully used in industrial projects on pure Java embedded systems.

Cited by 0

Restrictions of Java for embedded real-time systems

Martin Schoeberl · 2004

Java, with its pragmatic approach to object orientation and enhancements over C, got very popular for desktop and server application development. The productivity increment of up to 40% compared with C++ [E. Quinn et al., (1998)] attracts also embedded systems programmers. However, standard Java is not practical on these usually small devices. This paper presents the status of restricted Java environments for embedded and real-time systems. For missing definitions, additional profiles are proposed. Results of the implementation on a Java processor show that it is possible to develop applications in pure Java on resource constraint devices

Cited by 21