HOME

TheInfoList



OR:

Javolution is a real-time library aiming to make
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
or Java-Like/C++ applications faster and more time predictable. Indeed, time-predictability can easily be ruined by the use of the standard library (lazy initialization, array resizing, etc.) which is not acceptable for
safety-critical A safety-critical system (SCS) or life-critical system is a system whose failure or malfunction may result in one (or more) of the following outcomes: * death or serious injury to people * loss or severe damage to equipment/property * environme ...
systems. The open source Javolution library addresses these concerns for the
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
platform and native applications. It provides numerous high-performance classes and utilities useful to non real-time applications as well. Such as: * Collections classes, supporting custom views, closure-based iterations, map-reduce paradigm, parallel computing, etc. *
Worst-case execution time The worst-case execution time (WCET) of a computational task is the maximum length of time the task could take to execute on a specific hardware platform. What it is used for Worst case execution time is typically used in reliable real-time sy ...
behavior documented using Realtime Java annotations * Fractal structures to maintain high-performance regardless of the size of the data *
OSGi OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization for ...
contexts allowing cross cutting concerns (concurrency, logging, security, ...) to be addressed at run-time through
OSGi OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization for ...
published services without polluting the application code (
separation of concerns In computer science, separation of concerns is a design principle for separating a computer program into distinct sections. Each section addresses a separate '' concern'', a set of information that affects the code of a computer program. A concern ...
) * Algorithmic parallel computing support with concurrent contexts and
general-purpose computing on graphics processing units General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
with compute context * Struct/Union base classes for direct interfacing with native applications * Perfometer utility class to measure
worst-case execution time The worst-case execution time (WCET) of a computational task is the maximum length of time the task could take to execute on a specific hardware platform. What it is used for Worst case execution time is typically used in reliable real-time sy ...
with high precision *
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
Marshalling/unmarshalling facility capable of direct serialization/deserialization of existing classes (no intermediate data structure required) * StAX-like XML reader/writer which does not require object creation (such as String) and consequently faster than standard StAX * Simple yet powerful configuration management for your application. Since version 6.0, Javolution makes it easy to port any Java source code to C++ for
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
native compilation.
OSGi OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization for ...
and JUnit have been ported and are included with the core C++ distribution. All modules (Java and native) are built using
maven MAVEN is an American spacecraft orbiting Mars to study the loss of its atmospheric gases to space, providing insight into the history of the planet's climate and water. The spacecraft name is an acronym for "Mars Atmosphere and Volatile Evolu ...
. Javolution can be usedJavolution Usage Overview
/ref> either as an OSGi bundle (preferred) or as a standalone library.


References


External links


Javolution website

Fully Time Deterministic Java
– AIAA Space 2007 Conference
Validating Java for Safety-Critical Applications
– AIAA Space 2005 Conference
Turbo-Charging Java for Real-Time Applications
– Java Developer Journal Article Java APIs