- Out-of-Stock
Table of Contents
Preface
Chapter 1. What is concurrent programming?
1.1. Introduction
1.2. Concurrency as an abstraction of parallelism. Multitasking
1.3. Terminology of concurrency
1.4. Computers multiplied
1.5. The tasks of concurrent programming
Chapter 2. Abstraction of concurrent programming
2.1. The role of abstraction
2.2. A concurrent execution as an interlace of atomic instructions
2.3. Justification of the adopted abstraction
2.4. Any interleaving
2.5. Atomic instructions
2.6. correctness
2.7. Honesty
2.8. Machine orders "4
2.9. Variable and nonatomic variables "4
2.10. BACIL concurrency simulator
2.11. Concurrency in AdaL
2.12. Concurrency in JavaL
2.13. Concurrency in PromelaL
2.14. Addition: state diagram of a puzzle
Chapter 3. Testing of mutual exclusion
3.1. Introduction
3.2. Formulating the problem
3.3. First try
3.4. Proving correctness by means of state diagrams
3.5. The correctness of the first attempt
3.6. Second try
3.7. Third attempt
3.8. The fourth attempt
3.9. Dekker algorithm
3.10. Complex atomic instructions
Chapter 4. Verification correctness concurrent programs
4.1. Specification of correctness property in the language of logic
4.2. Inductive proofs of invariants
4.3. Basic concepts of temporal logic
4.4. Advanced concepts of temporal logic ^
4.5. Deductive proof of the correctness of the DekkerA algorithm
4.6. Verification by model
4.7. The Promel modeling language in the SpinL system
4.8. Verification of correctness conditions in the SpinL system
4.9. Selection of verification technique ^
Chapter 5. Complex algorithms for solving the problem of mutual exclusion "4
5.1. Baking algorithm
5.2. Baker's algorithm for many processes
5.3. Less restrictive concurrency models
5.4. Quick algorithms
5.5. Implementations in PromelaL language
Chapter 6. semaphores
6.1. Process states
6.2. Definition of semaphore type
6.3. The problem of mutual exclusion for two processes
6.4. Semaphore invariants
6.5. The problem of mutual exclusion for N processes
6.6. Problems that need to synchronize the execution order
6.7. Problem of the producer-consumer
6.8. Definitions of semaphores
6.9. The problem of five philosophers
6.10. Barza simulation of general semaphores'4
6.11. Udding algorithm without starvation "4
6.12. Semaphores in BACIL
6.13. Semaphores in Ada ^
6.14. Semaphores in language, TavaL
6.15. Semaphores in PromelaL language
Chapter 7. Monitors
7.1. Introduction
7.2. Declaration and use of monitors
7.3. Conditional variables
7.4. Problem of the producer-consumer
7.5. Requirement for immediate resumption of performance
7.6. The problem of readers and writers
7.7. The correctness of the readers 'and writers' algorithm ^ 4
7.8. A monitor solution to the problem of five philosophers
7.9. Monitors in the BACI simulator
7.10. Protected objects
7.11. Monitors in Java ^ 1
7.12. Simulation of monitors in Promeli7 '
Chapter 8. Channels
8.1. Communication models
8.2. Channels
8.3. Parallel matrix multiplication
8.4. The solution to the problem of five philosophers through channels
8.5. Channels in PromelaL language
8.6. Dating
8.7. Remote procedure calls "4
Chapter 9. Space
9.1. Concurrency model used in Linda language
9.2. Expression of the model in Linda language
9.3. Formal parameters
9.4. Pattern supervisor-worker
9.5. Implementations of tuple spaceL
Chapter 10. Distributed algorithms
10.1. Distributed system model
10.2. implementations
10.3. Mutual disintegration
10.4. The correctness of the Ricart-Agrawali algorithm
10.5. The RA algorithm in PromelaL
10.6. Chip passing algorithms
10.7. Tokens in virtual trees ^ 1
ChAPTeR 11. Global Properties
11.1. Distributed completion of the implementation
11.2. Dijkstra-Scholten algorithm
11.3. Collection algorithms
11.4. Snapshots
Chapter 12. Reconciliation
12.1. Introduction
12.2. Formulating the problem
12.3. One-round algorithm
12.4. An algorithm of Byzantine generals
12.5. collapse
12.6. Knowledge trees
12.7. Byzantine failures with three generals
12.8. Byzantine failures with four generals
12.9. Spreading algorithm
12.10. The king's algorithm
12.11. No solution for three generals ^ 1
Chapter 13. Real-time systems
13.1. Introduction
13.2. definitions
13.4. Reliability and repeatability
13.5. Synchronous systems
13.6. Asynchronous systems
13.7. Systems controlled by interruptions
13.8. Reversal and inheritance of priorities
13.9. Specification of the Mars Pathfmder probe in the Spin-6 system
13.10. Simpson's algorithm "4
13.11. RavenscarL profile
13.12. UPPAALL
13.13. Schedule algorithms for real-time systems
Appendix A. pseudocode
Appendix B. Basic concepts of mathematical logic
bl Sentence calculus
B.2. Induction
B.3. Command methods
B.4. Correctness of sequential programs
Appendix C. Concurrent programming problems
Appendix D. Development tools
dl BACI and jBACI simulators
D.2. Spin and jSpin systems
D.3. DAJ system
Appendix E. Further reading
Bibliography
Index
Shield for Arduino containing the most commonly used peripherals in an easy-to-use form. It is equipped with: OLED display, RGB diode, buttons, temperature and humidity sensor and joystick. DFRobot DFR0270
No product available!
No product available!
This is a great battery-backed real time clock (RTC) that allows your microcontroller project to keep track of time even if it is reprogrammed, or if the power is lost. Perfect for datalogging, clock-building, time stamping, timers and alarms, etc. Adafruit 264
No product available!
Assembled, remote controlled switch with two relays. AVT5551 C
No product available!
No product available!
No product available!
Pin strip straight in black, double-breasted, female, 2x14, pitch 2.54mm, THT, RoHS. PBD28S
No product available!
EPCglobal Gen2 Ultra-Thin Adhesive RFID Tags Compatible with Simultaneous RFID Reader. SparkFun WRL-20226
No product available!
No product available!
No product available!
No product available!
3.5 "TFT display with touch panel, transparent housing and 16 GB SD card for Raspberry Pi 3. ArduCAM U470302
No product available!
Orange Pi Zero is a mini-computer with a powerful H2 Quad-Core ARM Cortex-A7 processor at a very good price. The computer is equipped with 256 MB DDR3 RAM, WiFi module, Ethernet 10 / 100Mbps port and 1x USB Host, 1x microUSB OTG, 26 GPIO and microSD card connector. Works with Android, Lubuntu, Debian and Raspbian systems
No product available!
No product available!
Line Follwer mobile platform with two motors, 5 reflection sensors, LCD display, buzzer and three user buttons. Based on the ATmega328 AVR microcontroller programmed in C. Pololu 975
No product available!
No product available!