Bildunterschrift: Embedded-Software-Entwickler werde in der Automobilindustrie gefragt sein
Das aktuelle Wirtschaftsklima brummt weiter und wird maßgeblich durch das Wachstum im Technologiesektor angetrieben. Alles von Unterhaltungselektronik, SaaS und Advanced Manufacturing trägt zum Wachstum bei. Bislang wurde der Kfz-Elektroniksektor nicht als Spitzentechnologie angesehen. Das mag sich in näherer Zukunft jedoch ändern, denn autonome Fahrzeuge und die von ihnen benötigte Konnektivität schaffen zahlreiche neue Chancen für Embedded-Software-Entwickler.
Werfen Sie mal einen Blick auf die Online-Stellenbörsen: Im Vergleich zu Software-Jobs bei Start-ups und etablierten Unternehmen erzielen Embedded-Software-Ingenieure im Schnitt ein höheres Einstiegsgehalt als ihre Kollegen. Die nächste Generation wird ein tieferes Elektronikwissen benötigen als ihre Kollegen in der Computersoftware-Industrie. Die Komplexität der Automobilsysteme erfordert, dass diese Entwickler als Teil eines größeren Hardware-Teams arbeiten. Dies macht die Adaption von Arbeitsweisen der Software-Industrie in den Hardware-Design-Abläufen erforderlich.
Wie Software-Entwickler auch, schreiben, testen und debuggen sie Code, obwohl sie überwiegend mit Hardware arbeiten. Im Allgemeinen beinhaltet dies die Entwicklung oder Konfiguration eines proprietären Betriebssystems für die kundenspezifische Hardware-Architektur des jeweiligen Produkts. Im Automobilbereich wird sich ein Embedded-Programmierer auf Software, wie für das Infotainmentsystem, für Steuergeräte oder beliebige andere Anwendungen konzentrieren.
Es mag den Laien überraschen, aber Ihr Auto enthält mehr Firmware als ein typischer Computer oder Smartphone. Moderne Pkws enthalten heute Dutzende von Steuergeräten, jedes mit einer eigenen Firmware. Die Komplexität der Programmierung eines einzigen Steuergeräts mag deutlich höher sein als die einer Webseite oder der meisten Computeranwendungen, wobei sie aufgrund der verwendeten Hardware meist sehr spezifisch ist. In der Regel werden Embedded-Programmierer in der Proof-of-Concept-Phase der Produktentwicklung nicht benötigt. Sie müssen jedoch, zusammen mit den Layout-Entwicklern, alle erforderlichen Komponenten des Proof-of-Concept mit der Embedded-Software zu einem System integrieren.
Während Embedded-Software-Entwickler in der Automobilindustrie dringend benötigt werden, ist es mittlerweile einfacher, dieses Arbeitsfeld zu wählen. System-Peripherien sind zunehmend standardisiert und Einsteiger können sich leicht die nötige Qualifikation aneignen. Die Entwicklungs- und Lebenszyklen der Produkte werden jedoch immer kürzer. Dies hat zur Folge, dass Hardware-Entwicklungsteams begonnen haben, Workflows aus dem Softwaredesign zu übernehmen, um mit den kürzeren Produktlebenszyklen Schritt zu halten.
Caption: Infotainment-Systeme sind nur ein Teil der vielen Systeme, die Programmierung erfordern
Die den autonomen und vernetzten Fahrzeugen innewohnende Komplexität erfordert kürzere Entwicklungszyklen, die sich über die gesamte Elektronik und eingebettete Software dieser Systeme erstrecken. Hardware- und Software-Entwickler können nicht mehr länger in ihren Silos vor sich hinarbeiten. Beide Seiten der Produktentwicklung müssen sich an einen neuen Arbeitsablauf anpassen, der eine reibungslose Kommunikation und Zusammenarbeit gewährleistet. In dieser Hinsicht lässt sich viel von der Software-Industrie lernen.
Agile Entwicklungsmethoden sind bereits weithin als wirksam anerkannt, um Teams bei der Integration von Veränderungsprozessen in der laufenden Entwicklung zu unterstützen. Insgesamt beschleunigt dies die Produktentwicklung, indem es Teams ermöglicht, potenzielle Designprobleme im Entwicklungsprozess früher zu erkennen und anzugehen. In einem typischen linearen Entwicklungsprozess finden Reviews an bestimmten Zeitpunkten der Entwicklung statt, wodurch das Risiko höher ist, häufigere und umfangreichere Re-Designs zu verursachen.
Auf der Hardwareseite können Probleme wie Signal- und Power-Integrität, Veralterung von Komponenten und Unterbrechungen in der Lieferkette ein Re-Design auslösen. Das Warten auf das Ende einer Entwicklungsphase erhöht letztlich das Ausmaß einer eventuellen Umgestaltung. Obsoleszenz kann zudem eine umfassende Umkonstruktion auslösen, wenn ein Produkt auf ein neueres Modell aufgerüstet wird.
Diese potenziellen Probleme können durch die Zerlegung eines Systems in hierarchische Teilsysteme adressiert werden. Da die Komplexität von Automobilanwendungen eher noch zunehmen werden, wirken sich Änderungen innerhalb eines Teilsystems schnell auf andere Subsysteme aus. Aus Zeit- und Produktivitätsgründen ist es deshalb sinnvoller, potenzielle Änderungen durchgängig im gesamten Konstruktionsprozess zu berücksichtigen, da so der Änderungsaufwand über mehrere Subsysteme hinweg begrenzt bleibt. Dies gilt in gleicher Weise für Software in Embedded Systems neuer Fahrzeuggenerationen.
Caption: Dieses System erfordert einige Programmierarbeit von einem Embedded-Software-Entwickler.
Viele in der Automobil-Softwareindustrie sind bereits mit dem ASPICE-Modell vertraut. Kenner agiler Entwicklungstechniken werden vermutlich kritisieren, dass der ASPICE-Prozess nicht im Zusammenhang mit agiler Softwareentwicklung erwähnt werden sollte. Das Automotive-Software-Performance-Improvement-and-Capability-dEtermination-(Automotive-SPICE)-Modell basiert auf dem V-Modell und ist eine Methode, die Beziehung zwischen Entwicklungsprozess und Verifikationsprozess zu visualisieren. Da die Software-Projekte in der Automobilindustrie immer komplexer werden, werden vor allem solche Ingenieure gefragt sein, die sowohl mit ASPICE als auch mit agilen Methoden vertraut sind.
So wie Gehäuse-Konstrukteure und PCB-Layouter von der Zusammenarbeit in einer einheitlichen Umgebung profitieren können, profitieren auch Embedded-Software-Entwickler von der Nutzung kollaborativer Funktionen innerhalb der PCB-Design-Software. Veraltete Bauteile können die Auswahl eines Ersatzbauteils eines anderen Herstellers erfordern, was größere Änderungen der Software-Architektur erforderlich machen kann. Wird dieses Problem während eines Design-Sprints erkennt, kann es schnell an die kommuniziert werden, was den Umfang und den Schweregrad des erforderlichen Re-Designs reduziert.
Die schnelle Identifizierung von Design-Änderungen erfordert Transparenz in der Lieferkette, Funktionen zur Regelverifizierung und Simulationspakete. Auf der elektronischen Seite fließen die Ergebnisse von Regelprüfungen und Simulationen in Design-Änderungen ein, die die Signal- und Power-Integrität sowie die Fertigbarkeit verbessern können. Größere Änderungen (z. B. an einem Steuergerät) müssen für das Embedded-Software-Team schnell sichtbar sein, um sich daran anpassen zu können.
Die Simulationsergebnisse informieren über zwei Aspekte der Designmodifikation: Bauteiltausch und Layout–Änderungen. Die Durchführung von Simulationen Ihres Produkts auf Schaltplan- und Komponentenebene hilft festzustellen, ob die von Ihnen gewählten Komponenten die im Pflichtenheft spezifizierten, technischen Eigenschaften erbringen. Sie können bei Bedarf schnell Bauelemente austauschen oder den Schaltplan ändern, um Probleme mit der Signal-Integrität zu lösen.
Die vereinheitlichte Designschnittstelle in Altium Designer® kann jetzt mit den Datenmanagement- und Kollaborationsfunktionen in Altium Concord Pro™ verknüpft werden. So steht Embedded-Software-Entwicklern und PCB-Designern ein komplettes Tool-Set für die agile Entwicklung zur Verfügung. Die zugrunde liegende regelbasierte Design-Engine beinhaltet die Verifizierungs- und Produktivitätsfunktionen, die für eine rationalisierte agile Entwicklung erforderlich sind. Diese integrierte Plattform umfasst auch TASKING-Tools, die schnell an die Automobil-Software-Entwicklung angepasst werden können.
Kontaktieren Sie uns oder laden Sie eine kostenlose Testversion von Altium Designer® und Altium Concord Pro herunter. Sie erhalten Zugang zu den besten Routing-, Layout-, Simulations- und MCAD-Kollaborationswerkzeugen der Branche in einem einzigen Programm. Sprechen Sie noch heute mit einem Altium-Experten, um mehr zu erfahren.