Architektur- und Codeprüfung von Embedded und PC-Software

Success Story in Zusammenarbeit mit

Dieses Bild zeigt das Logo von Phoenix Contact

Architektur- und Codeprüfung von Embedded und PC-Software

Phoenix Contact ist der weltweite Marktführer für Komponenten, Systeme und Lösungen im Bereich der Elektrotechnik, Elektronik und Automation. Die Produkte und Lösungen des Unternehmens haben einen sehr langen Lebenszyklus, manche bewähren sich seit Jahrzehnten und werden stetig weiterentwickelt. Um die Wartbarkeit und auch die Weiterentwicklung der Produktsoftware – basierend auf C, C++ oder C# – sicherzustellen, setzt Phoenix Contact in immer mehr Bereichen auf die Axivion Suite.

Download Phoenix Success Story als PDF

DIE HERAUSFORDERUNG ++

Produktlaufzeiten von 10 oder 20 Jahren sind im industriellen Umfeld, etwa in der Bahntechnik, der Energiewirtschaft oder im Maschinenbau, keine Seltenheit. Die Wartung der Hardware ist hier eine Selbstverständlichkeit, aber auch die Embedded- und PC-Software der Produkte muss regelmäßig gewartet und eventuell auftretende Fehler im Code – etwa durch das Wechselspiel mit anderen, neuen Komponenten – müssen durch entsprechende Updates eliminiert werden. Gleichzeitig müssen bestehende bewährte Komponenten und Systeme den neuen Anforderungen im Markt angepasst werden: Eine stetige Weiterentwicklung etwa hinsichtlich so wichtiger Kriterien wie Sicherheit, aber auch in Sachen Effizienz und Bedienbarkeit sichert den Erfolg von Produkten und Unternehmen.

Für die Entwickler der Produktsoftware bedeutet das, den über Jahre hinweg gepflegten und erweiterten „Legacy Code“ in den Programmiersprachen C, C++ und C# wartbar zu halten und gleichzeitig als verlässliche Grundlage für die nächsten Produktgenerationen nutzbar zu machen. Eine entscheidende Rolle spielt hier die Architektur der Software: Ist sie über viele Produktzyklen hinweg für alle Projektbeteiligten nachvollziehbar definiert und wird sie auch konsequent eingehalten?

Phoenix Contact hat sich im Zuge dessen das „Clean Code Development“ auf die Fahne geschrieben, die Entwicklung eines wartbaren und „sauberen“ C/C++/C#-Codes. Das Ziel sind homogene Architektur-Beschreibungen, UML-Modelle mit einheitlicher Semantik und nachvollziehbare Dokumentationen. Im Code selbst gilt es, in erster Linie Stilverstöße und Klone zu eliminieren, die langfristig in den weiterentwickelten Produkten potenzielle Auslöser für Fehlfunktionen oder Ausfälle sein können. Die Axivion Suite vereint alle entscheidenden Funktionen für die Architektur- und Code-Analyse – und ist damit ein wichtiges Instrument für ein effizientes „Clean Code Development“ geworden.

DIE LÖSUNG ++

Initial konzentrierten sich die Entwickler bei Phoenix Contact auf die Nutzung der Software-Architektur-Prüfung innerhalb der Axivion Suite. Diese zeigt schnell die Verstöße im Code auf: Prüfreports markieren die „Problemstellen“ in der Programmierung und schaffen so die Grundlage für zielführende Diskussionen. Gemeinsam mit den Software-Architekten im Team werden die Subsets in den UML-Modellen exakter definiert und je nach Kontext – beispielsweise bei Safety-relevanten Funktionen – auch bis auf Klassenebene modelliert. In den nicht-sicherheitskritischen Projekten werden Komponentenmodelle erzeugt. Dadurch entstehen konsistente und homogene UML-Modelle, deren Einhaltung in der weiteren Architektur-Prüfung insbesondere für neuen Code zeitnah und kontinuierlich überwacht wird.

