Foundations of Heterogeneous Specifications Using State Machines and Temporal Logic
Final Report Abstract
Reactive systems continuously sense parameters of their physical environment and compute reactions that drive actuators influencing the environment. The component-based software of such systems implements, in essence, concurrent state machines, and is often specified abstractly via propositional and temporal logics. Hence, reactive system design can profit from heterogenous languages that mix logical and operational paradigms. It also calls for a notion of behavioural refinement for compositionally reasoning about the behaviour of concurrently interacting components, which must be sensitive to communication error and deadlock. The research project’s starting point were interface theories based on de Alfaro and Henzinger’s interface automata (IA) and specification theories based on Larsen’s modal transition systems (MTS). These formalisms are all based on state machines, support concurrency, allow abstract modelling via nondeterminism, and permit stepwise refinement via a behavioural preorder. To achieve this, the formalisms impose grave restrictions regarding nondeterminism, compositional reasoning and abstraction from internal computation, and lack support of the logic specification paradigm. The present project set out to remove these shortcomings and significantly enhance the theoretical foundations and practical utility of heterogenous specification formalisms. We achieved this goal by, firstly, studying the subtle interplay between communication error, nondeterminism and compositionality. A communication error arises when an output event of one component is not expected by another. We then developed the new interface theory MIA (Modal Interface Automata) which permits nondeterminism wrt. output and input events. MIA adapts the MTS modal refinement in a truly compositional way, respects communication errors, and properly abstracts from internal computation. Secondly, we embedded the temporal logic ACTL into MIA so that model checking becomes refinement and can be performed compositionally. Conjunction allows for a component to satisfy multiple interfaces by refining the interfaces’ conjunction. Thirdly, we put our foundational work into practice by exploring the extent to which shared variable communication can be added to interface theories, where variable manipulations are expressed via pre-/post-conditions. For the resulting IAM formalism (Interface Automata with shared Memory) and also for MIA, we built a toolset consisting of an editor, a simulator and a refinement checker. Last, but not least, we applied our knowledge to DLR’s Virtual Satellite (VirSat) language, which is used in the model-driven development of spacecraft software and employs logic constraints for synchronizing state machines. We developed a formal semantics for VirSat and supported the envisaged refinement-based methodology by a compositional refinement preorder.
Publications
-
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
