Software Systems Engineering für System-of-Systems in der Intralogistik
Wissenschaftliche Leitung
Wissenschaftliche Mitarbeiter
Timo Blender, M.Sc.
Nayabrasul Shaik, M.Sc.
Ehemalige Mitarbeiter : Matthias Lutz, M.Sc., Matthias Rollenhagen, M.Sc.
Hintergrund – Flexibilisierung
Durch kurze Produktlebenszyklen und Vertragslaufzeiten sind Unternehmen häufig gezwungen mit kurzen Amortisationszeiten für Logistik-Automatisierungssysteme zu rechnen. Dies ist mit statischen Anlagen meist nicht umsetzbar, da sie nur für einen spezifischen Prozess implementiert werden. Ein weiteres Problem statischer Logistik-Automatisierungssysteme stellen starke saisonale bzw. temporäre Durchsatzschwankungen dar, welche eine regelmäßige Unterauslastung verursachen. Daher entscheiden sich Unternehmen häufig für Logistikprozesse mit zum Großteil manuell ausgeführten Arbeitsschritten. Denn dadurch ist zum aktuellen Zeitpunkt die größtmögliche Flexibilität möglich.
Im Gegensatz zu herkömmlichen Automatisierungssystemen, können Serviceroboter als ortsungebundene und flexibel nutzbare Systeme für unterschiedlichste Aufgaben innerhalb und außerhalb des Logistikprozesses eingesetzt werden. Damit diese Flexibilität von Einsatzort und Aufgabe ökonomisch sinnvoll ausgeschöpft werden kann, müssen sich Robotiksysteme einfach entwickeln und anpassen lassen. Das Zusammensetzten von arbeitsteilig (Rollentrennung) entwickelten und wiederverwendbaren Software-Bausteinen, stellt die Grundlage für ökonomisch adäquate Entwicklung von Servicerobotern dar. Darüber hinaus ist es notwendig, Logistik-Unternehmen bzw. -Abteilungen, welche Serviceroboter verwenden, in die Lage zu versetzten deren Aufgaben und Abläufe in einfacher Art und Weise neu zu konfigurieren.
Ansatz – Komposition serviceorientierter Software-Komponenten
Die Technische Hochschule Ulm entwickelt einen serviceorientierten und komponentenbasierten Ansatz zur arbeitsteiligen Entwicklung von Robotik-Systemen und -Anwendungen. Dieser Ansatz ermöglicht die Entwicklung von zusammensetzbaren Bausteinen (Komponenten) unter Einbeziehung der Expertisen unterschiedlicher Rollen. So lassen sich z.B. Komponenten zur Lokalisierung in Lagerräumen oder zu Manipulation von Gegenständen, unabhängig von der Entwicklung einer konkreten Robotik-Anwendung bauen und wiederverwenden. Die Rollentrennung zusammen mit der Fähigkeit die verteilt entwickelten Bausteine flexibel zusammensetzten zu können (Komposition), sind wichtige Grundvoraussetzung für ein funktionierendes Business Ecosystem. In einem Robotics Business Ecosystem profitieren die Teilnehmer von den unterschiedlichen Expertisen und können Risiken gemeinsam tragen. Das AP1 hat zum Ziel die Softwaretechnische Plattform für die Realisierung eines Business Ecosystems für die Intralogistik zu entwickeln.
Die SmartMDSD-Toolchain als zentrales Werkzeug macht den serviceorientierten und komponentenbasierten Entwicklungsansatz zugänglich und für die unterschiedlichen Rollen einfach nutzbar. Die SmartMDSD-Toolchain nutzt hierfür die Werkzeuge der modellgetriebenen Software Entwicklung (MDSD) und hebt die Entwicklung von der Code- auf die Modellebene. Erst mit Software Modellen lassen sich komplexe informatische Systeme beherrschen und arbeitsteilig entwickeln. Software Modelle sind somit zentrales Element der Entwicklung von flexiblen Robotik-Systemen und ermöglichen deren ökonomisch sinnvolle Realisierung.
Die folgende Abbildung zeigt beispielhaft, wie dieser Ansatz die Flexibilität von Servicerobotern in der Intralogistik erhöhen kann.
Unterschiedliche Realisierungen von Softwarekomponenten können aufgrund einheitlicher Services (Schnittstellen zwischen den Koponenten) auf allen Systemebenen einfach ausgetauscht werden können. Bspw.:
- Verwendung unterschiedlicher Hardware (Kamera)
- Verwendung unterschiedlicher Erkennungsalgorithmen
- Verwendung unterschiedlicher Greifwerkzeuge
Somit kann das Gesamtsystem durch Austauschen einzelner Komponenten mit wenig Aufwand an neue Prozesse und Produkte angepasst werden. Es entsteht ein Baukasten, aus Hardware- und Software-Komponenten, womit verschiedene Roboter und verschiedene Prozesse realisiert werden können. Ist eine benötigte Komponente nicht vorhanden, kann diese durch einen Komponenten-Entwickler implementiert werden.
Mit Hilfe dieses Ansatzes kann die Flexibilität, welche bei Produkt- oder Layoutänderungen notwendig ist, hergestellt werden.
Werkzeuge für den System-Entwicklungs-Prozess
Damit System-Erweiterungen bzw. -Anpassungen in einfacher Weise möglich sind, werden die Rollen für System-Entwicklung bzw. System-Konfiguration im Entwicklungs-Prozess durch Softwarewerkzeuge unterstützt, welche auf ihre spezifischen Bedürfnisse zugeschnittenen sind.
Die folgende Abbildung zeigt die Sicht des System Designers bzw. Domänen-Experten. Links wird ein Service definiert, über den auf eine bestimmte Komponente zugegriffen werden kann. Rechts wird das für den Service notwendige Kommunikationsobjekt, also die zu übertragende Datenstruktur, definiert.
Diese Definitionen werden vom Komponenten-Entwickler verwendet, indem er das grafische Modell der Komponente mit den benötigten Services versieht. In der unten stehenden Abbildung befinden sich an der linkten Komponentengrenze die Definitionen der bereitgestellten Service-Ports und rechts die von der Komponente konsumierten Service-Ports. Durch den modellgetriebenen Ansatz kann aus dieser grafischen Darstellung der Quellcode für die Komponenten generiert werden, welcher mit der individuellen Implementierung erweitert wird.
Sind alle Komponenten vorhanden, kann der System-Architekt die Komponente über die bereitstellenden bzw. konsumierenden Services zu einem Gesamtsystem zusammenfügen und auf den gewünschten Roboter deployen. Wie die nachfolgende Darstellung zeigt, erfolgt dieser Schritt ebenfalls mit Hilfe eines grafischen Werkzeugs. Die Abbildung zeigt beispielhaft die Komposition eines Systems und dessen Konfiguration durch Anpassung der Komponenten-Parameter.
Beitrag / Entstehender Mehrwert
Der verfolgte Ansatz ermöglicht es Unternehmen, ihre Intralogistikprozesse flexibel, durch den Einsatz von Servicerobotern, an Leistungsschwankungen, Layout-, Ablauf- und Produktänderungen anzupassen.
Dies wird ermöglicht durch einen serviceorientierten und komponentenbasierten Entwicklungsansatz, womit Systeme bei Prozessänderungen nicht von Grund auf neu entwickelt werden müssen, sondern lediglich mit einzelnen Komponenten erweitert werden. Dies erlaubt die Amortisation der Automatisierung über verschiedene Produkte bzw. Aufträge hinweg, da bestehende Teile der Systeme wiederverwendet werden können und nur Teile neu entwickelt werden müssen.
Darüber hinaus wird der System-Entwicklungs- bzw. System-Konfigurations-Prozesses durch Separierung der Verantwortlichkeiten und Tool-Unterstützung derart vereinfacht, dass Robotik-Expertenwissen nur in wenigen Entwicklungsschritten notwendig ist. Anstatt grundlegende Probleme wie bspw. Roboternavigation lösen zu müssen, erlaubt dies eine Fokussierung auf die individuellen Prozesse und Anforderungen. Somit werden Logistik-Unternehmen bzw. -Abteilungen in die Lage versetzt, ihre Automatisierungslösung selbstständig anzupassen, was wiederum eine enorme Reduktion der Investitionskosten zur Folge hat.
Sowohl der serviceorientierten und komponentenbasierten Ansatz, als auch die beschriebenen Werkzeuge werden im Zuge dieses Arbeitspakets (1) für die spezifischen Anforderungen der Domäne Intralogistik erweitert bzw. konsolidiert. Zusätzlich werden Komponenten, welche speziell in der Domäne Intralogistik notwendig sind in Arbeitspaket 2 entwickelt.
Aktuelle Ergebnisse des Arbeitspakets
Die SmartMDSD Toolchain erlaubt das Modellieren, Zusammensetzen und Ausführen von Software-Systemen für Teilszenarien mit einfachen Abläufen. Dies wurde gezeigt, indem die Szenarien 1 und 2 des Arbeitspakets 8 mit Hilfe der SmartMDSD Toolchain realisiert wurden.
Zwecks einer zu erreichenden großen Akzeptanz geht die ZAFH-Softwarearchitektur konform zu den im EU-Projekt RobMoSys definierten übergeordneten Strukturen, fokussiert aber gezielt auf die Domäne Intralogistik. Um den KMUs der Region die Umsetzung eigener Prozesse zu ermöglichen steht die Toolchain quelloffen zum Download bereit.