HIDOORS logo
      High Integrity Distributed Object-Oriented Realtime Systems
Main Page
Objectives
Upcoming Events
Publications
News
Partners
Contact
internal

HIDOORS Publications

Here are the project publication of the HIDOORS Consortium and related documents:

Dr. Fridtjof Siebert:
Java Real-Time Spezifikation und Zertifizierungsaspekte
aicas GmbH

Abstract

Die Java-Technologie bringt eine Reihe an Vorteilen für die Softwareentwicklung für eingebettete Systeme. Mit der Real-Time Specification for Java (RTSJ) stehen nun auch Schnittstellen für die Entwicklung von Echtzeitapplikationen zur Verfügung. In diesem Vortrag werden die elementaren Funktionen der RTSJ vorgestellt und die Implementierung der Echtzeitunterstützung anhand der echtzeitfähigen Java-Implementierung JamaicaVM erläutert. Besonderer Wert wird dabei auf die Anforderungen in sicherheits-kritischen Anwendungen gelegt. Im ESA-Projekt AERO wurde basierend auf JamaicaVM eine Java-Lösung für den Einsatz in Satelliten entwickelt. Hierfür ist deterministisches Echtzeitverhalten und eine aufwendige Validierung Voraussetzung. Der Vortrag prästentiert die dabei gemachten Erfahrungen.

Download: Slides, PDF (1.7MB)

Frank Lippert:
Ein RealTime Java UML-Profil und sein Einsatz in Analyse und Codeerzeugung
Aonix GmbH

Abstract

Java ist eine probate Sprache zur Entwicklung von sicheren und verteilten Anwendungen, doch für den Einsatz in Echtzeit-Systemen fehlte es bisher an Eigenschaften wie deterministischer Garbage-Collection und an Tools, die den spezifischen Anforderungen von Echtzeitsystemen Rechnung tragen. Realtime-Systeme bestehen zumeist in einer Anzahl nebenläufiger Tasks, die innerhalb bestimmter Zeitspezifikationen ausgeführt werden müssen. Es ist von zentraler Bedeutung, die prinzipielle Ausführbarkeit dieser Task zu analysieren ("Schedulability") sowie mögliche Überschreitungen der Zeitvorgaben zu entdecken ("Worst-Case-Execution-Time-Analyse").

Das Projekt HIDOORS (High Integrity Distributed Object-Oriented Realtime System) beschäftigt sich mit der Entwicklung einer RT-Java-Umgebung samt entsprechender Toolunterstützung. Die in HIDOORS eingesetzte JVM erlaubt eine Entwicklung und Analyse verteilter realtimefähiger Java-Komponenten, die über RMI kommunizieren.

Für HIDOORS entwickelte Aonix ein RT-Java UML-Profil, das sich in seinen Grundzügen an OMG's SPT-Profile ("Schedulability, Performance and Time") für Echtzeitsysteme anlehnt. Die für HIDOORS entwickelten Werkzeuge setzen auf diesem Profil auf, wie z.B der ein Modelchecker für Zeitanalysen und der WCET-Analyzer. Das im Projekt verwendete CASE-Tool benutzt das Profil zur Java-Codeerzeugung sowie zum XMI-Export. XMI wird von den HIDOORS-Tools als gemeinsames Austauschformat eingesetzt.

Wir werden die grundlegenden Elemente dieses Profils kennenlernen sowie konzeptuell höhere Konstrukte für die Interprozesskommunikation. Anhand eines Beispiels wird ein Ausblick auf eine mögliche Umsetzung in Java gegeben. Hier werden wir auch den Einsatz der Model-Driven-Architecture in Echtzeitsystemen sehen.

Download: Slides, PPT (554KB)

Tobias Ritzau:
Memory Efficient Hard Real-Time Garbage Collection (PhD thesis)
Linköping Studies in Science and Technology. Dissertation No 828. Department of Computer and Information Science, Linköping University, May 2003

Abstract

As the development of hardware progresses, computers are expected to solve increasingly complex problems. However, solving more complex problems requires more complex software. To be able to develop these software systems, new programming languages with new features and higher abstraction levels are introduced. These features are designed to ease development, but sometimes they also make the runtime behavior unpredictable. Such features can not be used in realtime systems. A feature that traditionally has been unpredictable is garbage collection. Moreover, even though a garbage collector frees unused memory, almost all such methods require large amounts of additional memory. Garbage collection relieves developers of the responsibility to reclaim memory that is no longer used by the application. This is very tedious and error prone if done manually. Since garbage collection increases productivity and decreases programming errors, developers find it attractive, also in the realtime domain. This thesis presents a predictable garbage collection method, realtime reference counting, that increases memory efficiency by about 50 % compared to the most memory efficient previously presented predictable garbage collector. To increase performance, an optimization technique called object ownership that eliminates redundant reference count updates is presented. Object ownership is designed for reference counters, but can also be used to increase the performance of other incremental garbage collectors. Finally, a static garbage collector is presented. The static garbage collector can allocate objects statically or on the runtime stack, and insert explicit instructions to reclaim memory allocated on the heap. It makes it possible to eliminate the need for runtime garbage collection for a large class of Java applications. The static garbage collection method can also be used to remove costly synchronization instructions. Competing static garbage collection methods with reasonable analysis time are restricted to stack allocation, and thus handle a smaller class of applications.

Download: PDF (4873KB)

Fridtjof Siebert:
Bringing the Full Power of Java Technology to Embedded Realtime Applications
MSy'02 Embedded Systems in Mechatronics, 3.-4. Oct 2002, Winterthur, Switzerland

Download: publications/msy02.pdf

Fridtjof Siebert:
Bringing the full power of Java Technology to embedded realtime applications.
Embedded Systems Show (ESS), London, 15-16 May 2002

Abstract

Java technology brings a variety of advantages for the development of software for embedded systems. Nevertheless, features like automatic memory management (garbage collection) in Java pose challenges that need to be solved by a Java implementation that is to be used in realtime systems. This presentation gives an overview over different techniques used by Java implementations and their usefulness for realtime system development. It will be explained how a deterministic Java implementation can work and how it can bring the full power of Java's features even to time critical code.

Download: publications/ess02_fsiebert.pdf

Fridtjof Siebert:
Bringing Java Technology to embedded realtime applications.
Bits&Chips, Eindhoven, 16 April 2002

Download: publications/bits_n_chips_02.pdf

Joćo Ventura, Fridtjof Siebert, Andy Walter and James Hunt:
HIDOORS - A High Integrity Distributed Deterministic Java Environment
Seventh IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS), San Diego, 7.-9. January 2002

Abstract

This paper presents the design of HIDOORS, an intergrated deveopment environment suitable for embedded distributed real-time sytems, based on the Java programming language. HIDOORS will cover all the life-cycle of real-time software development with extensions to existing tools (UML modeling, Java compiler, Java Virtual Machine, and a worst case execution time analysis tool) that will all be integrated into a single integrated development environment. The sytem will also assist the developer in distributing the application, by providing faster RMI and a distributed event managert that provides strict timing guarantees. This paper is written at the beginning of HIDDORS development, and as such, it presents only the defined objectives and the early architecture of the sytem; further developments will be the subject of future work.

Download:

publications/words2002_ventura.ps.gz

publications/sky_words2k2.pdf