Javolution is a real-time library aiming to make Java 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 systems. The open source Javolution library addresses these concernsFully Time Deterministic Java for the Java platform and native applications. It provides numerous high-performance classes and utilities useful to non real-time applications as well. Such as:
Collectionsjavolution.util classes, supporting custom views,Collection Views closure-based iterations, map-reduce paradigm, parallel computing, etc. Worst-case execution time behavior documented using RealtimeRealtime Annotation Java annotations Fractal structuresFractal Table to maintain high-performance regardless of the size of the data OSGi contextsOSGi Contexts allowing cross cutting concerns (concurrency, logging, security, ...) to be addressed at run-time through OSGi published services without polluting the application code (separation of concerns) Algorithmic parallel computing support with concurrent contextsConcurrent Contexts and general-purpose computing on graphics processing units with compute context Struct/UnionStruct/Union base classes for direct interfacing with native applications PerfometerPerfometer Utility utility class to measure worst-case execution time with high precision XML Marshalling/unmarshalling facilityXML Marshalling/unmarshalling Facility capable of direct serialization/deserialization of existing classes (no intermediate data structure required) StAX-like XML reader/writerStAX-Like Readers/Writers which does not require object creation (such as String) and consequently faster than standard StAX Simple yet powerful configuration managementJavolution Configuration Management for your application.
Since version 6.0, Javolution makes it easy to port any Java source code to C++ for cross-platform native compilation. OSGi and JUnit have been ported and are included with the core C++ distribution.
All modules (Java and native) are built using maven. Javolution can be usedJavolution Usage Overview 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