The Theory and Practice of Concurrency

From the Publisher: Since the introduction of Hoares' Communicating Sequential Processes notation, powerful new tools have transformed CSP into a practical way of describing industrial-sized problems. This book gives you the fundamental grasp of CSP concepts you'll need to take advantage of those tools.Part I provides a detailed foundation for working with CSP, using as little mathematics as possible. It introduces the ideas behind operational, denotational and algebraic models of CSP. Parts II and III go into greater detail about theory and practice. Topics include: parallel operators, hiding and renaming, piping and enslavement, buffers and communication, termination and sequencing, and semantic theory. Three detailed practical case studies are also presented.For anyone interested in modeling sequential processes.

[1]  John C. Mitchell,et al.  Type Systems for Programming Languages , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[2]  Riccardo Focardi,et al.  Comparing two information flow security properties , 1996, Proceedings 9th IEEE Computer Security Foundations Workshop.

[3]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[4]  Wilson A. Sutherland,et al.  Introduction to Metric and Topological Spaces , 1975 .

[5]  Peter Y. A. Ryan,et al.  A CSP formulation of non-interference and unwinding , 1991 .

[6]  A. W. Roscoe,et al.  Using CSP to Detect Errors in the TMN Protocol , 1997, IEEE Trans. Software Eng..

[7]  A. W. Roscoe Denotational Semantics for occam , 1984, Seminar on Concurrency.

[8]  Gavin Lowe,et al.  Towards a completeness result for model checking of security protocols , 1998, Proceedings. 11th IEEE Computer Security Foundations Workshop (Cat. No.98TB100238).

[9]  A. Prasad Sistla,et al.  Utilizing symmetry when model-checking under fairness assumptions: an automata-theoretic approach , 1997, TOPL.

[10]  Burkhart Wolff,et al.  A Corrected Failure Divergence Model for CSP in Isabelle/HOL , 1997, FME.

[11]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[12]  G. M. Reed A uniform mathematical theory for real-time distributed computingT , 1988 .

[13]  Janusz Zalewski,et al.  Specification and proof in real-time CSP , 1996 .

[14]  Hon Fung Li,et al.  Using Partial-Order Semantics to Avoid the State Explosion Problem in Asynchronous Systems , 1990, CAV.

[15]  D. M. Jackson,et al.  Formal verification of a fault tolerant computer , 1992, [1992] Proceedings IEEE/AIAA 11th Digital Avionics Systems Conference.

[16]  David Michael Ritchie Park,et al.  On the Semantics of Fair Parallelism , 1979, Abstract Software Specifications.

[17]  Susanne Graf,et al.  Verification of a Distributed Cache Memory by Using Abstractions , 1994, CAV.

[18]  Gavin Lowe Casper: a compiler for the analysis of security protocols , 1998 .

[19]  A. W. Roscoe,et al.  The Pursuit of Deadlock freedom , 1987, Inf. Comput..

[20]  Bernhard Steffen,et al.  Compositional Minimization of Finite State Systems , 1990, CAV.

[21]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[22]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[23]  Matthew Hennessy,et al.  Symbolic Bisimulations , 1995, Theor. Comput. Sci..

[24]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[25]  Martti Tienari,et al.  An Improved Failures Equivalence for Finite-State Systems with a Reduction Algorithm , 1991, Protocol Specification, Testing and Verification.

[26]  Naiem Dathi Deadlock and deadlock freedom , 1989 .

[27]  A. N. Parashkevov,et al.  ARC-a tool for efficient refinement and equivalence checking for CSP , 1996, Proceedings of 1996 IEEE Second International Conference on Algorithms and Architectures for Parallel Processing, ICA/sup 3/PP '96.

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

[29]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[30]  H. Enderton Elements of Set Theory , 1977 .

[31]  Hector Garcia-Molina,et al.  Elections in a Distributed Computing System , 1982, IEEE Transactions on Computers.

[32]  Bengt Jonsson,et al.  Deciding Bisimulation Equivalences for a Class of Non-Finite-State Programs , 1989, Inf. Comput..

[33]  Michael Goldsmith The perfect spy for model−checking crypto−protocols , 1997 .

[34]  Stephen D. Brookes The essence of parallel Algol , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[35]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[36]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[37]  C. A. R. Hoare,et al.  A Model for Communicating Sequential Processes , 1980, On the Construction of Programs.

[38]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[39]  Jeremy Malcolm Randolph Martin,et al.  The design and construction of deadlock-free concurrent systems , 1996 .

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

[41]  Michael Goldsmith,et al.  Programming in occam 2 , 1985, Prentice Hall international series in computer science.

[42]  Luca Aceto,et al.  Termination, Deadlock and Divergence , 1989, Mathematical Foundations of Programming Semantics.

[43]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[44]  Geraint Jones Programming in occam , 1986, Prentice Hall International Series in Computer Science.

[45]  Frank Harary,et al.  Graph Theory , 2016 .

[46]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

[47]  Lars Wulf,et al.  Interaction and security in distributed computing , 1997 .

[48]  Gavin Lowe,et al.  Some new attacks upon security protocols , 1996, Proceedings 9th IEEE Computer Security Foundations Workshop.

[49]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.

[50]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[51]  John D. Beasley The ins and outs of peg solitaire , 1985 .

