Theory of Structured Parallel Programming is a comprehensive guide to structured parallel programming corresponding to traditional structured sequential programming. The book provides readers with comprehensive coverage of theoretical foundations of structured parallel programming, including analyses of parallelism and concurrency, truly concurrent process algebras, building block-based structured parallel programming, modelling and verification of parallel programming language, modelling and verification of parallel programming patterns, as well as modeling and verification of distributed systems.
There have been always two ways to approach parallel computing: one is the structured way, and the other is the graph-based (true concurrent) way. The structured way is often based on the interleaving semantics, such as process algebra CCS. Since the parallelism in interleaving semantics is not a fundamental computational pattern (the parallel operator can be replaced by alternative composition and sequential composition), the parallel operator often does not occur as an explicit operator, such as in the mainstream programming languages C, C++, Java, et al.
1. 1 Introduction - p. 1 2. 2 Parallelism and concurrency - p. 3 3. 3 Truly concurrent process algebra - p. 11 4. 3.1: Operational semantics - p. 11 5. 3.2: Proof techniques - p. 12 6. 3.3: Basic algebra for true concurrency - p. 13 7. 3.4: Algebra for parallelism in true concurrency - p. 15 8. 3.5: Recursion - p. 17 9. 3.6: Abstraction - p. 19 10. 3.7: Placeholder - p. 22 11. 3.8: Axiomatization for hhp-bisimilarity - p. 24 12. 3.9: APTC with asynchronous communication - p. 31 13. 3.10: Applications - p. 35 14. 4 Guarded APTC - p. 43 15. 4.1: Operational semantics - p. 43 16. 4.2: BATC with guards - p. 45 17. 4.3: APTC with guards - p. 48 18. 4.4: Recursion - p. 50 19. 4.5: Abstraction - p. 52 20. 5 Distributed APTC - p. 59 21. 6 Building blocks based structured parallel programming - p. 77 22. 7 Modeling and verification of parallel programming languages - p. 83 23. 8 Modeling and verification of parallel programming patterns - p. 85 24. 9 Modeling and verification of distributed systems - p. 99 25. 9.1: A model of distributed computations - p. 99 26. 9.2: Distributed transactions - p. 101 27. 9.3: Authentication in distributed systems - p. 106 28. 9.3.1: Protocols based on symmetric cryptosystems - p. 107 29. 9.3.2: Protocols based on asymmetric cryptosystems - p. 115 30. A A parallel programming language - p. 125 31. References - p. 143 32. Index - p. 145
Theory of Structured Parallel Programming is a comprehensive guide to structured parallel programming corresponding to traditional structured sequential programming. The book provides readers with comprehensive coverage of theoretical foundations of structured parallel programming, including analyses of parallelism and concurrency, truly concurrent process algebras, building block-based structured parallel programming, modelling and verification of parallel programming language, modelling and verification of parallel programming patterns, as well as modeling and verification of distributed systems.
There have been always two ways to approach parallel computing: one is the structured way, and the other is the graph-based (true concurrent) way. The structured way is often based on the interleaving semantics, such as process algebra CCS. Since the parallelism in interleaving semantics is not a fundamental computational pattern (the parallel operator can be replaced by alternative composition and sequential composition), the parallel operator often does not occur as an explicit operator, such as in the mainstream programming languages C, C++, Java, et al.
1. 1 Introduction - p. 1 2. 2 Parallelism and concurrency - p. 3 3. 3 Truly concurrent process algebra - p. 11 4. 3.1: Operational semantics - p. 11 5. 3.2: Proof techniques - p. 12 6. 3.3: Basic algebra for true concurrency - p. 13 7. 3.4: Algebra for parallelism in true concurrency - p. 15 8. 3.5: Recursion - p. 17 9. 3.6: Abstraction - p. 19 10. 3.7: Placeholder - p. 22 11. 3.8: Axiomatization for hhp-bisimilarity - p. 24 12. 3.9: APTC with asynchronous communication - p. 31 13. 3.10: Applications - p. 35 14. 4 Guarded APTC - p. 43 15. 4.1: Operational semantics - p. 43 16. 4.2: BATC with guards - p. 45 17. 4.3: APTC with guards - p. 48 18. 4.4: Recursion - p. 50 19. 4.5: Abstraction - p. 52 20. 5 Distributed APTC - p. 59 21. 6 Building blocks based structured parallel programming - p. 77 22. 7 Modeling and verification of parallel programming languages - p. 83 23. 8 Modeling and verification of parallel programming patterns - p. 85 24. 9 Modeling and verification of distributed systems - p. 99 25. 9.1: A model of distributed computations - p. 99 26. 9.2: Distributed transactions - p. 101 27. 9.3: Authentication in distributed systems - p. 106 28. 9.3.1: Protocols based on symmetric cryptosystems - p. 107 29. 9.3.2: Protocols based on asymmetric cryptosystems - p. 115 30. A A parallel programming language - p. 125 31. References - p. 143 32. Index - p. 145