Echtzeitentwicklung mit Java, Teil 3 Realtime Java und die Wahl der Virtual Machine
Anbieter zum Thema
Die Wahl einer geeigneten Virtual Machine für Realtime Java ist nicht einfach. Doch welche Punkte müssen bei der Wahl der richtigen Virtual Machine beachtet werden?

Realtime Java oder kurz RTJ ist mit all seinen Vorteilen gerade für Entwickler von Software für Embedded-Systeme als Alternative zu C/C++ interessant geworden. Ein wichtiger Aspekt bei der Arbeit mit Realtime Java ist die Wahl der „Virtual Machine“. Egal ob kommerziell oder Open Source, kompakt oder umfangreich, der Markt bietet bereits eine große Auswahl.
Ein Grundsatz von Java ist die Portabilität der entwickelten Software. Der Entwickler einer Applikation soll sich keine Gedanken um Hardware und Betriebssysteme machen müssen, sein Programm soll auf jedem System laufen.
Applikationen für Windows, Linux und MacOS
Damit das gelingt, wurde die „Java Virtual Machine“ (VM) definiert. Sie abstrahiert die Hardware und stellt das Interface einer oder mehrerer Java Edition(en) zur Verfügung. So gibt es zum Beispiel die Standard VM von Sun, die das Interface der „Java Standard Edition“ (J2SE) für die x86-Architektur implementiert hat, für unterschiedliche Betriebssysteme. Das sind im einzelnen Windows, Linux und MacOS.
Demnach kann ein Software-Entwickler seine Applikation auf jedem dieser Betriebssysteme entwickeln und sie wird ohne Mehraufwand auf allen anderen genannten Systemen laufen.
Der gerade genannte Vorteil soll für Embedded-Systeme genutzt werden. Dieser Gesichtspunkt ist allerdings nicht so leicht umzusetzen wie im Desktopbereich. Der Markt der Mikrocontroller bietet massenweise unterschiedliche Architekturen und (Echtzeit-)Betriebssysteme.
Die Kombination aus beiden bietet eine Artenvielfalt, die so manchen Biologen erblassen lässt. Demnach ist es für den Hersteller einer „Realtime Java VM“ unmöglich, den kompletten Markt abzudecken. Und damit ist die erste Frage, die gestellt werden muss:
Auf die Architektur und das Betriebssystem kommt es an
Bei der Wahl des Betriebssystems ist zu beachten, dass Realtime Java ein hart echtzeitfähiges Betriebssystem (RTOS) benötigt. Manche VMs setzen auch auf einen eigenen RTOS-Kernel und brauchen demnach kein darunterliegendes Betriebssystem.
Nach Festlegung dieser Entscheidung muss die anvisierte „Realtime Java VM“ auf die Unterstützung der gewählten Architektur und der Betriebssystem-Kombination geprüft werden. Wenn die gewünschte Kombination nicht unterstützt wird, kann eine Anfrage auf Portierung der „Realtime Java VM“ beim jeweiligen Hersteller auch noch zum Erfolg führen. Dies ist allerdings abhängig vom jeweiligen Hersteller, von der Projektgröße, der Zukunftstauglichkeit der Kombination und/oder der Zahlungswilligkeit.
Kommerzielle oder eine Open Source Virtual Machine?
Ein weiterer wichtiger Gesichtspunkt ist die Frage, ob eine kommerzielle oder eine Open Source "Realtime Java VM" genutzt werden soll. Beide Varianten haben ihre Vor- und Nachteile. Eine Open Source „Realtime Java VM“ ist kostenlos und hat auf Grund des Open-Source-Gedankens wenige Bugs, die nach Bekanntgabe meist schnell ausgebessert werden. Nachteilig wirkt sich dabei aus, dass eine Portierung auf eine noch nicht unterstützte Architektur/RTOS-Kombination nicht einfach in Auftrag gegeben werden kann.
Hier sind die Freundlichkeit der Entwickler des Projektteams sowie das Interesse an dieser Portierung von Bedeutung. Ein zweiter Nachteil ist der Support. Bei einem Open-Source-Projekt ist kein Support über Jahre gewährleistet. Projekte können zum Beispiel aus Zeit- oder Geldmangel des Entwicklerteams ohne Vorankündigung eingestellt werden. Eine kommerzielle „Realtime Java VM“ kostet Geld, bietet aber häufig eine flotte Portierung und jahrelangen Support.
Auf der nächsten Seite lesen Sie: Vergleich von kommerziellen und quelloffenen Virtual Machines
Artikelfiles und Artikellinks
(ID:29885310)