- Roblet
-
Roblet oder Roblet-System Entwickler Hagen Stanek und andere Betriebssystem Windows, Linux, Mac OS u.v.m. Programmiersprache Java Kategorie Softwaretechnik Deutschsprachig ja www.roblet.org Ein Roblet ist eine Komponente eines verteilten Systems basierend auf der Roblet-Technik. Diese Softwaretechnik wurde 2001 von Hagen Stanek erstmals vorgestellt. Sie ist eine in Java implementierte Client-Server-Architektur, die ursprünglich aus dem Bereich der Robotik stammt, heute allerdings auch im Web- und Automatisierungsumfeld eingesetzt wird. Roblet ist eine eingetragene Marke von Hagen Stanek.
Die Roblet-Technik ermöglicht die Funktionalitätsverteilung in verteilten Systemen zur Laufzeit. Sie erhebt dabei den Anspruch, Verteilungsfreiheit, Netzwerktransparenz und Technikvereinheitlichung zu gewährleisten. Einzige Voraussetzung für den Einsatz ist die Java Virtual Machine. Die kleinstmöglichste Konfiguration einer J2ME-Laufzeitumgebung, die CDC, genügt auf Client- wie auch auf Server-Seite.
Auf der Client-Seite verteilt die Roblet-Anwendung mit Hilfe der Klienten-Bibliothek die Roblets. Diese laufen in einer durch den Roblet-Server betreuten und kontrollierten Umgebung. Module erweitern einen Roblet-Server und entscheiden, welche Ressourcen unter welchen Bedingungen für den Zugriff freigegeben werden. Je nach Modulangebot und individuell konfigurierbaren Sicherheitsrichtlinien stehen dann jedem Roblet die entsprechende Ressourcen zur Verfügung. „Ferne Instanzen“ erlauben eine transparente Interaktion zwischen der Roblet-Anwendung und ihren Roblets. Die fernen Instanzen haben eine ähnliche Funktionsweise wie Remote Objects bei RMI, wobei der dort notwendige separate Schritt der Stub-Erzeugung entfällt.
Die Software ist frei verfügbar und wird von roblet.org betreut.
Geschichte
Die Entwicklung der Roblet-Technik begann im Jahre 2001. Der Autor Hagen Stanek arbeitete daran, eine Steuerung für mobile Roboter-Plattformen des Institut für Produktionstechnik und Automatisierung (Fraunhofer-Institut), Stuttgart, neu zu organisieren. Ziel war es, Teile der zum Betrieb notwendigen Software über ein Funknetz zur Laufzeit an den jeweiligen Roboter zu schicken und dann dort auszuführen. Das neuartige Konzept, das in den folgenden Jahren aus dieser Arbeit hervorgegangen ist, ist die Roblet-Technik.
Komponenten
- Roblet-Bibliothek
- Die Roblet-Bibliothek ist die kleinste gemeinsame Definitionsbasis auf Java™ Ebene. Von Ihr werden einheitliche Definitionen bereitgestellt, die in jeder verteilten Komponente notwendig sind.
- Roblet-Server
- Der Roblet-Server ist die Server-Seite. Er stellt sicher, dass Roblets kontrolliert in einer „Sandbox“ laufen, um Fehlverhalten verhindern zu können. Zugeordnete Module eines Roblet-Servers entscheiden darüber, welche Ressourcen für den Zugriff angeboten werden. Der Ressourcen-Zugriff erfolgt über Einheiten. Der Roblet-Server kann mehrere Roblets parallel ausführen. Es wird außerdem sichergestellt, dass Ressourcen im Fehlerfalle wieder in einen passenden Zustand gebracht werden. Module können als separate Erweiterungen angesehen werden, jedermann kann sie entwickeln.
- Klienten-Bibliothek
- Die Klienten-Bibliothek wird auf der Client-Seite eingesetzt. Sie dient der Kontaktierung von Roblet-Servern sowie dem Verschicken, Überwachen und gegebenenfalls Beenden von Roblets. Das Auffinden unbekannter Server wird mit Verzeichnissen möglich. Datenübertragungen werden bei Verbindungsabrissen automatisch und transparent wiederhergestellt. Jegliche Netzwerk-Mechanismen werden dabei vollständig abstrahiert und bleiben dem Anwender verborgen.
- Roblet-Anwendung
- Eine Roblet-Anwendung erstreckt sich mit Hilfe ihrer Roblets über beide Seiten der Client-Server-Architektur. Sie kann mehrere verschiedene Roblets gleichzeitig zu einem oder mehreren Servern schicken und mit ihnen interagieren.
- Roblet
- Roblets sind Anwendungsteile, die unter Kontrolle des Roblet-Servers laufen und von der Roblet-Anwendung parametrisiert und mit Hilfe der Klienten-Bibliothek zum Server geschickt wurden. Roblets können Werte zurückgeben. Ein Roblet läuft unabhängig von der sendenden Anwendung und läuft auch weiter, wenn die Kommunikation (temporär) unterbrochen ist.
Weblinks
- Offizielle Webpräsenz
- Freies Buch über die Roblet-Technik
- Distributed Applications for Robotic Systems using Roblet-Technology
- Roblet-Technik an der Uni Hamburg
- Vortrag von Daniel Westhoff über den Einsatz der Roblet-Technik an der Universität Hamburg
- Video eines Tür öffnenden Roboters, auf Basis der Roblet-Technik
- Video eines Roboters im Labor, auf Basis der Roblet-Technik
Kategorien:- Verteiltes System
- Java-Programm
- Java-Bibliothek
- Softwarearchitektur
Wikimedia Foundation.