14.01.2015 Aufrufe

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5.3 Kontroll- und Verwaltungsschicht für e<strong>in</strong>e Java-Laufzeitumgebung<br />

Diesen Ansatz verfolgt SUN mit der Java 2 Micro Edition (J2ME), e<strong>in</strong>e Java-Umgebung für kle<strong>in</strong>e<br />

tragbare Geräte. Basis dabei bildet die sogenannte Konfiguration, welche die Fähigkeiten der virtuellen<br />

Masch<strong>in</strong>e und den Umfang der Klassenbibliothek beschreibt. Darauf können dann verschiedene Profile<br />

genutzt werden, wobei Profile weitere Schnittstellen und Bibliotheken für die Anwendungen def<strong>in</strong>ieren.<br />

Aktuell werden zwei Konfigurationen def<strong>in</strong>iert. Die erste Konfiguration wird CDC (Connected<br />

Device Configuration) genannt [Sun02]. Sie basiert auf e<strong>in</strong>er vollständigen JVM und unterscheidet<br />

sich hauptsächlich durch e<strong>in</strong>e e<strong>in</strong>geschränkte Klassenbibliothek. Zielplattformen dieser Umgebung<br />

s<strong>in</strong>d relativ leistungsstarke mobile Geräte wie zum Beispiel PDAs.<br />

Für kle<strong>in</strong>ere Geräte wie beispielsweise Mobiltelefone wurde die CLDC-Umgebung (Connected<br />

Limited Device Configuration) def<strong>in</strong>iert [Sun03a]. Neben e<strong>in</strong>er noch stärker e<strong>in</strong>geschränkten Klassenbibliothek<br />

wurde hier auch die zugrunde liegende Masch<strong>in</strong>e verkle<strong>in</strong>ert. Fehlerbehandlung, Threadmodell<br />

und das dynamische Nachladen von Klassen wurden e<strong>in</strong>geschränkt; die Möglichkeit Typen erst zur<br />

Laufzeit zu untersuchen, wird gar nicht angeboten.<br />

Noch e<strong>in</strong>en Schritt weiter geht Sun mit der Def<strong>in</strong>ition von JavaCard [Sun03b], e<strong>in</strong>e JVM für<br />

Chipkarten. Die Java-Masch<strong>in</strong>e, die hierbei def<strong>in</strong>iert wird, ist noch stärker e<strong>in</strong>geschränkt. Hier ist es<br />

nicht mehr möglich Threads zu def<strong>in</strong>ieren oder dynamisch Klassen nachzuladen. Neben Diensten wurde<br />

auch der verarbeitete Bytecode e<strong>in</strong>geschränkt. So ist die Verarbeitung von Fließkommaoperationen nicht<br />

mehr vorgesehen. Tabelle 5.2 zeigt Größen<strong>in</strong>formationen der Zielplattform der drei Java-Umgebungen.<br />

Geräteklasse CPU RAM (EP)ROM<br />

CDC PDAs 32-bit 100 MHz 2 MByte 2,5 MByte ROM<br />

CLDC Mobiltelefone 16/32-bit 16 MHz 192 KByte 160 KByte ROM/Flash<br />

JavaCard Chipkarten 8/16/32-bit 2 MHz 1,2 KByte 32 KByte ROM<br />

16 KByte EEPROM/Flash<br />

Tabelle 5.2: Zielplattformen für J2ME<br />

Die Tabelle zeigt die Größen- und Leistungsanforderungen an e<strong>in</strong>e Zielplattform für die verschiedenen J2ME Varianten.<br />

J2ME verfolgt den Ansatz, e<strong>in</strong>e geeignete Untermenge der vollständigen Java-Laufzeitumgebung<br />

anzubieten, welche für den Bereich der e<strong>in</strong>gebetteten Systeme relevant ist. Nachteil dabei ist, dass<br />

man die Kompatibilität zwischen den verschiedenen Versionen verliert. So ist nicht gewährleistet,<br />

dass Anwendungen, welche für e<strong>in</strong>e vollständige Java-Umgebung entwickelt wurden, auch auf diesen<br />

e<strong>in</strong>geschränkten Umgebungen laufen.<br />

5.3.2.2 Anwendungsspezifische Anpassung<br />

Statt die angebotenen Dienste e<strong>in</strong>er virtuellen Masch<strong>in</strong>e von vornhere<strong>in</strong> e<strong>in</strong>zuschränken, kann man<br />

auch e<strong>in</strong>e Laufzeitumgebung bereitstellen, welche exakt die Dienste anbietet, die von der Anwendung<br />

benötigt werden. Man geht von e<strong>in</strong>er vollständigen JVM aus und passt sie dem tatsächlichen Bedarf<br />

des Programms an. Die Anwendung kann ohne Berücksichtigung von E<strong>in</strong>schränkungen, gegen das<br />

vollständige Masch<strong>in</strong>enmodell entwickelt werden.<br />

Die Anpassung erfolgt aufgrund e<strong>in</strong>er Analyse des fertigen Programms. Dabei ist es möglich, den<br />

Befehlssatz auf die von der Anwendung verwendeten Befehle e<strong>in</strong>zuschränken. Außerdem kann man<br />

Unterstützungsdienste, welche nicht <strong>in</strong> Anspruch genommen werden, weglassen.<br />

105

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!