Qualitätsmessung von Programmen für speicherprogrammierbare Steuerungen (SPS)

Projekt-Nr. BGIA 0085

Status:

abgeschlossen 12/2006

Zielsetzung:

Bei zahlreichen Maschinen werden traditionell speicherprogrammierbare Steuerungen (SPS) zur Ablaufsteuerung der einzelnen Be- und Verarbeitungsvorgänge eingesetzt. Dabei kommen für die Verarbeitung sicherheitsbezogener Abläufe spezielle sichere SPSen zur Anwendung. Auch wenn diese Steuerungen eine sichere Programmierung durch spezielle Funktionsbausteine unterstützen, können umfangreiche Programme, insbesondere, wenn sie als Anweisungsliste (AWL) erstellt wurden, sehr unübersichtlich werden.

Auf Initiative des Fachausschusses Chemie (FA CH) sollten durch die Festlegung geeigneter Maßzahlen für die Softwarequalität (Metriken) umfangreiche SPS-Programme eine schnelle statische Analyse erfahren können. Dazu war ein Werkzeug zu entwickeln, das auch Qualitätskriterien (siehe Projekt BIA0077 "Erarbeitung von Qualitätsmaßzahlen für sicherheitsrelevante Software im Maschinenschutz") bestimmen kann.

Aktivitäten/Methoden:

Eine umfangreiche Literaturrecherche und Analyse von SPS-Programmen sollte die Kriterien für strukturelle Metriken speicherprogrammierbarer Steuerungen ermitteln. Eine Anpassung der Halstead-Metriken (das sind sogenannte linguistische Metriken, die unabhängig von der verwendeten Programmiersprache deren Schlüsselwörter zählen und darüber auf die Qualität des Sourcecodes schließen) erfolgte in der Anwendung auf sicherheitsbezogene Steuerungsprogramme. In enger Auseinandersetzung mit den Ergebnissen aus Projekt BIA0077 waren die Qualitätskriterien an SPS-Programme anzupassen.

Das gesamte Werkzeug wurde in Anlehnung an die vorhandenen Analysewerkzeuge mEtRIKA für C und JAVA implementiert. An konkreten Programmen aus der Industrie wurden die Metriken und Qualitätskriterien validiert.

Ergebnisse:

Die Literaturrecherche hat gezeigt, dass es zurzeit kein Werkzeug zur Qualitätsmessung von Software für speicherprogrammierbare Steuerungen gibt. Im Projekt wurden deshalb zunächst die Besonderheiten speicherprogrammierbarer Steuerungen untersucht, um dann Vorschläge für die Analyse von Sourcecodes in Anweisungslogik (AWL) zu machen. Von den 16 neu formulierten Metriken für SPS-Programme wurden sieben für die Qualitätskriterien von SPS-Programmen genutzt. Zusammen mit fünf auch für andere Sprachen verfügbaren Metriken, steht damit ein vollständiges System zur Beschreibung von Testbarkeit, Lesbarkeit, Einfachheit und Selbstbeschreibung zur Verfügung. Die Ermittlung und Berechenbarkeit dieser Qualitätskriterien wurde völlig neu gestaltet. Das neue Verfahren ist auf die Qualitätssicherung aller Hochsprachen übertragbar. Eine umfangreiche grafische Unterstützung der Software wird automatisch generiert und steht als HTML-Datei zur Verfügung.

Das Werkzeug wurde durch drei umfangreiche SPS-Programme (zwei davon aus industriellen Projekten) validiert.

Stand:

12.04.2007

Projekt

Gefördert durch:
  • Hauptverband der gewerblichen Berufsgenossenschaften (HVBG)
Projektdurchführung:
  • Berufsgenossenschaftliches Institut für Arbeitsschutz - BGIA
  • Fachhochschule Bonn-Rhein-Sieg
  • Fachbereich Informatik
Branche(n):

Chemische Industrie

Gefährdungsart(en):

Mechanische Gefährdungen

Schlagworte:

Softwareergonomie, Sicherheitstechnik

Weitere Schlagworte zum Projekt:

Speicherprogrammierbare Steuerungen (SPS), Metriken, Halstead, McCabe, Software, Qualität, Be- und Verarbeitungsmaschinen, Anweisungsliste (AWL)