Automatische Testdatengenerierung zur Absicherung fehlerbehafteter reaktiver Automatisierungssysteme

Kormann, Benjamin

Durch den steigenden Funktionsumfang moderner Maschinen und Anlagen erhöht sich insbesondere die Komplexität der Steuerungssoftware. Der Test im Allgemeinen und der SPS Steuerungssoftware im Speziellen, wird im überwiegend Mechanik dominierten Maschinen- und Anlagenbau, noch nicht im vollen Umfang eingesetzt. Eine wesentliche Aufgabe entfällt dabei auf die Ermittlung der Testparameter, d.h. der Bestimmung von Eingabedaten eines Testfalls zur Stimulation des Testobjekts. Gängige Verfahren basieren meist auf Spezifikationen oder Funktionsbeschreibungen. Mechatronische Systeme haben einen Komplexitätsgrad erreicht, dass eine detaillierte Spezifikation kaum möglich ist. Im Maschinen- und Anlagenbau liegen u.a. auch aus zeitlichen Gründen häufig keine entsprechenden Spezifikationen vor. Da das Laufzeitverhalten von reaktiven Systemen stark von der Umgebung, d.h. dem technischen Prozess und physikalischen Gesetzmäßigkeiten bestimmt wird, müssen diese Systeme besonders gegenüber auftretenden Fehlern robust sein. Der Anteil von Fehlerbehandlungsroutinen in einer modernen Steuerungssoftware ist bereits heute größer als 50 %, gemessen an der Gesamtkomplexität der Software. Diese Funktionalität bzw. die Softwarebausteine, die im Fehlerfall ausgeführt werden und für die Stabilität und Qualität der Maschine bzw. Anlage entscheidend sind, werden bislang im durchgeführten Test jedoch nicht im entsprechenden Umfang berücksichtigt. In dieser Arbeit wurde ein Verfahren zur zeitdiskreten Testdatenermittlung von SPS Softwarebausteine entworfen, die sich in Interaktion mit potentiell fehlerhaften technischen Komponenten befinden. Dazu wird im Rahmen der modellbasierten Systementwicklung ein auf SysML basiertes System- und Fehlermodell entwickelt, welches als Grundlage für die Testdatengenerierung von zyklischen IEC 61131-3 Softwarebausteinen eingesetzt wird. Der Kern des Verfahrens ist die Ermittlung der Testeingabedaten als mehrstufiges Constraint Satisfaction Problem (CSP), kombiniert mit symbolischer Ausführung. Dazu wird der Ausgangsquelltext in eine Zwischenrepräsentation überführt, aus der die Artefakte für die Testdatengenerierung erzeugt werden. Unter Ausnutzung der Datenabhängigkeit zyklisch ausgeführter Bausteine wird der erweiterte Kontrollflussgraph (Zwischenrepräsentation) ausgerollt. Dadurch ergibt sich eine endliche Anzahl an zu lösenden Constraint Satisfaction Problemen, wodurch der Pfad und somit die Eingabedaten zur Stimulation des Testobjekts berechnet werden kann. Die Auswahl des Testkriteriums wird unter der Einbeziehung der Fehlermodellinformationen und einer bidirektionalen Kopplung mit dem zu analysierenden IEC 61131-3 Quelltext vorgenommen. Das erarbeitete Verfahren wurde an zwei repräsentativen Applikationsbeispielen evaluiert.

The complexity of the control software increases as the function volume of modern machines and plants rises. Testing in general and testing of control software in particular isn't applied to its full extent in the predominantly mechanically oriented machine and plant automation. A fundamental task is finding the test parameters, i.e. the determination of input data of a test case for test object stimulation. Common techniques are based on specifications or function descriptions. Mechatronic systems have reached a certain degree of complexity, which impedes detailed specifications. There is often no specification available in machine and plant automation due to - among other things - limited time. Since run time behavior of reactive systems strongly depends on its environment, as the technical process and physical principles influence it, these systems must especially be robust against raising errors. The amount of error handling routines in modern control software already constitutes more than 50 % in relation to the entire software complexity. That functionality and software modules respectively being executed in the error case are responsible for stability and quality of the machine or plant. Typically, those software parts aren't considered appropriately during test. An approach for time discrete test data determination for PLC software modules is introduced, which are in direct interaction of potentially defect technical components. For that purpose, a SysML based system model and error model are designed and used as a foundation for test data determination for cyclic IEC 61131-3 software modules. The core of this approach is the determination of test input data as a multi-stage constraint satisfaction problem (CSP) combined with symbolic execution. The initial source code is transformed into an intermediate representation out of which all artifacts are extracted for test data generation. Utilizing the data dependency information of cyclic executed software modules, an extended control flow graph (intermediate representation) is rolled out. Thereby a finite number of constraint satisfaction problems is derived by which the path and therefore the input data for test object stimulation can be computed. The selection of the test criterion is taken by considering the fault information and the bidirectional coupling to the IEC 61131-3 source code. The elaborated approach is evaluated using two representative application examples.

Vorschau

Zitieren

Zitierform:

Kormann, Benjamin: Automatische Testdatengenerierung zur Absicherung fehlerbehafteter reaktiver Automatisierungssysteme. 2016.

Zugriffsstatistik

Gesamt:
Volltextzugriffe:
Metadatenansicht:
12 Monate:
Volltextzugriffe:
Metadatenansicht:

Grafik öffnen

Rechte

Nutzung und Vervielfältigung:
Alle Rechte vorbehalten

Export