Echtzeitentwicklung mit Java, Teil 3

Realtime Java und die Wahl der Virtual Machine

< zurück

Seite: 2/2

Anbieter zum Thema

Vergleich von kommerziellen und quelloffenen Virtual Machines

Bevor wir auf weitere Unterschiede der VMs eingehen, sollen beispielhaft einige bekanntere VMs sowohl aus dem kommerziellen als auch aus dem Open-Source-Bereich genannt werden. Im Open-Source-Bereich gibt es beispielsweise ovm und Jrate.

Das ovm-Projekt startete als eines der ersten VM-Projekte auf Basis eines Open-Source-Systems mit dem großen Ziel, eine Open Source Realtime Java VM zu entwickeln. Damit das Ziel umgesetzt werden konnte, kooperieren mehrere Universitäten und Firmen. Momentan ist es um dieses Projekt sehr ruhig geworden. Wie oben erwähnt, ist seit dem letzten Update einige Zeit vergangen.

Drei kommerzielle VMs – weiche und harte Echtzeitanwendungen

Das jrate-Projekt hingegen besitzt eine aktive Community, die Updates und neue Portierungen entwickelt. Es wurde auf der Entwicklerplattform Source Forge ins Leben gerufen.

Der kommerzielle Bereich bietet alteingesessene Hersteller sowie Newcomer: Aicas JamaicaVM, Aonix PERC, Is2t MicroEJ und IBM Genuine.

Die zurzeit am häufigsten eingesetzten VMs sind die JamaicaVM, PERC und Genuine. Dabei wird die IBM Genuine VM vor allem für Projekte mit weichen Echtzeitanforderungen verwendet, während die JamaicaVM und die PERC bei harten Echtzeitanforderungen zum Einsatz kommen.

JamaicaVM und PERC unterscheiden sich in mehreren Punkten. Die JamaicaVM ist eine der ältesten Realtime Java VMs am Markt. Sie ist inzwischen sehr weit fortgeschritten und bietet eine breite Fülle an Architektur/RTOS-Kombinationen. Seit Version 6 kommt sie ohne Betriebssystem aus, da sie über einen Realtime Kernel verfügt. Des Weiteren hält sie die RTSJ in allen Punkten ein und unterstützt den Standard „Java Development Kits“ und „Connected Limited Device Configuration“.

Vor- und Nachteile von PERC und JamaicaVM

Bei so viel Fülle dürfen gute Konfigurationsmöglichkeiten nicht fehlen, um auf den kleinsten Systemen den Speicherplatz optimal zu nutzen. Erwähnenswert sind die Entwicklungstools. Die JamaicaVM bietet Entwicklungshilfen, wie einen Analyzer und Profiler. Dieser schätzt den Speicher ab und optimiert diverse Debug-Hilfen wie den Thread Monitor zur Evaluierung des Zeitverhaltens der Applikation. Ein zusätzliches Gimmick wird allen Eclipse-Entwicklern angeboten. Hierbei handelt es sich um ein Plugin für die bekannte IDE, das die Konfiguration und Verwaltung der JamaicaVM erleichtert.

Die PERC ist in vielen Punkten der Gegensatz. Sie ist ebenfalls bereits in vielen Architektur/RTOS-Kombinationen verfügbar. Außerdem existieren mehrere unterschiedliche Ausstattungspakete, wie die PicoPERC und die NanoPERC. Sie hält sich nicht gänzlich an die RTSJ und liefert viele Klassen mit eigener Interpretation. Dafür ist die PERC sehr schmal und gut durch C++ erweiterbar. Im Gegensatz zur JamaicaVM kann die PERC durch Annotationen im Source Code den Speicherverbrauch der Applikation noch in der Implementierungsphase sehr gut abschätzen.

Eines haben alle Realtime Java VM Hersteller gemeinsam. Sie erzeugen am Ende des Build-Vorganges ein Binary, welches auf das Target geladen wird und sowohl die VM als auch die Applikation und dazugelinkten C/C++-Code enthält. Durch die für Java untypische statische Verlinkung wird die Codegröße optimiert und das Zeitverhalten der Applikation vorhersagbar. Dies wäre beim sonst eingesetzten dynamischen Linken nicht ohne Weiteres möglich.

* * Stefan Kuntschar ist Softwareentwickler bei Mixed Mode in München.

Artikelfiles und Artikellinks

(ID:29885310)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung