In Unternehmen kommt es immer wieder vor, dass viele Mitarbeiter das große Ganze aus den Augen verlieren. Umso mehr legen wir Wert darauf, dass vor allem unsere Praktikanten neben Ihren spezifischen Aufgaben einen detaillierten Einblick in viele unterschiedliche Aufgaben in einem Unternehmen erhalten. Felix interessiert sich insbesondere für unseren eigens geschaffenen anwendungsnahen Softwarestack, der speziell für energieautarke Sensoren geschaffen wurde. Dieser soll vor allem uns aber auch anderen Unternehmen die Arbeit auf dem Weg zu einem neuen Produkt zu erleichtern, die Time-to-Market erheblich verkürzen und Entwicklungskosten reduzieren. Wie das funktioniert, dazu hatte Felix ein paar Fragen. Simon steht im Folgenden Rede und Antwort.

Simon, was ist Sentos aus deiner Sicht, kurz zusammengefasst:

“Sentos ist die perfekte Entwicklungshilfe für jeden Ingenieur der eine Firmware für ultra-low-power IoT-Geräte umsetzen muss. Ziel war es, über Produktlinien hinweg gut getestete Module wiederzuverwenden und gleichzeitig Zuverlässigkeit, Adaptierbarkeit und Wartbarkeit zu gewährleisten. Ich weiß, hört sich simpel an, aber wenn deine Geräte 10 Jahre draußen hängen ist Zuverlässigkeit ein entscheidendes Merkmal. Sentos bietet dem Entwickler alles was er braucht, um eigene Softwarekomponenten nahtlos einzufügen und sofort von den Features bestehender Module wie Konfiguration, Kommunikation und Laufzeitüberwachung zu profitieren. Das heißt es handelt sich um einen anwendungsorientierten Softwarestack für die embedded Softwareentwicklung”

Okay, das Ziel verstehe ich, aber was ist das Geheimnis:

“Eigentlich gibt es kein Geheimnis. Wichtig ist ein gesunder Grad aus Komfort und Pragmatismus. Wer Daten Streamen will wird mit Sentos nicht glücklich, wer aber ein Produkt schaffen möchte das zuverlässig seine Daten sammelt und gelegentlich überträgt, profitiert von der jahrelangen Erfahrung die in Sentos steckt. Sentos abstrahiert, was abstrahiert „gehört“, innerhalb der Module hat der Entwickler aber fast freie Hand.”

Erklärs’ mir ruhig kurz in technischen Worten:

“Also, das Konzept schreibt vor, dass die Software wie schon gesagt in Module gegliedert werden muss. Jedes Modul besitzt ein einheitliches Interface und kann Aufgaben in einem eigenen Thread abarbeiten. Dabei erfolgt die Kommunikation ereignisorientiert und ausschließlich über den sog. Event-Broker. Die Isolation zwischen den Modulen muss stets aufrecht erhalten werden. Das ist so zu sagen die Grundlage für Wiederverwendbarkeit, Testbarkeit und Wartbarkeit.”

Wieso setzt ihr auf ein so kompliziertes System und was steckt dahinter?

“Zu Beginn unserer Entwicklung hatten wir auch sehr statisch entwickelt. Dann kamen immer mehr Anfragen nach unterschiedlichen Produkten bzw. nach Produktversionen. Um der Forderung nach Flexibilität in der Entwicklung und gleichartigem bzw. vorhersehbarem Verhalten über Produktlinien hinweg nachzukommen, haben wir uns dann entschlossen das so umsetzen. Da wir unterschiedliche Kommunikationstechnologien wie z.B. LoRa, NB-IoT oder NFC vereinen und auch bei der Verwendung von Peripherie und Sensorik zeitliche Beschränkungen einhalten müssen, wurde der Einsatz eines Echtzeitbetriebssystems unerlässlich. Jetzt können wir schnell neue Anwendungen entwickeln und das mit immer gleichbleibend hoher Qualität, da wir auf bereits sehr gut getestete Softwaremodule zurückgreifen können.”

