Made in Germany: JamaicaVM, eine echtzeitfähige Java Virtual Machine

Seite 2: Anwendungsfälle

Inhaltsverzeichnis

Die Basis für die Echtzeit-Java-Laufzeitumgebung JamaicaVM legten die drei Gründer, die auch heute noch das Unternehmen leiten, als Forscher am Karlsruher Forschungszentrum Informatik (FZI) und der Universität Karlsruhe. Dort entwickelten sie einen echtzeitfähigen automatischen Garbage Collector, mit dem sie 2001 den Sprung der Ausgründung wagten -- ohne Venture-Kapital. "Wir haben den Garbage Collector von Anfang an echtzeitfähig entwickelt und unterstützen mittlerweile auch Grafik, denn nur mit Echtzeit ist es nicht getan", sagt Walter.

Damals sahen die drei einen Widerspruch im Embedded-Bereich, den sie ausfüllen konnten: Auf der einen Seite müssen Embedded-Geräte und -Anwendungen wesentlich robustere Anforderungen erfüllen als ein PC, dessen bekannte Macken, Abstürze und dergleichen die Nutzer notgedrungen akzeptieren. In Embedded Systemen gibt es keine Toleranz. "Gleichzeitig sahen wir den ironischen Widerspruch, dass diese viel zuverlässigeren Systeme mit vergleichsweise rückständigen Werkzeugen entwickelt wurden", erinnert sich Walter.

Den Widerspruch, der teilweise heute noch gilt, wollten sie mit der JamaicaVM auflösen. "Dabei gingen wir zunächst sehr technisch vor. Die Vertriebsorientierung kam erst später hinzu." Gerade habe man mit einem Büro in Paris den vierten Standort neben Karlsruhe, den Vereinigten Staaten und Tokio eröffnet. 30 Mitarbeiter sind heute mit der Optimierung der JamaicaVM und anderer Echtzeit-Software beschäftigt. Dabei sehen sie sich auch als Dienstleister, der seine Kunden bei der Integration diverser Hard- und Software-Komponenten unterstützt.

Die Kunden stammen aus den Bereichen Luft- und Raumfahrt, Industrie-Automatisierung und Medizintechnik, zum Beispiel EADS, Boeing, Siemens oder Zeiss. aicas ist für das Luft- und Raumfahrt-Unternehmen EADS an einem Bodenüberwachungsradar beteiligt. Auch in der Boeing 787 (Dreamliner) ist die JaimaicaVM zu finden – allerdings nicht im Bereich der Steuerung. Java regelt die Kommunikation zwischen Flugzeug und Bodenstation. Es geht weniger um Echtzeit, als vielmehr um die Sicherheit des Kommunikationskanals. Zertifiziert ist das System für Level D des branchenüblichen Sicherheitsstandards DO-178B (Software Considerations in Airborne Systems and Equipment Certification). Für ein Vordringen Javas in höhere Stufen wären weitere Zertifizierungen notwendig. Level-A-zertifizierte Komponenten sind für den direkten Flugbetrieb erforderlich.

Für die höchste Stufe A des vierstufigen Standards gibt es laut Walter bislang noch keine Java-Anwendungen, die sind in Ada geschrieben. Allerdings werden Ada-Werkzeuge fast ausschließlich in diesem (relativ kleinen) Markt eingesetzt und sind daher zunehmend veraltet, insbesondere im Verleich mit Java. Auch die Zahl der Ada-Entwickler ist seit Jahren rückläufig. Derzeit überlegt die Standardisierungsorganisation, ob sie die folgende Version DO-178C für die Nutzung von Objektorientierung und automatischer Garbage Collection öffnen will.

Im Auto findet man Java derzeit ebenfalls nicht im Steuerungsbereich, wohl aber im Infotainment. Potenzial sieht Walter im Bereich Fahrerassistenzsysteme, bei der Anzeige und Visualisierung sowie der Einbindung von Sensoren und Kameras.

Im RTSJ unterteilt die Speicherverwaltung die Threads in einen Echtzeit- und in einen Nicht-Echtzeit-Teil. Im Echtzeit-Teil erfolgt keine Speicherbereinigung (Abb. 4).

Für die Zukunft stehen 64-Bit-Erweiterungen und Echtzeit-Java auf Parallel- und Mehrkernsystemen auf der Agenda. Damit beschäftigt sich das europäische Projekt JEOPARD (Java Environment for parallel real-time development), deren technische Leitung aicas übernommen hat. Entstehen soll ein plattformunabhängiges Framework für Echtzeit-Java, das auf Techniken wie der Real-Time Specification for Java (JSR 1 und JSR 282) und Safety-Critical Java (JSR 302) basiert. Die Garbage Collection will man dort so weiter entwickeln, dass sie auf parallelen Systemen laufen kann. "Java erleichtert den Einstieg in Multicore, denn ohnehin laufen dort mehrere Threads. Java macht ja ein bisschen Multi-Threading implizit", so Walter.

Gleichzeitig will man zu laufenden Standardisierungsentwicklungen bezüglich Echtzeit-Java und Mehrkernsystemen beitragen. In dem von der Europäischen Kommission unterstützten Projekt stehen dafür über 3,3 Millionen Euro zur Verfügung. Erste Ergebnisse werden derzeit bei EADS evaluiert. Mitte 2010 will man fertig sein –und die Ergebnisse in die JamaicaVM einfließen lassen.

Barbara Lange
ist IT-Journalistin und Inhaberin des Redaktionsbüros kurz&einfach in Lengede.

(ane)