1989 · 1.4K citations · 22 references
ComputingComputer EngineeringComputer ScienceAlgorithmsFormal MethodsTheory Of ComputationAutomata TheoryFinite State Machine ModelingFinite-state MachinesModel CheckingModel TheoryTemporal LogicAutomata ConstructionAutomata In Formal VerificationAutomata SynthesisBranching TimeBranching-time LogicInfinite TreesModel Checking Of Infinite-state SystemsTransition Systems
We consider the synthesis of a reactive module with input x and output y, which is specified by the linear temporal formula @@@@(x, y). We show that there exists a program satisfying @@@@ iff the branching time formula (∀x) (∃y) A@@@@(x, y) is valid over all tree models. For the restricted case that all variables range over finite domains, the validity problem is decidable, and we present an algorithm for constructing the program whenever it exists. The algorithm is based on a new procedure for checking the emptiness of Rabin automata on infinite trees in time exponential in the number of pairs, but only polynomial in the number of states. This leads to a synthesis algorithm whose complexity is double exponential in the length of the given specification.
22
Statecharts: a visual formalism for complex systems
David Harel · Science of Computer Programming · 1987 · 6.7K citations
The temporal logic of programs
Amir Pnueli · 1977 · 5.7K citations
The complexity of propositional linear temporal logics
A. Prasad Sistla, E. M. Clarke · Journal of the ACM · 1985 · 1.1K citations · Full text