Home Automation
Die Home Automation stellt besondere Anforderungen an die Entwicklung von Hard- und Software. Entscheidende Parameter sind dabei Produktionskosten, Betriebskosten (Stromverbrauch, Wartung) und Baugröße. Daneben spielt die Vernetzung von Einzelkomponenten über verschiedene Kommunikationswege zu einem schlüssigen Gesamtsystems eine herausragende Rolle.
Software-Entwicklung für eingebettete Systeme
Bei heutigen PCs bestimmt der Wunsch, eine bestimmte Software zu nutzen, die Entscheidung, welche Hardware-Plattform gewählt wird. So legt z.B. der Wunsch, Windows-Applikationen zu nutzen, einen Anwender darauf fest, eine Windows-kompatible Hardware (x86 PCs) zu verwenden.
Bei eingebetteten Systemen wird die Hardware für ein bestimmtes Einsatzgebiet maßgeschneidert. Dabei können für unterschiedliche Anwendungen verschiedenste Hardware-Komponenten (CPUs, Peripheriegeräte, Bus-Systeme) zum Einsatz kommen. Die Software hat sich nach der gegebenen Hardware zu richten - nicht umgekehrt.
In einigen Situationen ist es möglich, ein verfügbares Betriebssystem (Linux, eCos, WindowsCE, ...) einzusetzen, oft ist dies wegen der Hardware-Anforderungen aber auch nicht möglich bzw. nicht wirtschaftlich. In einem solchen Fall müssen die Anwendung und die vor ihr verwendeten Bibliotheken direkt auf der Hardware aufsetzen - bei der Vielzahl an verschiedenen Systemarchitekturen eine Aufgabe, die man dem Anwendungsentwickler ersparen möchte.
Embedded Middleware: JControl-Kernel
Diesem Problem soll durch den Einsatz einer Middleware (dem JControl-Kernel) begegnet werden, die sowohl auf einem vorhandenen Betriebssystem als auch direkt auf einer gegebenen Hardware aufsetzen kann. Im ersten Fall bildet sie lediglich eine Laufzeitumgebung für Anwendungen, im zweiten Fall muss die Middleware auch Aufgaben eines Betriebssystems übernehmen.
Die Middleware soll eine plattformunabhängige, einfach zu programmierende und resourcensparende API für Anwendungen bereitzustellen und durch einen modularen und objektorientierten Aufbau einfach zu portieren sein. Die Anwendungsentwicklung wird von der Aufgabe entlastet, Details über die Hardware oder das Betriebssystems zu kennen. Das "Portieren" einer Anwendung beschränkt sich dadurch auf ein schlichtes Neukompilieren.
Kommunikationsschnittstellen
Ein weiterer Parameter bei der Entwicklung der Middleware ist die leichte Einbindung unterschiedlicher Kommunikationsschnittstellen (EIA-709, EIB, Ethernet, Bluetooth, ...) über einheitliche Programmiermechanismen. Auf einer sehr hohen Abstraktionsebene soll eine Anwendung in der Lage sein, mit anderen Geräten im Netzwerk zu kommunizieren, ohne im Detail zu wissen, welcher physikalische Übertragungsweg und welches Protokoll dabei verwendet werden.
|