Algebraic laws for nondeterminism and concurrency
Journal of the ACM (JACM)
The complexity of propositional linear temporal logics
Journal of the ACM (JACM)
Communicating sequential processes
Communicating sequential processes
“Sometimes” and “not never” revisited: on branching versus linear time temporal logic
Journal of the ACM (JACM) - The MIT Press scientific computation series
Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification-oriented semantics for communicating processes
Acta Informatica
Observation equivalence as a testing equivalence
Theoretical Computer Science
Algebraic theory of processes
Characterizing finite Kripke structures in propositional temporal logic
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Trace, failure and testing equivalences for communicating processes
International Journal of Parallel Programming
A fully abstract trace model for dataflow networks
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Trace theory for automatic hierarchical verification of speed-independent circuits
Trace theory for automatic hierarchical verification of speed-independent circuits
Experimenting with process equivalence
Theoretical Computer Science - Selected papers of the International BCS-FACS Workshop on Semantics for Concurrency, Leicester, UK, July 1990
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transition system specifications with negative premises
Theoretical Computer Science
Journal of the ACM (JACM)
The meaning of negative premises in transition system specifications
Journal of the ACM (JACM)
Modalities for model checking (extended abstract): branching time strikes back
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Checking that finite state concurrent programs satisfy their linear specification
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Model checking
Communication and Concurrency
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Nonmonotonic Logic: Context-Dependent Reasoning
Nonmonotonic Logic: Context-Dependent Reasoning
Logic Synthesis and Verification Algorithms
Logic Synthesis and Verification Algorithms
"Sometime" is sometimes "not never": on the temporal logic of programs
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bisimulation Minimization and Symbolic Model Checking
Formal Methods in System Design
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
Characterizing Correctness Properties of Parallel Programs Using Fixpoints
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Linear and Branching Structures in the Semantics and Logics of Reactive Systems
Proceedings of the 12th Colloquium on Automata, Languages and Programming
Branching vs. Linear Time: Final Showdown
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
The ForSpec Temporal Logic: A New Temporal Property-Specification Language
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Sometimes and Not Never Re-revisited: On Branching Versus Linear Time
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
Concurrency and Automata on Infinite Sequences
Proceedings of the 5th GI-Conference on Theoretical Computer Science
Comparing Linear and Branching Time Temporal Logics
Temporal Logic in Specification
Specification and verification of concurrent systems in CESAR
Proceedings of the 5th Colloquium on International Symposium on Programming
Quantitative Temporal Reasoning
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Methodology and System for Practical Formal Verification of Reactive Hardware
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Expressibility results for linear-time and branching-time logics
Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop
Verification Tools for Finite-State Concurrent Systems
A Decade of Concurrency, Reflections and Perspectives, REX School/Symposium
Linear vs. Branching Time: A Complexity-Theoretic Perspective
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
Algebraic structure theory of sequential machines (Prentice-Hall international series in applied mathematics)
A Practical Introduction to PSL (Series on Integrated Circuits and Systems)
A Practical Introduction to PSL (Series on Integrated Circuits and Systems)
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
CAV'07 Proceedings of the 19th international conference on Computer aided verification
A theory of mutations with applications to vacuity, coverage, and fault tolerance
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
Synthesis from Component Libraries
FOSSACS '09 Proceedings of the 12th International Conference on Foundations of Software Science and Computational Structures: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Making prophecies with decision predicates
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
The discussion in the computer-science literature of the relative merits of linear- versus branching-time frameworks goes back to early 1980s. One of the beliefs dominating this discussion has been that the linear-time framework is not expressive enough semantically, making linear-time logics lacking in expressiveness. In this work we examine the branching-linear issue from the perspective of process equivalence, which is one of the most fundamental notions in concurrency theory, as defining a notion of process equivalence essentially amounts to defining semantics for processes. Over the last three decades numerous notions of process equivalence have been proposed. Researchers in this area do not anymore try to identify the "right" notion of equivalence. Rather, focus has shifted to providing taxonomic frameworks, such as "the linear-branching spectrum", for the many proposed notions and trying to determine suitability for different applications. We revisit here this issue from a fresh perspective. We postulate three principles that we view as fundamental to any discussion of process equivalence. First, we borrow from research in denotational semantics and take observational equivalence as the primary notion of equivalence. This eliminates many testing scenarios as either too strong or too weea. Second, we require the description of a process to fully specify all relevant behavioral aspects of the process. Finally, we require observable process behavior to be reflected in its input/output behavior. Under these postulates the distinctions between the linear and branching semantics tend to evaporate. As an example, we apply these principles to the framework of transducers, a classical notion of state-based processes that dates back to the 1950s and is well suited to hardware modeling. We show that our postulates result in a unique notion of process equivalence, which is trace based, rather than tree based.