Grundlagen heterogener Spezifikationen mittels Zustandsmaschinen und temporaler Logik
Zusammenfassung der Projektergebnisse
Reaktive Systeme erfassen kontinuierlich ihre Umgebung und berechnen Reaktionen, die diese Umgebung beeinflussen. Die komponentenbasierte Software solcher Systeme implementiert nebenläufige Zustandsautomaten und wird oftmals abstrakt mittels Aussagen- und Temporallogik spezifiziert. Der Entwurf reaktiver Systeme erfordert daher heterogene Modellierungssprachen, die logische und operative Paradigmen verbinden. Um Eigenschaften von nebenläufigen Komponenten zu bestimmen, ist zudem eine kompositionelle Verfeinerungsordnung wünschenswert, die sensitiv bzgl. Deadlock und Kommunikationsfehlern ist. Ausgangspunkt des Projekts waren Interfacetheorien auf Grundlage der Interface-Automaten (IA) von de Alfaro und Henzinger und Spezifikationstheorien auf Basis der modalen Transitionssysteme (MTS) von Larsen. Diese erweitern nebenläufige Zustandsautomaten und erlauben Abstraktion durch Nichtdeterminismus sowie schrittweises Verfeinern. Jedoch unterstützen sie nicht die logische Spezifikation und machen stark einschränkende Annahmen bzgl. Nichtdeterminismus, Kompositionalität und Abstraktion von internem Verhalten. Vor diesem Hintergrund sollte das Projekt Grundlagen und praktischen Nutzen heterogener Spezifikationsformalismen verbessern. Zur Erreichung dieses Ziels wurde erst das Zusammenspiel zwischen Kommunikationsfehlern, Kompositionalität und Nichtdeterminismus untersucht. Ein Kommunikationsfehler tritt auf, wenn ein gesendetes Ereignis von einer empfangenden Komponente nicht erwartet wird. Die Untersuchungsergebnisse führten zur Entwicklung der Interfacetheorie MIA (Modal Interface Automata), die Nichtdeterminismus für Aus- und Eingabeereignisse zulässt und die modale Verfeinerungsrelation von MTS derart adaptiert, dass Kommunikationsfehler berücksichtigt werden, Kompositionalität garantiert ist und bestmöglich von internen Berechnungen abstrahiert wird. Zudem wurde in MIA die Temporallogik ACTL derart eingebettet, dass Model Checking Verfeinern bedeutet und kompositionell möglich ist. Der Konjunktionsoperator erlaubt es einer Komponente, mehrere Interfaces zu erfüllen, indem sie deren Konjunktion verfeinert. Hinsichtlich der Praxistauglichkeit dieser Grundlagen wurde untersucht, inwieweit Interfacetheorien um Shared Variable-Kommunikation erweitert werden können. Für den daraus resultierenden IAM- Formalismus (Interface Automata with shared Memory) –und auch für MIA– wurde ein Toolset bestehend aus einem Editor, einem Simulator und einem Verfeinerungschecker entwickelt. Darüber hinaus wurde eine formale Semantik für die am DLR entworfene, modellgetriebene Sprache Virtual Satellite (VirSat) definiert, welche logische Constraints zur Synchronisation von Zustandsautomaten verwendet. Die Entwicklung reaktiver Software mittels VirSat wird nun zudem durch eine kompositionelle Verfeinerungsrelation formal unterstützt.
Projektbezogene Publikationen (Auswahl)
-
Modal Interface Automata. Logical Methods in Computer Science, Volume 9, Issue 3.
Lüttgen, Gerald & Vogler, Walter
-
Richer Interface Automata with Optimistic and Pessimistic Compatibility, vol. 66 of Electron. Commun. Eur. Assoc. Softw. Sci. Technol. EASST, 2013.
Gerald Lüttgen & Walter Vogler
-
Error-Pruning in Interface Automata. Lecture Notes in Computer Science, 162-173.
Bujtor, Ferenc & Vogler, Walter
-
Failure Semantics for Modal Transition Systems. 2014 14th International Conference on Application of Concurrency to System Design, 42-51.
Bujtor, Ferenc & Vogler, Walter
-
Richer interface automata with optimistic and pessimistic compatibility. Acta Informatica, 52(4-5), 305-336.
Lüttgen, Gerald; Vogler, Walter & Fendrich, Sascha
-
Error-pruning in interface automata. Theoretical Computer Science, 597, 18-39.
Bujtor, Ferenc & Vogler, Walter
-
Failure Semantics for Modal Transition Systems. ACM Transactions on Embedded Computing Systems, 14(4), 1-30.
Bujtor, Ferenc & Vogler, Walter
-
Nondeterministic Modal Interfaces. Lecture Notes in Computer Science, 152-163.
Bujtor, Ferenc; Fendrich, Sascha; Lüttgen, Gerald & Vogler, Walter
-
Testing Preorders for dMTS: Deadlock- and the New Deadlock/Divergence-Testing. 2015 15th International Conference on Application of Concurrency to System Design, 60-69.
Bujtor, Ferenc; Sorokin, Lev & Vogler, Walter
-
A Generalised Theory of Interface Automata, Component Compatibility and Error. Lecture Notes in Computer Science, 160-175.
Fendrich, Sascha & Lüttgen, Gerald
-
ACTL for Modal Interface Automata. 2016 16th International Conference on Application of Concurrency to System Design (ACSD), 1-10.
Bujtor, Ferenc & Vogler, Walter
-
Nondeterministic Modal Interfaces. Theoretical Computer Science, 642, 24-53.
Bujtor, Ferenc; Fendrich, Sascha; Lüttgen, Gerald & Vogler, Walter
-
Testing Preorders for dMTS. ACM Transactions on Embedded Computing Systems, 16(2), 1-28.
Bujtor, Ferenc; Sorokin, Lev & Vogler, Walter
-
ACTL for Modal Interface Automata. Theoretical Computer Science, 693, 13-34.
Bujtor, Ferenc & Vogler, Walter
-
PhD’17 Modal Interface Theories for Specifying Component-based Systems. PhD thesis (Dissertation). University of Bamberg, Germany, 2017
Sascha Fendrich
-
A generalised theory of Interface Automata, component compatibility and error. Acta Informatica, 56(4), 287-319.
Fendrich, Sascha & Lüttgen, Gerald
-
A Note on Refinement in Hierarchical Transition Systems. Lecture Notes in Computer Science, 211-222.
Lüttgen, Gerald
-
Fault-Free Refinements for Interface Automata. 2018 18th International Conference on Application of Concurrency to System Design (ACSD), 85-94.
Schinko, Ayleen & Vogler, Walter
-
Fault-Free Refinements for Interface Automata. Scientific Annals of Computer Science, 2018(2), 289-337.
Schinko, Ayleen & Vogler, Walter
-
PhD’18 Modal Interface Automata: A Theory for Heterogeneous Specification of Parallel Systems. PhD thesis (Dissertation). University of Augsburg, Germany, 2018
Ferenc Bujtor
-
Interface Automata for Shared Memory. Lecture Notes in Computer Science, 151-166.
Gareis, Johannes; Lüttgen, Gerald; Schinko, Ayleen & Vogler, Walter
-
Modal Open Petri Nets. Lecture Notes in Computer Science, 25-46.
Schneider, Vitali & Vogler, Walter
-
A linear-time branching-time perspective on interface automata. Acta Informatica, 57(3-5), 513-550.
Vogler, Walter & Lüttgen, Gerald
-
Interface Automata for Shared Memory. Acta Informatica, 59(5), 521-556.
Schinko, Ayleen; Vogler, Walter; Gareis, Johannes; Nguyen, N. Tri & Lüttgen, Gerald
-
Concurrency, Shared Variables, Compositionality : An Unlikely Triple. Bamberger Beiträge zur Wirtschaftsinformatik und Angewandten Informatik.
Yip, Eugene & Lüttgen, Gerald
-
Heterogeneous Specification of Spacecraft Software. Bamberger Beiträge zur Wirtschaftsinformatik und Angewandten Informatik.
Yip, Eugene & Lüttgen, Gerald