[52]  Antti Valmari,et al.  The Weakest Deadlock-Preserving Congruence , 1995, Inf. Process. Lett..

[53]  Somesh Jha,et al.  Exploiting Symmetry In Temporal Logic Model Checking , 1993, CAV.

[54]  Amir Pnueli,et al.  A Platform for Combining Deductive with Algorithmic Verification , 1996, CAV.

[55]  Michael Goldsmith,et al.  Hierarchical Compression for Model-Checking CSP or How to Check 1020 Dining Philosophers for Deadlock , 1995, TACAS.

[56]  P. G. Allen,et al.  A comparison of non-interference and non-deducibility using CSP , 1991, Proceedings Computer Security Foundations Workshop IV.

[57]  Bill Roscoe,et al.  Routing messages through networks: an exercise in deadlock avoidance , 1987 .

[58]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[59]  Jim Davies,et al.  A Brief History of Timed CSP , 1995, Theor. Comput. Sci..

[60]  A. W. Roscoe,et al.  Composing and decomposing systems under security properties , 1995, Proceedings The Eighth IEEE Computer Security Foundations Workshop.

[61]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[62]  R. Bird Introduction to functional programming using Haskell, Second Edition , 1998 .

[63]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[64]  C. A. R. Hoare,et al.  The Laws of Occam Programming , 1988, Theor. Comput. Sci..

[65]  Kurt Jensen Condensed state spaces for symmetrical Coloured Petri Nets , 1996, Formal Methods Syst. Des..

[66]  Andrew William Roscoe A mathematical theory of communicating processes , 1982 .

[67]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[68]  A. W. Roscoe,et al.  Analysing TMFS: a Study of Nondeterminism in Real-Time Concurrency , 1991, Concurrency: Theory, Language, And Architecture.

[69]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[70]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[71]  Jim Woodcock,et al.  Non-interference through Determinism , 1994, J. Comput. Secur..

[72]  A. W. Roscoe,et al.  Fixed Points Without Completeness , 1995, Theor. Comput. Sci..

[73]  William F. McColl,et al.  Scalable Computing , 1995, Computer Science Today.

[74]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[75]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[76]  A. W. Roscoe,et al.  Proving security protocols with model checkers by data independence techniques , 1998, Proceedings. 11th IEEE Computer Security Foundations Workshop (Cat. No.98TB100238).

[77]  Bill Roscoe,et al.  Maintaining consistency in distributed databases , 1990 .

[78]  A. W. Roscoe,et al.  Verifying an infinite family of inductions simultaneously using data independence and FDR , 1999, FORTE.

[79]  A. W. Roscoe,et al.  Unbounded Nondeterminism in CSP , 1989, Mathematical Foundations of Programming Semantics.

[80]  Robert K. Brayton,et al.  Automatic Datapath Abstraction In Hardware Systems , 1995, CAV.

[81]  A. W. Roscoe Intensional specifications of security protocols , 1996, Proceedings 9th IEEE Computer Security Foundations Workshop.

[82]  Edsger W. Dijkstra,et al.  A Class of Simple Communication Patterns , 1982 .

[83]  Chris R. Jesshope,et al.  Adaptive, low latency, deadlock-free packet routing for networks of processors , 1989 .

[84]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[85]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[86]  Irène Guessarian,et al.  Algebraic semantics , 1981, Lecture Notes in Computer Science.

[87]  Steven A. Schneider,et al.  Correctness and communication in real-time systems (tcsp) , 1989 .

[88]  Stephen Blamey,et al.  The soundness and completeness of axioms for CSP processes , 1991 .

[89]  Bill Roscoe,et al.  An Operational Semantics for CSP , 1986 .

[90]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[91]  Robin Milner,et al.  Lectures on a Calculus for Communicating Systems , 1984, Seminar on Concurrency.

[92]  Peter H. Welch,et al.  Higher-Level Paradigms for Deadlock-Free High-Performance Systems , 1993 .

[93]  A. W. Roscoe CSP and determinism in security modelling , 1995, Proceedings 1995 IEEE Symposium on Security and Privacy.

[94]  A. W. Roscoe An Alternative Order for the Failures Model , 1992, J. Log. Comput..

[95]  A. W. Roscoe Modelling and verifying key-exchange protocols using CSP and FDR , 1995, Proceedings The Eighth IEEE Computer Security Foundations Workshop.

[96]  Philip Wadler,et al.  Theorems for free! , 1989, FPCA.

[97]  Nancy G. Leveson,et al.  Analyzing Safety and Fault Tolerance Using Time Petri Nets , 1985, TAPSOFT, Vol.2.

[98]  John Graham-Cumming,et al.  The formal development of secure systems , 1992 .

[99]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[100]  Stephen Brookes,et al.  Fair communicating processes , 1994 .

[101]  Stephen A. Jarvis,et al.  Concurrent systems - formal development in CSP , 1995, McGrawhill international series in software engineering.

[102]  Iain Phillips,et al.  Refusal Testing , 1986, Theoretical Computer Science.

[103]  W. W. Peterson,et al.  Error-Correcting Codes. , 1962 .

[104]  C. A. R. Hoare,et al.  From Algebra to Operational Semantics , 1993, Inf. Process. Lett..

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

[106]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[107]  Michael Goldsmith,et al.  Classifying unbounded nondeterminism in CSP , 1991 .