Der Kunde
Der Kunde ist ein weltweit führender Hersteller von Antriebssystemen und Komponenten für E-Bikes. Mit einem vielfältigen Sortiment, das ein breites Spektrum an Komponenten für E-Bikes für den alltäglichen Bedarf bis hin zu den Bedürfnissen abenteuerlustiger Mountainbiker abdeckt, hat sich das Unternehmen als Synonym für Qualität, Innovation und Leidenschaft etabliert. Von der morgendlichen Pendelstrecke bis zu anspruchsvollen Offroad-Abenteuern bieten ihre Antriebssysteme und Komponenten den Fahrern die Zuverlässigkeit und Leistung, die sie benötigen.
Ausgangslage & Herausforderung
In der heutigen Zeit sind E-Bikes zu sehr komplexen Systemen herangewachsen, die aus vielen verschiedenen Komponenten bestehen. Die Kommunikation zwischen den Komponenten spielt eine große Rolle, da sie mithilfe von verschiedenen Technologien wie Bluetooth, CAN und USB eine Vielzahl von Daten austauschen können. Doch genau diese Verflechtungen machen Änderungen und Tests an dem Gesamtsystem zu einer Herausforderung, da sie aufwendig sind und viele Abhängigkeiten zwischen den Komponenten berücksichtigt werden müssen.
Herangehensweise und Lösung seitens itemis
Ziel war es, für den Kunden eine spezielle textuelle DSL und Modellierungsplattform zu entwickeln. Mithilfe dieser Plattform können die Schnittstellen zwischen den Komponenten von E-Bikes modelliert und die Kommunikation zwischen diesen Komponenten automatisch generiert werden. Dabei werden unterschiedliche Programmiersprachen wie C, C++, C#, Kotlin und Swift unterstützt. Das Resultat dieses Projekts ist eine deutliche Reduktion der Komplexität des Gesamtsystems. Neue Features und Änderungen können schneller umgesetzt werden und es wird allen Fachabteilungen ein stets aktueller Überblick über das System ermöglicht.
Die entwickelten Eclipse und VS Code Plugins basieren auf der Xtext-Technologie. Durch sinnvolle Vorschläge, die dem Benutzer bereits bei der Eingabe angezeigt werden, wird er bei seiner Arbeit unterstützt. Zudem wird eine automatische Validierung durchgeführt, um Fehler frühzeitig zu erkennen. Die Generatoren, die aus dem Modell den Quellcode erzeugen, wurden nahtlos in die bestehenden Toolchains und CI der Komponenten integriert, um eine reibungslose Integration zu gewährleisten.
Kundenvorteil / Kundennutzen
Der Kunde hat nun eine effiziente und benutzerfreundliche Lösung, um die Schnittstellen und Kommunikation zwischen den Komponenten seines E-Bike-Systems zu modellieren und den Quellcode automatisch zu generieren. Durch die Verwendung einer textuellen domänenspezifischen Sprache (DSL) und einer Modellierungsplattform wird die Komplexität des Gesamtsystems reduziert und die Umsetzung von neuen Features und Änderungen beschleunigt. Das Eclipse und VS Code Plugin, das auf der Xtext-Technologie basiert, erleichtert dem Benutzer die Arbeit durch sinnvolle Vorschläge und eine automatische Validierung von Fehlern. Durch die nahtlose Integration der Generatoren in die bestehenden Toolchains und CI wird eine reibungslose Integration des erzeugten Quellcodes in die Komponenten des E-Bike-Systems gewährleistet. Insgesamt ermöglicht das Projekt dem Kunden einen stets aktuellen Überblick über das System und eine effiziente Umsetzung von Änderungen, um den Bedürfnissen seiner Kunden besser gerecht zu werden.