Repräsentation - Überblick

Dieser Abschnitt beschreibt die Representation-Layer von appicals, namentlich SixML, Routing und Security. Er beginnt mit den definierten Konstanten, welche ein semantisches Verständnis der Geräte- und Dienstbeschreibungen erlauben (z.B. der Aufbau der verfügbaren Datentypen). Darauf aufbauend folgt die Paketstruktur der SixML-Nachrichten auf dem Applikations-Layer.

Dienste können sowohl Basis-Datentypen als auch Composite-Datentypen (vergleichbar zu structs in C) enthalten. Letztere erlauben die Übertragung mehrerer Dienstwerte z.B. in Event-Nachrichten mit minimalem Overhead. Durch den Verzicht auf float und double ist eine Umsetzung in nahezu beliebigen Mikrokontrollern mit wenig Aufwand möglich.

Für übergeordnete Dienste wie Regeln oder Zeitsteuerungen gibt es zudem Implizite Datentypen mit denen z.B. aktuelle Dienstwerte oder Elementeigenschaften beschrieben und als Trigger oder Aktionsziel verwendet werden können.

Nachrichten können durch Gateways transparent zwischen verschiedenen Netzwerken geroutet werden. Dies wird u.a. dadurch ermöglicht, dass Adressen und Ports durch generische Byte-Arrays variabler Grösse beschrieben werden. Das Nachrichten-Modell ist so entworfen worden, dass ein Klient keinerlei Kenntnisse über das Ursprungsnetzwerk eines Gerätes besitzen muss und die Gateways Nachrichten mit geringem Aufwand zwischen verschiedenen Netzen routen können. Alle gerichteten SCF-Nachrichten enthalten sämtliche Hops zum Ziel (Source-Routing). Da diese Routing-Informationen von der optionalen Verschlüsselung ausgenommen werden, können auch verschlüsselte Nachrichten über externe Zwischenhops sicher übertragen werden (die Weiterleitung an sich kann allerdings nicht garantiert werden).

Zur Wahrung der Privatsphäre können sämtliche SixML-Nachrichten auch verschlüsselt übertragen werden. Der eingesetzte Algorithmus und die möglichen Verfahren (z.B. TripleDES oder AES) sind in Security definiert.