Automated synthesis of distributed controllers
From MaRDI portal
Abstract: Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This paper gives an introduction to distributed synthesis in the setting of Mazurkiewicz traces, and its applications to decentralized runtime monitoring. 1 Context Modern computing systems are increasingly distributed and heterogeneous. Software needs to be able to exploit these advances, providing means for applications to be more performant. Traditional concurrent programming paradigms, as in Java, are based on threads, shared-memory, and locking mechanisms that guard access to common data. More recent paradigms like the reactive programming model of Erlang [4] and Scala [35,36] replace shared memory by asynchronous message passing, where sending a message is non-blocking. In all these concurrent frameworks, writing reliable software is a serious challenge. Programmers tend to think about code mostly in a sequential way, and it is hard to grasp all possible schedulings of events in a concurrent execution. For similar reasons, verification and analysis of concurrent programs is a difficult task. Testing, which is still the main method for error detection in software, has low coverage for concurrent programs. The reason is that bugs in such programs are difficult to reproduce: they may happen under very specific thread schedules and the likelihood of taking such corner-case schedules is very low. Automated verification, such as model-checking and other traditional exploration techniques, can handle very limited instances of concurrent programs, mostly because of the very large number of possible states and of possible interleavings of executions. Formal analysis of programs requires as a prerequisite a clean mathematical model for programs. Verification of sequential programs starts usually with an abstraction step -- reducing the value domains of variables to finite domains, viewing conditional branching as non-determinism, etc. Another major simplification consists in disallowing recursion. This leads to a very robust computational model, namely finite-state automata and regular languages. Regular languages of words (and trees) are particularly well understood notions. The deep connections between logic and automata revealed by the foundational work of B"uchi, Rabin, and others, are the main ingredients in automata-based verification .
Recommendations
Cites work
- A Kleene theorem and model checking algorithms for existentially bounded communicating automata
- A quadratic construction for Zielonka automata with acyclic communication structure
- A theory of regular MSC languages
- Asynchronous Games over Tree Architectures
- Asynchronous games. II: The true concurrency of innocence
- Asynchronous mappings and asynchronous cellular automata
- Automated Technology for Verification and Analysis
- Constructing Exponential-Size Deterministic Zielonka Automata
- Distributed Control of Discrete-Event Systems: A First Step
- Distributed synthesis for acyclic architectures
- Fair synthesis for asynchronous distributed systems
- FSTTCS 2004: Foundations of Software Technology and Theoretical Computer Science
- FSTTCS 2005: Foundations of Software Technology and Theoretical Computer Science
- scientific article; zbMATH DE number 6687767 (Why is no real title available?)
- scientific article; zbMATH DE number 3492660 (Why is no real title available?)
- scientific article; zbMATH DE number 1754607 (Why is no real title available?)
- Keeping track of the latest gossip in a distributed system
- Model-checking of correctness conditions for concurrent objects
- Monitoring Atomicity in Concurrent Programs
- Notes on finite asynchronous automata
- On the determinacy of concurrent games on event structures with infinite winning sets
- Optimal dynamic partial order reduction
- Optimal Zielonka-type construction of deterministic asynchronous automata
- Partial (set) 2-structures. II: State spaces of concurrent systems
- Realizability of Concurrent Recursive Programs
- Scope-bounded multistack pushdown systems: fixed-point, sequentialization, and tree-width
- Time, clocks, and the ordering of events in a distributed system
- Tools and Algorithms for the Construction and Analysis of Systems
- Using partial orders for the efficient verification of deadlock freedom and safety properties
Cited in
(12)- Soundness in negotiations
- Efficient trace encodings of bounded synthesis for asynchronous distributed systems
- scientific article; zbMATH DE number 5013803 (Why is no real title available?)
- scientific article; zbMATH DE number 1754607 (Why is no real title available?)
- Counterexample guided synthesis of monitors for realizability enforcement
- Synthesis: words and traces
- Distributed Asynchronous Games With Causal Memory are Undecidable
- Automated synthesis: a distributed viewpoint
- On the control of asynchronous automata
- Translating asynchronous games for distributed synthesis
- (Un)decidability bounds of the synthesis problem for Petri games
- Synthesising correct concurrent runtime monitors
This page was built for publication: Automated synthesis of distributed controllers
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q3449462)