RT-ORCS

Orchestrierung containerbasierter verteilter echtzeitfähiger Steuerungsanwendungen

Projektförderung

Hintergrund

Die Softwareentwicklung für speicher-programmierbare Steuerungen (SPS) erfolgt typischerweise für ein explizites Zielsystem wie z. B. eine proprietäre SPS-Laufzeitumgebung. Die Software-Komponenten wie Funktionsblöcke weisen eine geminderte Wiederverwendbarkeit auf, können nur eingebunden in die Gesamtanwendung in Produktion gebracht werden. Um diesen Nachteilen zu begegnen hat der Einsatz von Service-orientierten Architekturen (SOAs) bereits Einzug in die Steuerungstechnik gehalten. Um die Vorteile modularer Steuerungsarchitekturen, insbesondere die Freiheit bei der Gestaltung einzelner Module, vollumfänglich verfügbar zu machen und so die notwendige Flexibilität auch in der hardwarenahen Steuerungstechnik zu erreichen, wird eine Methodik zur Verwaltung der Software-Module benötigt. D. h., die einzelnen in Container gekapselten Module müssen automatisiert bedarfsgerecht auf Zielsystemen bereitgestellt und zur Laufzeit bei Updates aktualisiert werden können.

Problemstellung

Es wird eine Methodik zum Deployment benötigt, um Steuerungscontainer automatisiert bedarfsgerecht auf geeignete Rechnerknoten im Netzwerk verteilen zu können. Hierfür dient in der Office-IT ohne Echtzeitanforderungen der Container-Scheduler, eine Komponente von Container-Orchestrierungswerkzeugen. Basierend auf einer Menge auszuführender Container entscheidet dieser anhand von Informationen über benötigte Ressourcen (CPU, RAM, Festspeicher, Zugriff auf Peripherie, …) auf welchem Rechnerknoten ein Container ausgeführt wird. Bekannte Umsetzungen sind Kubernetes und Rancher. Auch im Bereich der Echtzeitsysteme ist das Deployment von Echtzeit-Containern Gegenstand der Forschung. Jedes der Konzepte setzt ein spezifisches modulinternes Ausführungsmodell voraus. Modularität im Design ist somit nicht gegeben. Weiterhin benötigen alle Konzepte Informationen über Containerinternas und brechen somit mit dem Prinzip der Modularität auf Ressourcenebene. Eine Kernproblematik bei Updates von Echtzeitsoftware zur Laufzeit sind interne Zustände. Im Bereich der Office-IT werden Updates von Microservices vereinfacht, indem diese zustandslos gehalten werden. Bei dem Ersetzen eines Service muss lediglich die zugrundeliegende Datenbank migriert werden. Nachrichten zwischen Services können in Brokern kurzzeitig gepuffert werden. Dies ist in der Steuerungstechnik aufgrund der Latenzen zu externen Datenspeichern nicht möglich.

Zielsetzung/Ergebnisse

Ziel des Vorhabens ist die Konzeption von Methoden zur Orchestrierung von heterogenen Steuerungsmodulen in containerbasierten Steuerungsarchitekturen unter Berücksichtigung der Echtzeitfähigkeit. Dazu wird ein Container-Orchestrator zur rechnerknotenübergreifenden Verwaltung von in Containern gekapselter Steuerungsmodulen eingeführt. So soll die Verteilung von Steuerungsmodulen auf Rechnerknoten ermöglicht werden. Grundlage hierfür bildet ein Konzept zur Abstraktion von modulinternen Ausführungsmodellen auf eine einheitliche Beschreibung des Prozessorbedarfs auf Containerebene. Ergänzend sollen Methoden zum kontinuierlichen Deployment zur Laufzeit erforscht werden, welche kontinuierliche Aktualisierung von Steuerungsmodulen erlaubt, ohne dass auf geeignete Zeitfenster Rücksicht genommen werden muss. Die Validierung erfolgt anhand realer Fertigungsprozesse innerhalb einer bereits verfügbaren Modellfabrik an Industrierobotern und 5-Achs-Fräsmaschinen.

Zielstellung des Projekts
Zielstellung des Projekts

Ihr Ansprechpartner

Dieses Bild zeigt Rebekka Neumann

Rebekka Neumann

M.Sc.

Wissenschaftliche Mitarbeiterin "Software- und Engineeringmethoden"

Zum Seitenanfang