Die Nutzung der Axivion Suite für die Architektur-Prüfung hat sich bei Phoenix Contact bereits nach kurzer Zeit erfolgreich etabliert. Nach und nach wurden dann weitere Funktionen der Toolsuite in die tägliche Entwicklungsarbeit einbezogen. Besonderes Interesse galt von Entwicklerseite den Features zur Überprüfung des Quellcodes auf Stilverstöße. Bei der Nutzung von Metriken wird darauf geachtet, eine kleine Menge an Metriken zu betrachten, um Qualitätsausreißer aufzuspüren wie z.B. die zyklomatische Komplexität (McCabe-Metrik). Auch die statische Analyse zur Fehlererkennung ist für die Entwickler wertvoll. Durch zusätzliche Analysen wie beispielsweise der Zyklenerkennung lassen sich darüber hinaus sogar Fehler identifizieren und beheben, die nur sporadisch auftreten und auf andere Weise gar nicht auffindbar wären.

Effizient gestaltet die Axivion Suite auch die Klon-Erkennung, also das Auffinden lexikalischer und syntaktischer Duplikate im C-, C++- und C#-Code. Das Klon-Managementsystem hilft den Phoenix Contact-Teams nicht nur dabei, neue 1:1-Klone zu vermeiden, sondern vor allem auch potenzielle Fehler im Legacy Code gegebenenfalls an mehreren Stellen zu eliminieren.

DER ERFOLG ++

Die schnellen und erkennbaren Erfolge bedeuten für die Entwickler bei Phoenix Contact eine Motivation. Anhand der Analysen der Axivion Suite verstehen und erkennen sie den Wert der Architektur als Werkzeug und dokumentieren jetzt ihre Programmierungen noch konsequenter. Und sie sichern mit der Entwicklung konsistenter und homogener UML-Modelle die langfristig beherrschbare Weiterentwicklung von Safety-relevanten als auch nicht-sicherheitskritischen Produkten.

Die Analysen der Axivion Suite unterstützen außerdem das tägliche Reflektieren zur Verbesserung der Code-Qualität jedes einzelnen Entwicklers. Dank der positiven Fehlerkultur bei Phoenix Contact und der einfach im Arbeitsablauf integrierbaren Designreviews hat jeder Mitarbeiter den Ehrgeiz, einen „sauberen“ Code zu entwickeln und gemeinsam die Softwarequalität zu verbessern. Ein Arbeitskreis mit „Axivion Key Usern“ stimmt sich dazu regelmäßig ab und informiert die Teams. Bei Support- und sonstigen Fragen stehen den Entwicklern Ansprechpartner bei Axivion hilfreich zur Seite.

Phoenix Contact hat die Axivion Suite bereits seit 2013 im Einsatz: Die Toolsuite wurde sowohl im Embedded-Umfeld mit C und C++ als auch in einem PC-Software-Projekt mit C# ausgiebig getestet. Die Ergebnisse daraus waren positiv, sodass Phoenix Contact die Nutzung jetzt sukzessive in immer mehr Bereichen ausrollt – ganz im Sinne der „Clean Code“-Initiative des Unternehmens.

ÜBER DIE PHOENIX CONTACT GRUPPE ++

PHOENIX CONTACT ist weltweiter Marktführer für Komponenten, Systeme und Lösungen im Bereich der Elektrotechnik, Elektronik und Automation. Das Familien-Unternehmen beschäftigt heute rund 14.500 Mitarbeiter weltweit und hat in 2015 einen Umsatz von 1,91 Mrd. Euro erwirtschaftet. Der Stammsitz ist im westfälischen Blomberg. Zur Phoenix Contact-Gruppe gehören zwölf Unternehmen in Deutschland sowie mehr als 50 eigene Vertriebs-Gesellschaften in aller Welt. Die internationale Präsenz wird zusätzlich durch 30 Vertretungen in Europa und Übersee verdichtet.

 

Bildrechte: PHOENIX CONTACT