Trace Semantics is Fully Abstract

The discussion in the computer-science literature of the relative merits of linear- versus branching-time frameworks goes back to the 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 concepts in concurrency theory, as defining a notion of equivalence essentially amounts to defining semantics for processes. We accept three principles that have been recently proposed for concurrent-process equivalence. The first principle takes contextual equivalence as the primary notion of equivalence. The second principle requires the description of a process to specify all relevant behavioral aspects of the process. The third principle requires observable process behavior to be reflected in its input/output behavior. It has been recently shown that under these principles trace semantics for nondeterministic transducers is fully abstract. Here we consider two extensions of the earlier model: probabilistic transducers and asynchronous transducers. We show that in both cases trace semantics is fully abstract.

[1]  Prakash Panangaden,et al.  Computations, Residuals, and the POwer of Indeterminancy , 1988, ICALP.

[2]  Roberto Segala,et al.  A Compositional Trace-Based Semantics for Probabilistic Automata , 1995, CONCUR.

[3]  Moshe Y. Vardi Branching vs. Linear Time: Final Showdown , 2001, TACAS.

[4]  Eugene W. Stark,et al.  A calculus of dataflow networks , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[5]  Roberto Segala,et al.  Modeling and verification of randomized distributed real-time systems , 1996 .

[6]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[7]  Bengt Jonsson,et al.  A fully abstract trace model for dataflow networks , 1989, POPL '89.

[8]  J. Kemeny,et al.  Denumerable Markov chains , 1969 .

[9]  Kim G. Larsen,et al.  Compositional Verification of Probabilistic Processes , 1992, CONCUR.

[10]  Bernhard Steffen,et al.  Reactive, Generative and Stratified Models of Probabilistic Processes , 1995, Inf. Comput..

[11]  Stephen D. Brookes Full Abstraction for a Shared-Variable Parallel Language , 1996, Inf. Comput..

[12]  Prakash Panangaden,et al.  The Expressive Power of Indeterminate Primitives in Asynchronous Computation , 1995, FSTTCS.

[13]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[14]  Amir Pnueli,et al.  Linear and Branching Structures in the Semantics and Logics of Reactive Systems , 1985, ICALP.

[15]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[16]  Dana Fisman,et al.  A Practical Introduction to PSL , 2006, Series on Integrated Circuits and Systems.

[17]  Azaria Paz,et al.  Probabilistic automata , 2003 .

[18]  Colin Stirling,et al.  The Joys of Bisimulation , 1998, MFCS.

[19]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[20]  Samson Abramsky,et al.  What are the fundamental structures of concurrency? We still don't know! , 2006, APC 25.

[21]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[22]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[23]  Frank S. de Boer,et al.  On the Asynchronous Nature of Communication in Concurrent Logic Languages: A Fully Abstract Model Based on Sequences , 1990, CONCUR.

[24]  David L. Dill,et al.  Trace theory for automatic hierarchical verification of speed-independent circuits , 1989, ACM distinguished dissertations.

[25]  Alley Stoughton,et al.  Fully abstract models of programming languages , 1986, Research Notes in Theoretical Computer Science.

[26]  Moshe Y. Vardi Linear vs. branching time: a complexity-theoretic perspective , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[27]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[28]  Peter Selinger,et al.  First-Order Axioms for Asynchrony , 1997, CONCUR.

[29]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[30]  J. Hartmanis,et al.  Algebraic Structure Theory Of Sequential Machines , 1966 .

[31]  Srikanth Vijayaraghavan,et al.  A Practical Guide for SystemVerilog Assertions , 2005 .

[32]  Nancy A. Lynch,et al.  Compositionality for Probabilistic Automata , 2003, CONCUR.

[33]  Leslie Lamport,et al.  "Sometime" is sometimes "not never": on the temporal logic of programs , 1980, POPL '80.

[34]  Frits W. Vaandrager,et al.  A Testing Scenario for Probabilistic Automata , 2003, ICALP.

[35]  Scott A. Smolka,et al.  Composition and Behaviors of Probabilistic I/O Automata , 1994, Theor. Comput. Sci..

[36]  Cyrus Derman,et al.  Finite State Markovian Decision Processes , 1970 .

[37]  Moshe Y. Vardi,et al.  Branching vs. Linear Time: Semantical Perspective , 2007, ATVA.

[38]  E. A Emerson,et al.  Branching Time Logic Strikes Back , 1985 .

[39]  J. K. Hunter,et al.  Measure Theory , 2007 .

[40]  R. V. Glabbeek The Linear Time-Branching Time Spectrum I The Semantics of Concrete , Sequential ProcessesR , 2007 .

[41]  Joost N. Kok,et al.  A paradigm for asynchronous communication and its application to concurrent constraint programming , 1991 .

[42]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[43]  Erik P. de Vink,et al.  Probabilistic Automata: System Types, Parallel Composition and Comparison , 2004, Validation of Stochastic Systems.

[44]  Colin Stirling,et al.  Comparing Linear and Branching Time Temporal Logics , 1987, Temporal Logic in Specification.

[45]  Moshe Y. Vardi Sometimes and Not Never Re-revisited: On Branching Versus Linear Time , 1998, CONCUR.

[46]  E. Emerson,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, ACM-SIGACT Symposium on Principles of Programming Languages.

[47]  Edmund M. Clarke,et al.  Expressibility results for linear-time and branching-time logics , 1988, REX Workshop.

[48]  Frits W. Vaandrager,et al.  On the relationship between process algebra and input/output automata , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[49]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[50]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

[51]  Ivan Christoff,et al.  Testing Equivalences and Fully Abstract Models for Probabilistic Processes , 1990, CONCUR.

[52]  G. Winskel The formal semantics of programming languages , 1993 .

[53]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[54]  Amílcar Sernadas,et al.  Branching versus linear logics yet again , 1990, Formal Aspects of Computing.

[55]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

[56]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[57]  Richard Ned Lebow We Still Don't Know! , 1998 .

[58]  Kim G. Larsen,et al.  Bisimulation through Probabilistic Testing , 1991, Inf. Comput..

[59]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[60]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.