CSP notation has been used extensively for teaching and applying concurrency theory, ever since the publication of the text Communicating Sequential Processes by C.A.R. Hoare in 1985. Both a programming language and a specification language, the theory of CSP helps users to understand concurrent systems, and to decide whether a program meets its specification. As a member of the family of process algebras, the concepts of communication and interaction are presented in an algebraic style. An invaluable reference on the state of the art in CSP, Understanding Concurrent Systems also serves as a comprehensive introduction to the field, in addition to providing material for a number of more advanced courses. A first point of reference for anyone wanting to use CSP or learn about its theory, the book also introduces other views of concurrency, using CSP to model and explain these. The text is fully integrated with CSP-based tools such as FDR, and describes how to create new tools based on FDR. Most of the book relies on no theoretical background other than a basic knowledge of sets and sequences. Sophisticated mathematical arguments are avoided whenever possible. Topics and features: presents a comprehensive introduction to CSP; discusses the latest advances in CSP, covering topics of operational semantics, denotational models, finite observation models and infinite-behaviour models, and algebraic semantics; explores the practical application of CSP, including timed modelling, discrete modelling, parameterised verifications and the state explosion problem, and advanced topics in the use of FDR; examines the ability of CSP to describe and enable reasoning about parallel systems modelled in other paradigms; covers a broad variety of concurrent systems, including combinatorial, timed, priority-based, mobile, shared variable, statecharts, buffered and asynchronous systems; contains exercises and case studies to support the text; supplies further tools and information at the associated website: http://www.comlab.ox.ac.uk/ucs/. From undergraduate students of computer science in need of an introduction to the area, to researchers and practitioners desiring a more in-depth understanding of theory and practice of concurrent systems, this broad-ranging text/reference is essential reading for anyone interested in Hoares CSP.
Cited By
- Baxter J, Carvalho G, Cavalcanti A and Júnior F (2023). RoboWorld: Verification of Robotic Systems with Environment in the Loop, Formal Aspects of Computing, 35:4, (1-46), Online publication date: 31-Dec-2024.
- Du D, Cavalcanti A and Nie J RoboSimVer: A Tool for RoboSim Modeling and Analysis Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering, (1-4)
- Murray Y, Sirevåg M, Ribeiro P, Anisi D and Mossige M (2022). Safety assurance of an industrial robotic control system using hardware/software co-verification, Science of Computer Programming, 216:C, Online publication date: 1-Apr-2022.
- Cavalcanti A, Hierons R and Nogueira S (2020). Inputs and Outputs in CSP, ACM Transactions on Computational Logic, 21:3, (1-53), Online publication date: 22-May-2020.
- Durier A, Hirschkoff D and Sangiorgi D (2020). Towards ‘up to context’ reasoning about higher-order processes, Theoretical Computer Science, 807:C, (154-168), Online publication date: 6-Feb-2020.
- Miyazawa A, Ribeiro P, Li W, Cavalcanti A, Timmis J and Woodcock J (2019). RoboChart, Software and Systems Modeling (SoSyM), 18:5, (3097-3149), Online publication date: 1-Oct-2019.
- Gibson-Robinson T and Lowe G (2019). Symmetry reduction in CSP model checking, International Journal on Software Tools for Technology Transfer (STTT), 21:5, (567-605), Online publication date: 1-Oct-2019.
- Antonino P, Gibson-Robinson T and Roscoe A (2019). Efficient Verification of Concurrent Systems Using Synchronisation Analysis and SAT/SMT Solving, ACM Transactions on Software Engineering and Methodology, 28:3, (1-43), Online publication date: 17-Aug-2019.
- Peleska J, Huang W and Cavalcanti A (2019). Finite complete suites for CSP refinement testing, Science of Computer Programming, 179:C, (1-23), Online publication date: 15-Jun-2019.
- Cavalcanti A and Simao A (2019). Fault-based refinement-testing for CSP, Software Quality Journal, 27:2, (529-562), Online publication date: 1-Jun-2019.
- Debreceni C, Bergmann G, Ráth I and Varró D (2019). Enforcing fine-grained access control for secure collaborative modelling using bidirectional transformations, Software and Systems Modeling (SoSyM), 18:3, (1737-1769), Online publication date: 1-Jun-2019.
- Reisig W (2019). Associative composition of components with double-sided interfaces, Acta Informatica, 56:3, (229-253), Online publication date: 1-Apr-2019.
- Xiang S, Wu X, Zhu H, Xie W, Xiao L and Vinh P (2019). Modeling and Verifying Basic Modules of Floodlight, Mobile Networks and Applications, 24:1, (100-114), Online publication date: 15-Feb-2019.
- Valmari A and Vogler W (2018). Fair testing and stubborn sets, International Journal on Software Tools for Technology Transfer (STTT), 20:5, (589-610), Online publication date: 1-Oct-2018.
- Huang W and Peleska J (2018). Model-based testing strategies and their (in)dependence on syntactic model representations, International Journal on Software Tools for Technology Transfer (STTT), 20:4, (441-465), Online publication date: 1-Aug-2018.
- Foughali M, Berthomieu B, Zilio S, Hladik P, Ingrand F and Mallet A Formal verification of complex robotic systems on resource-constrained platforms Proceedings of the 6th Conference on Formal Methods in Software Engineering, (2-9)
- Mislove M (2018). Semantics column, ACM SIGLOG News, 5:2, (17-19), Online publication date: 30-Apr-2018.
- van den Berghe A, Yskout K, Joosen W and Scandariato R A model for provably secure software design Proceedings of the 5th International FME Workshop on Formal Methods in Software Engineering, (3-9)
- Antonino P, Gibson-Robinson T and Roscoe A The Automatic Detection of Token Structures and Invariants Using SAT Checking Proceedings, Part II, of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 10206, (249-265)
- Valmari A (2017). Stop It, and Be Stubborn!, ACM Transactions on Embedded Computing Systems, 16:2, (1-26), Online publication date: 14-Apr-2017.
- Xie W, Zhu H, Wu X, Xiang S, Guo J and Vinh P (2017). Modeling and Verifying HDFS Using Process Algebra, Mobile Networks and Applications, 22:2, (318-331), Online publication date: 1-Apr-2017.
- Ye K and Woodcock J (2017). Model checking of state-rich formalism [InlineEquation not available, International Journal on Software Tools for Technology Transfer (STTT), 19:1, (73-96), Online publication date: 1-Feb-2017.
- Sangiorgi D (2017). Equations, Contractions, and Unique Solutions, ACM Transactions on Computational Logic, 18:1, (1-30), Online publication date: 31-Jan-2017.
- Narayanaswamy G, Joshi S and Kroening D (2016). The virtues of conflict, ACM SIGPLAN Notices, 51:8, (1-12), Online publication date: 9-Nov-2016.
- Oliveira M, Antonino P, Ramos R, Sampaio A, Mota A and Roscoe A (2016). Rigorous development of component-based systems using component metadata and patterns, Formal Aspects of Computing, 28:6, (937-1004), Online publication date: 1-Nov-2016.
- Claude G, Gouranton V, Caillaud B, Gibaud B, Jannin P and Arnaldi B From observations to collaborative simulation Proceedings of the 26th International Conference on Artificial Reality and Telexistence and the 21st Eurographics Symposium on Virtual Environments, (85-92)
- Stathakidis E, Williams D and Heather J (2016). Constructing and verifying a robust Mix Net using CSP, Software and Systems Modeling (SoSyM), 15:4, (1063-1089), Online publication date: 1-Oct-2016.
- Moran M, Heather J and Schneider S (2016). Automated anonymity verification of the ThreeBallot and VAV voting systems, Software and Systems Modeling (SoSyM), 15:4, (1049-1062), Online publication date: 1-Oct-2016.
- Freitas L, Baxter J, Cavalcanti A and Wellings A Modelling and Verifying a Priority Scheduler for an SCJ Runtime Environment Proceedings of the 12th International Conference on Integrated Formal Methods - Volume 9681, (63-78)
- Antonino P, Gibson-Robinson T and Roscoe A Efficient Deadlock-Freedom Checking Using Local Analysis and SAT Solving Proceedings of the 12th International Conference on Integrated Formal Methods - Volume 9681, (345-360)
- Lowe G (2016). Concurrent depth-first search algorithms based on Tarjan's Algorithm, International Journal on Software Tools for Technology Transfer (STTT), 18:2, (129-147), Online publication date: 1-Apr-2016.
- Gibson-Robinson T, Armstrong P, Boulgakov A and Roscoe A (2016). FDR3, International Journal on Software Tools for Technology Transfer (STTT), 18:2, (149-167), Online publication date: 1-Apr-2016.
- Narayanaswamy G, Joshi S and Kroening D The virtues of conflict Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, (1-12)
- Roscoe A (2015). The Expressiveness of CSP With Priority, Electronic Notes in Theoretical Computer Science (ENTCS), 319:C, (387-401), Online publication date: 21-Dec-2015.
- Siirtola A and Heljanko K (2015). Parametrised Modal Interface Automata, ACM Transactions on Embedded Computing Systems, 14:4, (1-25), Online publication date: 8-Dec-2015.
- Nielsen C, Larsen P, Fitzgerald J, Woodcock J and Peleska J (2015). Systems of Systems Engineering, ACM Computing Surveys, 48:2, (1-41), Online publication date: 21-Nov-2015.
- Sangiorgi D The Proof Technique of Unique Solutions of Contractions Proceedings of the 12th International Colloquium on Theoretical Aspects of Computing - ICTAC 2015 - Volume 9399, (63-68)
- Cavalcanti A, Huang W, Peleska J and Woodcock J CSP and Kripke Structures Proceedings of the 12th International Colloquium on Theoretical Aspects of Computing - ICTAC 2015 - Volume 9399, (505-523)
- Baxter J, Cavalcanti A, Wellings A and Freitas L Safety-Critical Java Virtual Machine Services Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems, (1-10)
- Al-Humaimeedy A and Fernández M Enhancing the specification and verification techniques of multiparty sessions in SOC Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming, (19-30)
- Narayanaswamy G When truth is efficient: analysing concurrency Proceedings of the 2015 International Symposium on Software Testing and Analysis, (141-152)
- Simpson A, Martin A, Cremers C, Flechais I, Martinovic I and Rasmussen K Experiences in developing and delivering a programme of part-time education in software and systems security Proceedings of the 37th International Conference on Software Engineering - Volume 2, (435-444)
- Sangiorgi D (2015). Equations, Contractions, and Unique Solutions, ACM SIGPLAN Notices, 50:1, (421-432), Online publication date: 11-May-2015.
- Hense A CSPm models for the ATM case study Proceedings of the 7th International Conference on Subject-Oriented Business Process Management, (1-7)
- Valmari A (2015). On constructibility and unconstructibility of LTS operators from other LTS operators, Acta Informatica, 52:2-3, (207-234), Online publication date: 1-Apr-2015.
- Sangiorgi D Equations, Contractions, and Unique Solutions Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (421-432)
- Zhu M, Grogono P and Ormandjieva O (2015). Using Category Theory to Verify Implementation Against Design in Concurrent Systems, Procedia Computer Science, 52:C, (530-537), Online publication date: 1-Jan-2015.
- Antonino P, Sampaio A and Woodcock J A Refinement Based Strategy for Local Deadlock Analysis of Networks of CSP Processes Proceedings of the 19th International Symposium on FM 2014: Formal Methods - Volume 8442, (62-77)
- Woodcock J Engineering UToPiA Proceedings of the 19th International Symposium on FM 2014: Formal Methods - Volume 8442, (22-41)
- Antonino P, Oliveira M, Sampaio A, Kristensen K and Bryans J Leadership Election Proceedings of the 6th International Symposium on NASA Formal Methods - Volume 8430, (31-45)
- Song W, Liu Y and Li J (2014). Mining high utility itemsets by dynamically pruning the tree structure, Applied Intelligence, 40:1, (29-43), Online publication date: 1-Jan-2014.
- Moran M, Heather J and Schneider S (2014). Verifying anonymity in voting systems using CSP, Formal Aspects of Computing, 26:1, (63-98), Online publication date: 1-Jan-2014.
- Cavalcanti A and Hierons R Testing with inputs and outputs in CSP Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering, (359-374)
- Roscoe A and Hopcroft P Slow abstraction via priority Theories of Programming and Formal Methods, (326-345)
- Shi L, Liu Y, Sun J, Dong J and Carvalho G An analytical and experimental comparison of CSP extensions and tools Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering, (381-397)
- Abdelhalim I, Schneider S and Treharne H An optimization approach for effective formalized fUML model checking Proceedings of the 10th international conference on Software Engineering and Formal Methods, (248-262)
- Williams D, de Ruiter J and Fokkink W Model checking under fairness in proB and its application to fair exchange protocols Proceedings of the 9th international conference on Theoretical Aspects of Computing, (168-182)
- Valmari A All linear-time congruences for familiar operators part 2 Proceedings of the 23rd international conference on Concurrency Theory, (162-176)
- Armstrong P, Goldsmith M, Lowe G, Ouaknine J, Palikareva H, Roscoe A and Worrell J Recent developments in FDR Proceedings of the 24th international conference on Computer Aided Verification, (699-704)
- Isobe Y, Moller F, Nguyen H and Roggenbach M Safety and line capacity in railways --- an approach in timed CSP Proceedings of the 9th international conference on Integrated Formal Methods, (54-68)
- Hooman J, Mooij A and van Wezep H Early fault detection in industry using models at various abstraction levels Proceedings of the 9th international conference on Integrated Formal Methods, (268-282)
- Ouaknine J, Palikareva H, Roscoe A and Worrell J Static livelock analysis in CSP Proceedings of the 22nd international conference on Concurrency theory, (389-403)
- O'Reilly L, Mossakowski T and Roggenbach M Compositional modelling and reasoning in an institution for processes and data Proceedings of the 20th international conference on Recent Trends in Algebraic Development Techniques, (251-269)
- Roscoe A, Armstrong P and Pragyesh Local Search in Model Checking Automated Technology for Verification and Analysis, (22-38)
- Fei Y, Zhu H and Yin J FVF-AKA: A Formal Verification Framework of AKA Protocols for Multi-server IoT, Formal Aspects of Computing, 0:0
Index Terms
- Understanding Concurrent Systems