15.04.2020 | Fachthema

Embedded Linux Projekte jonglieren

Embedded Linux Projekte jonglieren

Multi-Projekt-Management mit der Embedded Linux Distribution "GELin" von Ginzinger

Nur selten verläuft die Entwicklung von Embedded Systemen geradlinig. Nur selten mündet die Entwicklung in ein einziges Produkt, sondern vielmehr in mehrere Produktvarianten. Nur selten startet man in Embedded Systemen „from scratch“, sondern baut auf existierende Systeme auf. Die Herausforderung für Entwickler ist es, in diesem System den Überblick zu bewahren, keine parallelen und doppelten Aufwände zu betreiben, Fehler zu vermeiden und mittels vernünftiger Modularität schneller ans Ziel zu kommen. GELin, die Embedded Linux Distribution von Ginzinger electronic systems bietet dafür die notwendigen Mechanismen und Werkzeuge zum Multi-Projektmanagement. Zwei Beispiele aus der Praxis:

 

1) Die Entwicklung einer neuen, modularen Produktfamilie

Multi Projekt Management - einfaches Beispiel

Multi Projekt Management - einfaches Beispiel

In einem Unternehmen ist die Entwicklung einer Produktfamilie von Bedieneinheiten geplant. Diese sollen in Zukunft modular in unterschiedlichen Endgeräten zum Einsatz kommen. Dabei sollen unterschiedliche Displaygrößen, Bedienkonzepte, skalierbare Rechenleistung für Systeme mit und ohne Multimediaunterstützung berücksichtigt werden. In den Bedieneinheiten sollen auch Themen wie die drahtlose Vernetzung, Cloud-Anbindung und Web-Bedienung bei Bedarf möglich sein. In einzelnen Produktsegmenten sollen sowohl Geräte mit low-budget Bedieneinheiten als auch mit high-end Touch-Displays und Cloud-Anbindung angeboten werden können. Zur Realisierung dieser Produktfamilien werden mehrere Sub-Projekte definiert und bearbeitet:
 

  • Ein Sub-Projekt für generische Bedieneinheiten

  • Ein Sub-Projekt für Connectivity

  • Ein Sub-Projekt für Remote Bedienung mittels Webtechnologie und Node.js

  • Verschiedene Sub-Projekte für die Anwendungen je nach Produktsegment.

 

Die einzelnen Sub-Projekte werden von unterschiedlichen Teams entwickelt, gepflegt und getestet. Zur Realisierung einer Produktvariante kombiniert das verantwortliche Projektteam die notwendigen Sub-Projekte und erzeugt Produktions- und Update Images für die gewählte Zielplattform automatisch. Werden Änderungen in der Anwendung notwendig, fließen diese nur in das Sub-Projekt für die Anwendung ein. Notwendige Änderungen auf Grund von Security Threats werden im Connectivity Sub-Projekt eingepflegt und sind anschließend sofort in allen davon abgeleiteten Produktvarianten wirksam. Mehrfacher Pflegeaufwand durch Änderungen auf Grund einer neuen Anforderung in vielen Projekten gehört der Vergangenheit an.

 

2) Weiterentwicklung auf Basis bestehender Geräte


Multi-Projekt-Management - komplexes Beispiel

Multi-Projekt-Management - komplexes Beispiel



Ein anderes Unternehmen bietet seit vielen Jahren ein Gerät erfolgreich am Markt an. Die Anwendungssoftware ist robust und stabil. Auf Grund von erweiterten Anforderungen an Rechenleistung, Bedienkonzepte und Connectivity soll die bewährte Anwendung auf eine neue Plattform portiert werden. Für das neue Gerät werden Sub-Projekte für Bedienung und Connectivity erstellt. Die Anwendung aus dem existierenden Gerät wird ebenfalls in ein neues Sub-Projekt überführt und zwar so, dass daraus auch die Software für das bestehende Gerät generiert werden kann.


Durch Kombination der Sub-Projekte für Anwendung, Bedienung und Connectivity wird der Code für das neue Gerät generiert. Mit dem neuen Gerät am Markt kommen Ideen für weitere Innovationen, die man jetzt rückwirkend auch den Nutzern der existierenden Geräte anbieten will. Es genügt die Erweiterungen der Funktionen im Sub-Projekt für die Anwendung vorzunehmen. Der neue Code mit den neuen Features kann dann automatisch für die existierenden Geräte generiert und verteilt werden. Das Produktportfolio des Anbieters wächst, ohne dass dadurch das Management der Varianten in der Entwicklung zu höheren Aufwänden und fehleranfälligen Doppelgleisigkeiten führt.

 

Hand-in-Hand mit allen Configuration Management Tools


Mit den GELin Features für Projekt- und Variantenmanagement sind dem Entwickler keine Grenzen gesetzt. Projekte und Sub-Projekte können mittels bekannter Konfigurations- und Versionsmanagementssysteme gepflegt werden, sodass auch die komplette Historie der unterschiedlichen Varianten immer zur Verfügung steht. Darüber hinaus sorgt das GELin Multi-Projektmanagement dafür, dass auch alle Abhängigkeiten zwischen den Projekten und Sub-Projekten verwaltet werden. Sämtliche Informationen für das Buildsystem und das Verteilen der Anwendung werden generiert, auch wenn neue Kombinationen von Projekten und Sub-Projekten erstellt werden. In herkömmlichen Umgebungen wird dies meistens mühsam mittels selbst geschriebener Werkzeuge und Skripts realisiert. Diese müssen darüber hinaus aufwändig gewartet und gepflegt werden.

Kontakt

Sie haben Fragen

oder möchten Kontakt aufnehmen?