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 Simulations of Embedded Control Systems

Gonzalo Farías, Anton Cervin, Karl-Erik Årzén et al. · Sensors · 2010

This paper introduces a new Open Source Java library suited for the simulation of embedded control systems. The library is based on the ideas and architecture of TrueTime, a toolbox of Matlab devoted to this topic, and allows Java programmers to simulate the performance of control processes which run in a real time environment. Such simulations can improve considerably the learning and design of multitasking real-time systems. The choice of Java increases considerably the usability of our library, because many educators program already in this language. But also because the library can be easily used by Easy Java Simulations (EJS), a popular modeling and authoring tool that is increasingly used in the field of Control Education. EJS allows instructors, students, and researchers with less programming capabilities to create advanced interactive simulations in Java. The paper describes the ideas, implementation, and sample use of the new library both for pure Java programmers and for EJS users. The JTT library and some examples are online available on http://lab.dia.uned.es/jtt.

Cited by 7Open access

Safety‐critical Java for embedded systems

Martin Schoeberl, Andreas Engelbredt Dalsgaard, René Rydhof Hansen et al. · Concurrency and Computation Practice and Experience · 2016

Summary This paper presents the motivation for and outcomes of an engineering research project on certifiable Java for embedded systems. The project supports the upcoming standard for safety‐critical Java, which defines a subset of Java and libraries aiming for development of high criticality systems. The outcome of this project include prototype safety‐critical Java implementations, a time‐predictable Java processor, analysis tools for memory safety, and example applications to explore the usability of safety‐critical Java for this application area. The text summarizes developments and key contributions and concludes with the lessons learned. Copyright © 2016 John Wiley & Sons, Ltd.

Cited by 9

Java Flowpaths: Efficiently Generating Circuits for Embedded Systems from Java

Darrin Hanna A, Michael Duchene A, Girma Tewolde B et al. · 2008

The performance of software executed on a microprocessor is adversely affected by the basic fetchexecute cycle. A further performance penalty results from the load-execute-store paradigm associated with the use of local variables in most high-level languages. This paper describes creating Java flowpaths, a general method of generating hardware directly from Java bytecodes that support basic operations, class instantiation, events, and multi-threaded applications. Performance increases occur because flowpaths created from Java programs require zero clock cycles for load, stack manipulation, and class instantiation operations. In addition, multithreaded flowpaths do not suffer from traditional processor bottlenecks such as context switching, stack manipulation and the traditional load, execute and store operation. Results show that these improvements yield several orders of magnitude improvement in terms of speed for both sequential and multithreaded programs.

Cited by 0

Vernetzte Embedded Systems und Visualisierung mit Java

Becker, Rainer · Bauhaus-Universität Weimar · 2003

In modernen Gebäuden nimmt die Komplexität der Heizungstechnik ständig zu. Damit wird es auch immer schwieriger, ein ökologisch und ökonomisch vernünftiges Zusammenspiel der Komponenten zu gewährleisten. Die Vernetzung der verschiedenen Komponenten eines Heizsystems mittels Netzwerktechnik aus der EDV soll helfen, die Energieeffizienz zu erhöhen. Embedded Systems und Mikrocontroller fungieren als Regler für die Teilsysteme. Durch Kommunikation untereinander sollen sie ihr Regelverhalten aneinander anpassen. Eine Internetanbindung ermöglicht die Nutzung weiterer Informationen für die Betriebsführung. Außerdem kann der Internetanschluss für die Fernwartung der Anlage genutzt werden. Mit kleinen, im Webbrowser eines Rechners ausgeführten Java-Programmen, sogenannten Applets, können die Betriebszustände von Heizsystemen in Echtzeit visualisiert werden. Durch das Aufzeichnen von Betriebsdaten wird deren Analyse ermöglicht.

Cited by 0Open access

Embedded Java – too fat and too slow?

Michael Dinkel · 2004

In software developer communities it is one of the most often discussed questions: “Is Java really to fat and too slow?”. For embedded devices this discussion is usually held very lively but largely without objective arguments. In this article we will first have a little look at the main reasons for using Embedded Java. After a brief introduction to the J2ME we present the “Embedded Java Assessment Suite” EJAS which was developed at 3SOFT GmbH in Erlangen. The results of some of the benchmarks may be quite astonishing when we have a look at a Java vs. C comparison of the Quicksort algorithm. After a glimpse at the structure of a JVM, its footprint and startup time, we conclude with the presentation of some coding and design guidelines for Embedded Java.

Cited by 0

Translating Java for resource constrained embedded systems

Gary Plumbridge, Neil Audsley · 2012

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.

Cited by 2

De Java security architectuur op embedded systemen

Chris Vanden Berghe · 2001

Allereerst bedank ik mijn promotor, Prof. Dr. ir. Frank Piessens, voor zijn bereidheid om deze thesis te begeleiden. Ik apprecieer zowel de steun, als de kritische bedenkingen die hij mij bezorgde. Mijn begeleider bij Acunia, ir. Vincent Nollet, wil ik in de eerste plaats bedanken voor het boeiende onderwerp waarmee hij mij in contact heeft gebracht. Tevens ben ik hem dankbaar voor de talrijke interessante gesprekken, en zijn feedback op de code. Gregor wens ik te bedanken voor de vele uren die hij gespendeerd heeft aan het nalezen van deze tekst. Ik kan me geen betere vriend voorstellen. Tenslotte zijn er nog mijn ouders, die ik dankbaar ben omdat ze me steunen door dik en dun, en omdat ze me de kans hebben gegeven om te studeren.

