Project Details
Projekt Print View

Verifying common object-oriented design-patterns in stateful actor-languages

Subject Area Software Engineering and Programming Languages
Term from 2010 to 2016
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 170470060
 
Final Report Year 2015

Final Report Abstract

Im Rahmen des Projekts COPY haben wir das Verhalten von objekt-orientierten Design Patterns im nebenläufigen Kontext formal untersucht. Hierfür haben wir die deklarative Spezifikationssprache ReActor entwickelt, mit der aktorbasierte Entwurfsmustervarianten mathematisch präzise und programmiersprachenunabhängig spezifiziert werden können. Unsere Sprache unterstützt Klassenbeschreibungen, dynamische Objektstrukturen und asynchrone Nachrichtenkommunikation. Wir haben für die Syntax der Sprache eine grafische, schemabasierte Variante und eine textbasierte, maschinenlesbare Variante definiert, die in ihrer Ausdrucksmächtigkeit äquivalent sind. Ferner haben wir im Projekt eine operationale Semantik für ReActor entwickelt, die es erlaubt, die Bedeutung einer ReActor-Spezifikation in Form einer TLA-Spezifikation anzugeben. Die Semantik bildet den mathematischen Unterbau für eine von uns entwickelte Werkzeugumgebung zur Verifikation von ReActor-Spezifikationen. Wir konzipierten und implementierten einen Übersetzer, mit dem eine ReActor-Spezifikation in die Eingabesprache des Model-Checkers TLC übersetzt und dort auf wichtige Eigenschaften hin überprüft werden kann. Die Übersetzung erfolgt strukturerhaltend, so dass durch TLC aufgedeckte Fehler auf die ursprüngliche ReActor-Spezifikation leicht zurückgespielt werden können. Unsere Verifikationskomponente erfordert eine Beschränkung des Zustandsraums, die bei unserem Verfahren in einem separaten Konfiguratlonsmodul für eine ReActor-Beschreibung vom Nutzer angegeben wird. Zusätzlich haben wir die Effizienz der Verifikation dadurch verbessert, dass wir ein Speichermanagement für Aktorobjekte implementiert haben. Die entwickelte Spezifikationssprache und die dazugehörige Werkzeugumgebung wurden anhand von mehreren Entwurfsmustern evaluiert.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung