Java in Echtzeit

Auf der Entwicklerkonferenz JavaOne zeigte Sun den Entwicklungsstand von Java fĂĽr Echtzeit-Anwendungen.

vorlesen Druckansicht 354 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Karsten Violka

Auf der Entwicklerkonferenz JavaOne zeigte Sun den Entwicklungsstand von Java fĂĽr Echtzeit-Anwendungen. Sun arbeitet an einer eigenen Implementierung der Spezifikation fĂĽr Echtzeit-Java (JSR 001) unter dem Projektnamen Mackinac.

Projektleiter Greg Bollela demonstrierte in der letzten Keynote der dreitätigen Konferenz seine Technik: Ein kleiner Schienenwagen balancierte ein freischwingendes Pendel senkrecht aus -- ganz ähnlich, wie man ein Lineal auf der Fingerspitze jongliert. Kleinere Stöße gegen den aufrechten Stab glich der Wagen sogleich durch hektische Bewegungen aus.

Die Java-Software, die mit zwei Sensoren die Position des Pendels ermittelt und den Wagen steuert, lief auf einer Sparc-Workstation mit Suns Solaris-Betriebssystem, das Echtzeitanwendungen unterstützt. Die Entwicklung von Echtzeit-Systemen für die zuverlässige Steuerung von Maschinen ist eine große Herausforderung und kaum mit herkömmlichen Software-Projekten zu vergleichen, berichtete Greg Bollela. Der Chef-Entwickler nannte eine garantierte Antwortzeit seines Systems von ungefähr 22 Millisekunden.

Für das Mackinac-Projekt hat Sun die bekannte Hotspot-Virtual-Machine ausgebaut, sodass innerhalb derselben VM normale, nicht zeitkritische Threads parallel mit Echtzeit-Prozessen ablaufen können. Sogar massive Aufräumarbeiten des Garbage-Collectors und eine animierte Oberfläche brachten das Pendel nicht aus der Ruhe.

Sun hofft, mit Echtzeit-Java die Entwicklung von Steuersoftware für Maschinen verbessern zu können. Die Produzenten solcher Systeme sind naturgemäß sehr konservativ -- wie James Gosling bemerkte, wünscht man sich etwa bei der Steuerung einer 200-Tonnen-Turbine keine aufregenden Überraschungen. Bisher wurde oft selbst bei kleinsten Code-Änderungen das gesamte System aufwendig neu getestet. Das könnnte mit modularer Java-Software in Zukunft leichter werden. (kav)