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.

3.2 Architektur und Aufgaben e<strong>in</strong>es verwalteten Knotens<br />

werden, welche ohne die Unterstützung durch e<strong>in</strong>en Verwalter gar nicht auf dem entsprechenden<br />

Knoten realisiert werden können, da die vorhandenen Ressourcen nicht ausreichen.<br />

3.2 Architektur und Aufgaben e<strong>in</strong>es verwalteten Knotens<br />

E<strong>in</strong> verwalteter Knoten muss e<strong>in</strong>e Softwarekomponente besitzen, um die Verwaltung von e<strong>in</strong>em anderen<br />

Knoten aus zu ermöglichen. Bevor wir die Aufgaben dieser Komponente genauer betrachten, soll<br />

jedoch zunächst der allgeme<strong>in</strong>e Aufbau der Software auf e<strong>in</strong>em Mikrocontroller beleuchtet werden.<br />

Auf dieser Grundlage kann die hier benötigte Komponente besser e<strong>in</strong>geordnet werden. Außerdem wird<br />

dadurch deutlicher, welcher Teil der Software hauptsächliches Ziel der Verwaltungsoperationen ist.<br />

3.2.1 Software auf e<strong>in</strong>em Mikrocontroller<br />

Die Software auf e<strong>in</strong>em Mikrocontroller kann, ähnlich wie die Software auf e<strong>in</strong>em Personalcomputer,<br />

konzeptionell <strong>in</strong> zwei Schichten aufgeteilt werden: die Anwendungs- und die Systemschicht. Die Anwendungsschicht<br />

enthält die vom Benutzer gewünschte Programmlogik und setzt auf der Systemschicht<br />

auf. Die Systemschicht, welche bei Desktop-Computern meist das Betriebssystem darstellt, kann bei<br />

Mikrocontrollern sehr unterschiedlich ausfallen.<br />

Im e<strong>in</strong>fachsten Fall ist die Systemschicht für die Initialisierung der Hardware zuständig und bietet<br />

e<strong>in</strong>e Schnittstelle an, um die vorhandenen Peripheriegeräte anzusteuern. Ist der verwaltete Knoten<br />

größer, sodass auf dem Knoten mehr als e<strong>in</strong>e Anwendung gleichzeitig ausgeführt werden kann, so<br />

wird e<strong>in</strong>e komplexere Systemschicht benötigt, deren Aufgabe auch die Verwaltung der vorhandenen<br />

Ressourcen e<strong>in</strong>schließt. In diesem Fall kann man schon von e<strong>in</strong>em Betriebssystem reden, welches sich<br />

um die Zuteilung der globalen Ressourcen kümmert und, soweit möglich, Schutzmechanismen anbietet,<br />

um die Anwendungen vone<strong>in</strong>ander zu isolieren. Soll das nötige Wissen über die Details der Hardware<br />

bei der Anwendungsentwicklung weiter verr<strong>in</strong>gert werden, so müssen Systemschichten weitergehende<br />

Dienste und Abstraktionen anbieten. Beispiel hierfür ist die automatische Verwaltung der Ressourcen<br />

<strong>in</strong>nerhalb e<strong>in</strong>er Anwendung oder die Abstraktion der Hardware und des Systems durch generische<br />

Schnittstellen. In dieser Arbeit fassen wir alle Arten von Systemschichten, die e<strong>in</strong>e gewisse Abstraktion<br />

für die Anwendungsentwicklung bereitstellen, unter dem Oberbegriff Laufzeitumgebung zusammen.<br />

3.2.2 Softwarearchitektur e<strong>in</strong>es verwalteten Knotens<br />

Um Unterstützung von e<strong>in</strong>em Verwalter zu bekommen, muss e<strong>in</strong> verwalteter Knoten <strong>in</strong> der Lage se<strong>in</strong>,<br />

mit dem Verwalter zu kommunizieren. Hierzu wird e<strong>in</strong>e Kommunikationsverb<strong>in</strong>dung benötigt und<br />

e<strong>in</strong>e Software zur Steuerung der Kommunikation, die auf dem Knoten <strong>in</strong>stalliert se<strong>in</strong> muss. Zu den<br />

generellen Aufgaben dieser Komponente zählt das Weiterleiten von Anfragen der Anwendung an den<br />

Verwalter und das Umsetzen der Kommandos des Verwalters sowie die Koord<strong>in</strong>ation der Operationen<br />

mit dem laufenden System.<br />

Die Anwendung wird sich an den Verwalter wenden, wenn beispielsweise e<strong>in</strong>e Funktionalität<br />

benötigt wird, die nicht lokal ausgeführt werden kann. Zur Koord<strong>in</strong>ation mit dem laufenden System<br />

überträgt der Knoten Informationen über den aktuellen Systemzustand an den Verwalter, sodass dieser<br />

se<strong>in</strong>e Sicht auf das System aktualisieren kann, bevor er e<strong>in</strong>e Aktion, wie zum Beispiel das Installieren<br />

e<strong>in</strong>es Moduls, ausführt. Führt der Verwalter e<strong>in</strong>e Aktion durch, so sendet er Kommandos an den<br />

Knoten, der sie umsetzt. Um den Knoten möglichst wenig zu belasten, s<strong>in</strong>d die Kommandos sehr<br />

e<strong>in</strong>fach gehalten und beschränken sich meist auf das Auslesen oder Beschreiben e<strong>in</strong>er Speicherstelle.<br />

Abbildung 3.1 zeigt die schematische Darstellung der Software auf e<strong>in</strong>em verwalteten Knoten.<br />

23

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!