: Ronald Olsson, Aaron Keen
: The JR Programming Language
: Kluwer Academic Publishers
: 9781402080869
: 1
: CHF 77.20
:
: Sonstiges
: English
: 391
: DRM
: PC/MAC/eReader/Tablet
: PDF
The"JR Programming Language: Concurrent Programming in an Extended Java", an advanced-level text book, describes the JR programming language and illustrates how it can be used to write concurrent programs for a variety of applications. This text presents numerous small and large example programs. The source code for all programming examples and the given parts of all programming exercises are available on the JR webpage. Dr. Ronald A. Olsson and Dr. Aaron W. Keen, the authors of this text, are the designers and implementors of JR.  
Contents7
List of Figures15
List of Tables17
Preface19
Acknowledgments25
PART I EXTENSIONS FOR CONCURRENCY42
Chapter 1 INTRODUCTION27
1.1 Key JR Components29
1.2 Two Simple Examples30
1.3 Matrix Multiplication32
1.4 Concurrent File Search34
1.5 Critical Section Simulation36
1.6 Translating and Executing JR Programs38
1.7 Vocabulary and Notation39
Exercises39
Chapter 2 OVERVIEW OF EXTENSIONS43
2.1 Process Interactions via Operations43
2.2 Distributing JR Programs45
Chapter 3 OP-METHODS, OPERATIONS,AND CAPABILITIES47
3.1 Op- methods47
3.2 Operation and Method Declarations48
3.3 Operation Capabilities48
Exercises51
Chapter 4 CONCURRENT EXECUTION53
4.1 Process Declarations53
4.2 The Unabbreviated Form of Processes57
4.3 Static and Non- static Processes60
4.4 Process Scheduling and Priorities61
4.5 Automatic Termination Detection62
Exercises64
Chapter 5 SYNCHRONIZATION USINGSHARED VARIABLES69
5.1 The Critical Section Problem69
5.2 An Incorrect Solution71
5.3 An Alternating Solution72
5.4 The Bakery Algorithm for Two Processes73
5.5 The Bakery Algorithm for N Processes75
Exercises76
Chapter 6 SEMAPHORES79
6.1 Semaphore Declarations and Operations79
6.2 The Dining Philosophers Problem82
6.3 Barrier Synchronization84
Exercises87
Chapter 7 ASYNCHRONOUS MESSAGE PASSING91
7.1 Operations as Message Queues91
7.2 Invoking and Servicing via Capabilities94
7.3 Simple Client-Server Models96
7.4 Resource Allocation100
7.5 Semaphores Revisited103
7.6 Data- Containing Semaphores105
7.7 Shared Operations106
7.8 Parameter Passing Details109
Exercises110
Chapter 8 REMOTE PROCEDURE CALL117
8.1 Mechanisms for Remote Procedure Call117
8.2 Equivalence to Send/ Receive Pairs119
8.3 Return, Reply, and Forward Statements122
Exercises129
Chapter 9 RENDEZVOUS133
9.1 The Input Statement134
9.2 Receive Statement Revisited138
9.3 Synchronization Expressions141
9.4 Scheduling Expressions144
9.5 More Precise Semantics145
9.6 Break And Continue Statements146
9.7 Conditional Input147
9.8 Arrays of Operations148
9.9 Dynamic Operations149
9.10 Return‚ Reply‚ and Forward Statements150
Exercises154
Chapter 10 VIRTUAL MACHINES165
10.1 Program Start- Up and Execution Overview166
10.2 Creating Virtual Machines167
10.3 Creating Remote Objects169
10.4 Examples of Multiple Machine Programs170
10.5 Predefined Fields172