← Neueste Arbeiten
💻 computer science

ESBMC-PLC+: A Unified IEC~61131-3 Formal Verification Framework as a PLCverif Successor

Dieses Paper stellt ESBMC-PLC+ vor, ein einheitliches Open-Source-Framework, das das ESBMC-Backend erweitert, um alle gängigen IEC 61131-3-Sprachen (einschließlich Ladder Diagram und Structured Text) sowie ungebundene Verifikation zu unterstützen, wodurch es die Einschränkungen der Eingabeformate und der gebundenen Beweisbeschränkungen seines Vorgängers PLCverif überwindet und bei der Verifikation von Timer-lastigen Programmen nuXmv signifikant übertrifft.

Ursprüngliche Autoren: Pierre Dantas, Lucas Cordeiro, Waldir Junior

Veröffentlicht 2026-06-24
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Pierre Dantas, Lucas Cordeiro, Waldir Junior

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich eine speicherprogrammierbare Steuerung (SPS) als das Gehirn einer Fabrikmaschine vor. Es ist ein robuster Industriekomputer, der Robotern, Ventilen und Leuchten befiehlt, wann sie sich bewegen, anhalten oder die Farbe ändern sollen. Diese Maschinen laufen in einer strengen, sich wiederholenden Schleife, dem sogenannten „Scanzyklus“, in dem Sensoren geprüft und Entscheidungen tausendfach pro Sekunde getroffen werden. Da diese Maschinen Dinge wie Kernkraftwerke oder Bahnsignale steuern, kann ein einziger Fehler im Code katastrophale Folgen haben.

Formale Verifikation ist wie ein superintelligenter mathematischer Korrekturleser, der jedes einzelne Szenario prüft, mit dem die Maschine jemals konfrontiert werden könnte, um sicherzustellen, dass sie niemals abstürzt oder gefährlich handelt.

Jahrelang war das beste Open-Source-Werkzeug für diese Aufgabe namens PLCverif bekannt. Betrachten Sie PLCverif als einen hochqualifizierten Mechaniker, der zwar großartig darin ist, Autos (textbasierten Code) zu reparieren, aber sich weigert, unter die Motorhaube von Motorrädern (Leitersatzdiagrammen) zu schauen, oder nicht über die richtigen Werkzeuge verfügt, um zu beweisen, dass der Motor ewig laufen wird, ohne zu überhitzen (unbegrenzte Beweise).

Dieses Paper stellt ESBMC-PLC+ vor, einen neuen, verbesserten „Super-Mechaniker“, der darauf ausgelegt ist, PLCverif zu ersetzen und zu verbessern. Hier ist die Erklärung, was es tut, vereinfacht dargestellt:

1. Jede Sprache sprechen (Das einheitliche Framework)

SPS-Programmierer sprechen drei Hauptsprachen:

  • Leitersatzdiagramm (LD): Sieht aus wie ein elektrischer Schaltplan mit Sprossen und Schienen. Dies ist die populärste Sprache in Fabriken (wie das „Englisch“ der Industrie).
  • Strukturierter Text (ST): Sieht aus wie Standard-Computercode (ähnlich wie Pascal oder C).
  • Grafisches LD: Die visuelle Version von Leitersatzdiagrammen.

Das Problem: Das alte Werkzeug (PLCverif) konnte nur die Sprache „Strukturierter Text“ lesen. Wenn ein Ingenieur ein Leitersatzdiagramm hatte, musste er es manuell in Text umschreiben, was langsam ist und anfällig für Fehler ist. Zudem konnte das alte Werkzeug komplexe „Funktionsblöcke“ (wie Timer oder Zähler) in den Leitersatzdiagrammen überhaupt nicht verarbeiten.

Die Lösung: ESBMC-PLC+ ist ein Universaltol Übersetzer. Es kann alle drei Sprachen nativ lesen.

  • Für Strukturierten Text verwendet es einen vertrauenswürdigen Open-Source-Compiler (MATIEC), um den Code in ein Format zu übersetzen, das die Verifikations-Engine versteht.
  • Für Leitersatzdiagramme besitzt es einen neuen „Decoder“, der nun auch komplexe Timer und Zähler versteht, die zuvor ignoriert wurden.