Super! Wenn es Sentos 2 heißt, muss es ja auch ein Sentos 1 geben. Was ist denn der Unterschied?

“Haha. Ja, Sentos 1 entstand über die letzten 2 Jahre und ist relativ wild gewachsen, da neue Anforderungen nach und nach eingearbeitet wurden. Mit Sentos 2 haben wir versucht, unabhängig von etwaigem Druck aktueller Kundenprojekte und auf Basis gemachter Erfahrungen, von Anfang an alles richtig zu machen. Mit dem Ergebnis sind wir sehr zufrieden und können dieses auch guten Gewissens an andere Leute übergeben.“

Klingt ja fast so als wäre Sentos ein Ökosystem.

“Haha, soweit würde ich jetzt nicht gehen. Es stimmt, dass Sentos die komplette Kette von Hardware bis zur Cloud abdeckt und damit die Entwicklung neuer IoT-Produkte vereinfacht. Für mich kann man Sentos aber erst als Ökosystem bezeichnen, wenn sich eine entsprechend große Entwickler-Gemeinschaft bildet und es zum Herz von IoT-Produkten mehrerer Unternehmen und Organisationen wird.”

Du hast mir schonmal das mit der Threadsicherheit versucht zu erklären. Wie stellt ihr die Ausfallsicherheit im Sentos 2 sicher?

“Threadsicherheit ist nur die Eigenschaft einer geteilten Ressource, bei Aufrufen aus mehreren Threads heraus nicht in einen ungültigen Zustand zu geraten bzw. fehlerhaftes Verhalten zu zeigen. Sie stellt einen Pfeiler des Zuverlässigkeits-Konzeptes von Sentos dar. Sentos ist von Haus aus auf multithreading getrimmt und erlaubt sicheren Zugriff auf Speicher, Peripherie, etc.. Das Event-System stellt einen weiteren Pfeiler dar, denn es erlaubt den Austausch komplexer Daten und Objekte zwischen den Modulen und sorgt dafür, dass etwaiger dynamisch reservierter Speicher wieder ordentlich freigegeben wird. Der dritte Pfeiler ist weniger eine Eigenschaft sondern eine konkrete Implementierung – der sog. Supervisor. Dieser kann das Laufzeitverhalten der Module überwachen. Die Module definieren ihr Zielverhalten selbst. Der Supervisor gleicht dieses mit dem tatsächlichen Verhalten ab und kann wenn notwendig einen Alarm oder System-Reset auslösen. Zusätzlich verwaltet der Supervisor einen Hardware-Watchdog, welcher einen Neustart hervorruft, sollte das zugrundelegende RTOS versagen.

So viel zur Architektur. Diese kann Fehler in gewissem Maße tolerieren. Im Idealfall treten solche unvorhergesehenen Ereignisse aber kaum auf, weil die Software gut getestet wurde. Auch hier stellt Sentos Mittel bereit, Softwareupdates vor der Veröffentlichung umfassenden Tests zu unterziehen.

Abschließend wollen wir unser System noch von einer speziellen Einrichtung auf Ausfallsicherheit testen lassen. Das soll in den nächsten Monaten umgesetzt werden.”

Wer könnte Sentos 2 außer euch einsetzten? Bietet Ihr das Unternehmen überhaupt an?

“Sentos wäre perfekt für Unternehmen, wie z.B. Sensorhersteller, die sich zielgerichtet digitalisieren und möglichst zügig IoT-Sensoreinheiten auf den Markt bringen wollen. Derzeit ist geplant, Sentos nur für ausgewählte Kunden zur Verfügung zu stellen.“

Was unterscheidet am Ende Sentos von bestehenden Prototyping Plattformen?

“Bindet man Sentos schon in der Entwicklung eines Prototypen mit ein, so ist man extrem nahe an einem marktreifen Produkt, sollte dein Pilotprojekt gelingen. Bei anderen Plattformen fängt man häufig nochmal von vorne an, was hohe Entwicklungskosten nach sich zieht.“

Abschließend: Ist ein dritte Version geplant?

“Klar! Es gibt immer Sachen zu verbessern.”

https://www.sentinum.de/?p=2831