Java in Echtzeit
Auf der Entwicklerkonferenz JavaOne zeigte Sun den Entwicklungsstand von Java fĂĽr Echtzeit-Anwendungen.
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)