Skip to main content

Article Category

Article available in the folowing languages:

PROSPERierende Proof Tools

Proof Tools sind Software- und Hardwarekomponenten zur mechanischen Überprüfung von Spezifikationen. Diese Tools können beispielsweise zur formalen Beschreibung eines mathematischen Zusammenhangs oder zur Fehlerbehebung dienen. Der Umgang mit solchen Proof Tools kann jedoch schwierig und Zeit raubend sein. Daher wurden im PROSPER-Projekt Software- und Hardwarekomponenten sowie Elemente der natürlichen Sprache entwickelt, die den Umgang mit Proof Tools vereinfachen und effizienter gestalten sollen.

Digitale Wirtschaft

Konventionelle Proof Tools setzen nicht nur voraus, dass ihre Anwender professionelle Logiker sein müssen, sondern haben auch den Nachteil, dass sie nicht in die gängigen Designverfahren integriert sind. Mit PROSPER ist dagegen die Technologie geschaffen worden, die nötig ist, um diese Hindernisse zu überwinden. In diesem Projekt sind Prototypen zweier Design-Tools für Software und Hardware entstanden, mit denen die Technologie des Theorembeweises in vorhandene Systeme Einzug hält. Die wichtigsten innovativen Merkmale von PROSPER liegen in den Techniken, die zur Einbindung formaler logischer Schlussfolgerungen in CAD/CASE-Systeme unter Verwendung einer neuartigen, offenen Proof-Architektur angewendet wurden, mit der eine industrietaugliche Proof-Engine integriert wurde, die durch Plug-in-Proof Tools und innovative Spezifikationsschnittstellen gebildet wird. Eine Komponente von PROSPER ist das PROSPER-Toolkit. Dabei handelt es sich um das Softwareelement des Projekts, mit dem der Anwender kundenspezifisch konfigurierte Softwarekomponenten zusammenstellen kann, die innerhalb der Anwendungsprogramme auf flexible und einfache Weise für den integrierten Support formaler logischer Schlussfolgerungen sorgen. Beim PROSPER-Toolkit erfolgen dieser Support formaler logischer Schlussfolgerungen wie auch das Proofing für den Endanwender transparent. Die eigentliche Rolle des Toolkits besteht in der Anwendung einer formalen mathematischen Analyse des Systems, die so angelegt wird, dass die Zuverlässigkeit und Qualität der bei der zur Software- und Hardware-Entwicklung engewandten Methodik verbessert werden. Auf diese Weise kann der Systemdesigner wesentlich mehr Eigenschaften formulieren und verifizieren als dies bisher möglich war. Darüber hinaus entfällt beim PROSPER-Toolkit die Notwendigkeit zur Erzeugung einer neuen Verifizierungs-Engine, was eine Menge Zeit und Geld spart: Mit dieser neuartigen Software können die Tool-Integratoren eine nach Kundenwünschen aufgebaute Proof-Engine zusammenstellen, die von einem anderen Programm über eine Anwendungs-Programmierschnittstelle (API) angesteuert wird. Die Proof-Engine von PROSPER arbeitet als erweitertes Theoremprüfungssystem mit Plug-in-Komponenten. Letztlich bildet das PROSPER-Toolkit eine ganze Gruppe von Software, mit der bereits vorhandene Verifizierungs-Tools wie z.B. Entwicklungs-Tools für Software und Hardware in Endbenutzer-Anwendungen eingebunden werden können. Eine weitere Komponente ist die PROSPER-Hardwareverifizierungs-Workbench. Diese Komponente besteht aus Programmen und Tools, die zur Überprüfung von Hardwareschaltungen benötigt werden. Dazu gehört neben einem Tool, das Fehler behebt und sich an eine vorgegebene Spezifikation hält, auch eine Schnittstelle zur Steuerung durch natürliche Sprache. Ein wesentlicher Vorteil bei der Verwendung der PROSPER-Hardwareverifizierungs-Workbench ist, dass dieses System die Entwicklung und Bereitstellung weniger problematischer Schaltungen vereinfacht, und das bei kürzeren Entwicklungszeiten. In die Hardwareverifizierungs-Workbench eingebunden ist die Schnittstelle zur Steuerung durch natürliche Sprache. Da die meisten Hardwareverifizierungssysteme bei der Formulierung und Expression gewünschter Eigenschaften mit temporaler Logik arbeiten, kann diese Funktion Probleme bereiten, da temporale Logik schwierig in der Erfassung und Handhabung ist. Bei der temporalen Logik, die eine erweiterte Form der präpositionalen Logik ist, sind spezielle Operatoren integriert, die sich zeitlich auswirken. Mit temporaler Logik kann der Bediener vorgeben, wie Protokolle, Module, Komponenten und Verfahren über der Zeit arbeiten sollen. Die Sprachschnittstelle von PROSPER unterstützt den Entwickler, indem sie englische Sätze automatisch in temporale Logik übersetzt. Mit diesen Entwicklungen verspricht PROSPER deutliche Vereinfachungen beim Umgang mit Proof Tools und bei der Verifizierung von Spezifikationen.

Entdecken Sie Artikel in demselben Anwendungsbereich