Cited by 0

Signal processing applications for embedded Java systems

R.C. Krapf, Júlio C. B. Mattos, G. Spellmeier et al. · 2003

Digital signal processing is a ubiquitous application in the era of system-on-chip. However, because of its stream-like behavior, specialized processors and compilers are required. This paper presents a set of architecture and compiler optimizations allowing the use of a single language (Java, in this case) for the specification of complex system-on-chips with signal processing characteristics. Experimental results show that with a small area overhead, one can reach from 23% to 45% performance improvement in a FemtoJava microcontroller with few modifications.

Cited by 0

Energy Savings Through Compression in Embedded Java

Environments Chen Kandemir, G. Chen, 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 0

PennBench: a benchmark suite for embedded Java

Chen, Kandemir, Vijaykrishnan et al. · 2002

Currently, there are 23 million Java-enabled handsets with more than 50 different models from 17-plus suppliers. With the growing popularity of such devices, there is a need in the embedded industry for a set of applications for accurate indications of the performance of embedded Java solutions. To address this problem, we gather a set of 12 Java applications running on PDA and cell phone like devices. We present a machine-independent characterization of the applications, specifically focusing on their memory characteristics. Our focus is motivated by the criticality of memory size constraints and heap footprints on both performance and power budgets.

Cited by 25

PennBench: A Benchmark Suite for Embedded Java

G. Chen, M. Kandemir, N. Vijaykrishnan et al. · 2005

Currently, there are 23 million Java-enabled handsets with more than 50 different models from 17-plus suppliers. With the growing popularity of such devices, there is a need in the embedded industry for a set of applications for accurate indications of the performance of embedded Java solutions. Towards addressing this problem, we gather a set of 12 Java applications running on PDA and cell phone like devices. We present a machine-independent characterization of the applications, specifically focusing on their memory characteristics. Our focus is motivated by the criticality of memory size constraints and heap footprints on both performance and power budgets.

Cited by 0

On the representativeness of embedded Java benchmarks

Ciji Isen, Lizy K. John, Jung Pil Choi et al. · 2008

Java has become one of the predominant languages for embedded and mobile platforms due to its architecturally neutral design, portability, and security. But Java execution in the embedded world encompasses Java Virtual Machines (JVMs) specially tuned for the embedded world, with stripped-down capabilities, and configurations for memory-limited environments. While there have been some studies on desktop and server Java, there have been very few studies on embedded Java. The non proliferation of embedded Java benchmarks and the lack of widespread profiling tools and simulators have only exacerbated the problem. While the industry uses some benchmarks such as MorphMark, MIDPMark, and EEMBC Java Grinder Bench, their representativeness in comparison to actual embedded Java applications has not been studied. In order to conduct such a study, we gathered an actual mobile phone application suite and characterized it in detail. We measure several properties of the various applications and benchmarks, perform similarity/dissimilarity analysis and shed light on the representativeness of current industry standard embedded benchmarks against actual mobile Java applications. It was observed that for many characteristics, the applications had a broader range, indicating that the benchmarks were under representing the range of characteristics in the real world. Furthermore, we find that the applications exhibit less code reuse/hotness compared to the benchmarks. We also draw comparisons of the embedded benchmarks against popular desktop/client Java benchmarks, such as the SPECjvm98 and DaCapo. Interestingly, embedded applications spend a significant amount of time in standard library code, on average 65%, suggesting to the usefulness of software and hardware techniques to facilitate pre-compilation with out the real time resource overhead of JIT.

Cited by 13

Java virtual machines behavior on embedded systems

Karim Ammous, Nasser Benameur, Smaïl Niar · 2007

The knowledge of Virtual Machines behavior is very important to improve the performance of a given embedded application. This paper aims to reveal the behavior of Java Virtual Machines while executing embedded applications. The behavior concerns specially execution time and memory consumption. These performances were recorded through five VMs on a PDA configuration with a set of Java benchmarks included in the Embedded CaffeineMark Benchmark. Experimental results prove that every JVM acts differently according to the application type. Thus, developers, who draw conclusions from Java application studies, should be careful and take account of performance distortion caused by the target JVM.

Cited by 1

Virtualizing Real-time Embedded Systems with Java

2013

Real-time embedded systems come in all shapes and sizes with vastly different capabilities. They often operate under stringent resource constraints, ranging from space and time to power. Programming them is usually done in low-level system’s programming languages close to the hardware. The resulting software is costly and not particularly portable. The Java programming language has been successful in providing a virtualized, high-level, development environment for desktop and server applications. Programming in Java leads to memory-safe code that can be ported straightforwardly across architecture and operating system. This paper surveys the state of the art in Java virtualization for real-time and embedded systems. Technological advances in virtual machines as well as new real-time extensions to the language have brought Java closer to being widely usable for a wide range of embedded problems. 1.

Cited by 0