2. Die „Ewigkeits“-Garantie (Unbegrenzte Beweise)

Stellen Sie sich vor, Sie testen eine Brücke.

  • Begrenzte Prüfung (Der alte Weg): Sie fahren 100 Mal mit einem LKW über die Brücke. Wenn sie hält, sagen Sie: „Sie ist wahrscheinlich sicher.“ Aber Sie wissen nicht, was beim 101. Mal passiert oder ob die Brücke nach 1.000 Jahren einstürzt. Das ist es, was die primäre Engine des alten Werkzeugs (CBMC) tat.
  • Unbegrenzte Beweise (Der neue Weg): ESBMC-PLC+ nutzt eine Technik namens k-Induktion. Anstatt nur 100 Mal zu prüfen, nutzt es Mathematik, um zu beweisen, dass wenn die Brücke in den ersten Sekunden hält, sie auch für die Unendlichkeit halten wird. Es garantiert, dass die Maschine niemals versagt, egal wie lange sie läuft.

3. Der Geschwindigkeits-Dämon (SMT vs. BDD)

Das Paper vergleicht ESBMC-PLC+ mit der „unbegrenzten“ Engine des alten Werkzeugs (nuXmv), die eine Methode namens BDD (Binary Decision Diagrams) verwendet.

  • Die Analogie: Stellen Sie sich vor, Sie haben eine riesige Bibliothek von Büchern (alle möglichen Maschinenzustände).
    • Das alte Werkzeug (BDD) versucht, jedes einzelne Buch nacheinander zu lesen. Wenn die Bibliothek riesig ist (weil die Maschine viele Timer oder Zähler hat), wird es überfordert und bricht ab (Timeout).
    • ESBMC-PLC+ (SMT) nutzt ein magisches Register. Anstatt jedes Buch zu lesen, fragt es einen superintelligenten Bibliothekar, um die Logik der gesamten Bibliothek auf einmal zu prüfen.
  • Das Ergebnis: Bei Programmen mit Timern war ESBMC-PLC+ 400 bis 2.000 Mal schneller als das alte Werkzeug. In einigen Fällen gab das alte Werkzeug nach 2 Minuten auf, während ESBC-PLC+ den Beweis in weniger als einer Sekunde abschloss.

4. Was es tatsächlich behoben hat

Das Paper hebt zwei spezifische „Lücken“ hervor, die es geschlossen hat:

  1. Der fehlende Text: Es fügte die Unterstützung für Strukturierte Text (ST) Programme hinzu, die das alte Werkzeug schlecht oder gar nicht für Standard-IEC-Code handhabte.
  2. Die „Geister“-Timer: In den visuellen Leitersatzdiagrammen gab es „Funktionsblöcke“ (wie Timer, die 5 Sekunden warten, bevor sie ein Licht einschalten). Das alte Werkzeug ignorierte diese Blöcke und tat so, als existierten sie nicht. Dies führte zu „vakuösen“ Ergebnissen – also Situationen, in denen das Tool „Sicher!“ sagte, nur weil es die gefährlichen Teile gar nicht erst betrachtete. ESBMC-PLC+ modelliert diese Timer nun korrekt und stellt sicher, dass die Sicherheitsprüfung echt ist und kein Vorwand.

Zusammenfassung

ESBMC-PLC+ ist ein neues Open-Source-Werkzeug, das als Universaltol Übersetzer für industrielle Maschinencodes fungiert. Es spricht alle wichtigen Sprachen, die Ingenieure verwenden, verarbeitet komplexe visuelle Diagramme mit Timern und Zählern und nutzt eine schnellere, intelligentere mathematische Engine, um zu beweisen, dass Maschinen für immer sicher sind, nicht nur für einen kurzen Testlauf. Es ist als der direkte, überlegene Nachfolger des bisherigen Industriestandards, PLCverif, konzipiert.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →