Fairness
Reasoning about networks with many identical finite-state processes
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Characterizing finite Kripke structures in propositional temporal logic
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Parallel program design: a foundation
Parallel program design: a foundation
On the synthesis of a reactive module
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refinement calculus, part II: parallel and reactive programs
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
Stepwise refinement and concurrency: the finite-state case
Science of Computer Programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Handbook of theoretical computer science (vol. B)
Concurrency without toil: a systematic method for parallel program design
Science of Computer Programming
A foundation of fault-tolerant computing
A foundation of fault-tolerant computing
Journal of the ACM (JACM)
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Forward and backward simulations I.: untimed systems
Information and Computation
Formal methods for the synthesis of concurrent programs from temporal logic specifications
Formal methods for the synthesis of concurrent programs from temporal logic specifications
Synthesis of concurrent systems with many similar processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synthesis of fault-tolerant concurrent programs
PODC '98 Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing
Synthesis of Communicating Processes from Temporal Logic Specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
A Discipline of Programming
On the Synthesis of an Asynchronous Reactive Module
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
Trace Refinement of Action Systems
CONCUR '94 Proceedings of the Concurrency Theory
Synthesizing Processes and Schedulers from Temporal Specifications
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Realizability and Synthesis of Reactive Modules
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Enhancing The Fault-Tolerance of Nonmasking Programs
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Synthesis of fault-tolerant concurrent programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Complexity Issues in Automated Synthesis of Failsafe Fault-Tolerance
IEEE Transactions on Dependable and Secure Computing
The Effect of the Specification Model on the Complexity of Adding Masking Fault Tolerance
IEEE Transactions on Dependable and Secure Computing
Diconic addition of failsafe fault-tolerance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Open answer set programming with guarded programs
ACM Transactions on Computational Logic (TOCL)
Complexity results in revising UNITY programs
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Revising Distributed UNITY Programs Is NP-Complete
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Feasibility of Stepwise Design of Multitolerant Programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Synthesis from temporal specifications using preferred answer set programming
ICTCS'05 Proceedings of the 9th Italian conference on Theoretical Computer Science
Adding fault-tolerance using pre-synthesized components
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
Revising UNITY programs: possibilities and limitations
OPODIS'05 Proceedings of the 9th international conference on Principles of Distributed Systems
Application of automated revision for UML models: a case study
ICDCN'12 Proceedings of the 13th international conference on Distributed Computing and Networking
A Lightweight Method for Automated Design of Convergence in Network Protocols
ACM Transactions on Autonomous and Adaptive Systems (TAAS) - Special Section: Extended Version of SASO 2011 Best Paper
Action-based discovery of satisfying subsets: A distributed method for model correction
Information and Software Technology
MR4UM: A framework for adding fault tolerance to UML state diagrams
Theoretical Computer Science
Synthesizing Concurrent Programs Using Answer Set Programming
Fundamenta Informaticae - Concurrency Specification and Programming CS&P
Hi-index | 0.00 |
Methods for mechanically synthesizing concurrent programs for temporal logic specifications have been proposed by Emerson and Clarke and by Manna and Wolper. An important advantage of these synthesis methods is that they obviate the need to manually compose a program and manually construct a proof of its correctness. A serious drawback of these methods in practice, however, is that they produce concurrent programs for models of computation that are often unrealistic, involving highly centralized system architecture (Manna and Wolper), processes with global information about the system state (Emerson and Clarke), or reactive modules that can read all of their inputs in one atomic step (Anuchitanukul and Manna, and Pnueli and Rosner). Even simple synchronization protocols based on atomic read/write primitives such as Peterson's solution to the mutual exclusion problem have remained outside the scope of practical mechanical synthesis methods. In this paper, we show how to mechanically synthesize in more realistic computational models solutions to synchronization problems. We illustrate the method by synthesizing Peterson's solution to the mutual exclusion problem.