Menü
Developer

Coaty: Open-Source-Framework für Collaborative IoT

Siemens bietet ein plattformunabhängiges Framework zur Realisierung dynamischer IoT-Anwendungsszenarien.

vorlesen Drucken Kommentare lesen

Siemens hat schon vor geraumer Zeit mit Coaty ein plattformunabhängiges Framework zur Realisierung dynamischer IoT-Anwendungsszenarien Open Source gestellt. Im Fokus der Nutzung des Frameworks stehen Anwendungen des Internet der Dinge, bei denen intelligente Systeme autonom, verteilt und dezentral miteinander interagieren. Coaty soll dabei das direkte Zusammenspiel zwischen sich autonom verhaltenden IoT-Geräten sowie Edge- und Cloud-Diensten ermöglichen.

Coaty steht für Collaborative-IoT-Framework und ist vor dem Hintergrund entstanden, IoT-Anwendungen zu entwerfen, deren dezentralisierte und lose gekoppelte Systemteilnehmer ohne zentrale Koordinierungsinstanz über Any-to-Any-Kommunikation ad hoc und in (weicher) Echtzeit interagieren. So sollen sich neue Teilnehmer und Features dynamisch und spontan zu bestehenden IoT-Systemen hinzufügen lassen. Dabei sind alle Typen von Systemteilnehmern wie Sensoren, mobile Geräte, Edge- und Cloud-Dienste offenbar gleichwertige Kommunikationspartner.

Im Mittelpunkt der Coaty-Middleware steht ein standardisierter Satz eventbasierter Kommunikationsmuster, mit denen sich Komponenten über One-Way/Two-Way- und One-to-Many/Many-to-Many-Kommunikationsströme mitteilen können, ohne sich untereinander kennen zu müssen. Gegenstand der Kommunikation sind domänenspezifische Daten, die auf einem typisierten, erweiterbaren Objektmodell basieren. Damit lassen sich Daten im verteilten System austauschen (Advertise), auffinden (Discover-Resolve), abfragen (Query-Retrieve), ändern und persistieren (Update-Complete) sowie externe Prozeduraufrufe (Call-Return) durchführen.

Vom Cloud-zentrierten, hierarchischen IoT zum dezentralisierten, nichthierarchischen IoT

(Bild: Siemens)

Als Anwendungsszenarien sieht Siemens etwa fahrerlose Transportsysteme, die Aufträge autonom verhandeln und ohne zentrale Koordinierung vergeben, die industrielle Vor-Ort-Diagnose oder digitalisierte Fabriken, in denen die Arbeiter durch Interaktion von Smartphones und Wearables mit Maschinen, Edge- und Cloud-Diensten relevante Informationen und Steuerungsfunktionen zur Hand haben müssen. Coaty beschränkt sich aber nicht nur auf IIoT-Anwendungen, auch verbraucherorientierte Anwendungsfälle, zum Beispiel im Smart-Home Bereich, soll es gleichermaßen unterstützen.

Die Referenzimplementierung von Coaty liegt in Version 1.4 vor. Sie basiert auf TypeScript beziehungsweise JavaScript und läuft sowohl in Node.js als auch in (mobilen) Browsern. Ergänzend stehen ein Developer Guide, Best-Practice-Beispiele, Coding Style Guide, und eine vollständige Quellcodedokumentation zur Verfügung. Geplant sind weitere Portierungen des Frameworks auf Swift für iOS/AR Kit und auf C# für Unity AR/VR.

Die Sourcen des Coaty-Projekts finden interessierte Entwickler unter der MIT-Lizenz auf GitHub. Weiterführende Informationen bietet die Website des Projekts. (ane)