Olsson / Keen | The JR Programming Language | E-Book | www2.sack.de
E-Book

E-Book, Englisch, Band 774, 391 Seiten

Reihe: The Springer International Series in Engineering and Computer Science

Olsson / Keen The JR Programming Language

Concurrent Programming in an Extended Java
1. Auflage 2006
ISBN: 978-1-4020-8086-9
Verlag: Springer US
Format: PDF
Kopierschutz: 1 - PDF Watermark

Concurrent Programming in an Extended Java

E-Book, Englisch, Band 774, 391 Seiten

Reihe: The Springer International Series in Engineering and Computer Science

ISBN: 978-1-4020-8086-9
Verlag: Springer US
Format: PDF
Kopierschutz: 1 - PDF Watermark



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.

Olsson / Keen The JR Programming Language jetzt bestellen!

Weitere Infos & Material


1;Contents;7
2;List of Figures;15
3;List of Tables;17
4;Preface;19
5;Acknowledgments;25
6;PART I EXTENSIONS FOR CONCURRENCY;42
6.1;Chapter 1 INTRODUCTION;27
6.1.1;1.1 Key JR Components;29
6.1.2;1.2 Two Simple Examples;30
6.1.3;1.3 Matrix Multiplication;32
6.1.4;1.4 Concurrent File Search;34
6.1.5;1.5 Critical Section Simulation;36
6.1.6;1.6 Translating and Executing JR Programs;38
6.1.7;1.7 Vocabulary and Notation;39
6.1.8;Exercises;39
6.2;Chapter 2 OVERVIEW OF EXTENSIONS;43
6.2.1;2.1 Process Interactions via Operations;43
6.2.2;2.2 Distributing JR Programs;45
6.3;Chapter 3 OP-METHODS, OPERATIONS,AND CAPABILITIES;47
6.3.1;3.1 Op- methods;47
6.3.2;3.2 Operation and Method Declarations;48
6.3.3;3.3 Operation Capabilities;48
6.3.4;Exercises;51
6.4;Chapter 4 CONCURRENT EXECUTION;53
6.4.1;4.1 Process Declarations;53
6.4.2;4.2 The Unabbreviated Form of Processes;57
6.4.3;4.3 Static and Non- static Processes;60
6.4.4;4.4 Process Scheduling and Priorities;61
6.4.5;4.5 Automatic Termination Detection;62
6.4.6;Exercises;64
6.5;Chapter 5 SYNCHRONIZATION USINGSHARED VARIABLES;69
6.5.1;5.1 The Critical Section Problem;69
6.5.2;5.2 An Incorrect Solution;71
6.5.3;5.3 An Alternating Solution;72
6.5.4;5.4 The Bakery Algorithm for Two Processes;73
6.5.5;5.5 The Bakery Algorithm for N Processes;75
6.5.6;Exercises;76
6.6;Chapter 6 SEMAPHORES;79
6.6.1;6.1 Semaphore Declarations and Operations;79
6.6.2;6.2 The Dining Philosophers Problem;82
6.6.3;6.3 Barrier Synchronization;84
6.6.4;Exercises;87
6.7;Chapter 7 ASYNCHRONOUS MESSAGE PASSING;91
6.7.1;7.1 Operations as Message Queues;91
6.7.2;7.2 Invoking and Servicing via Capabilities;94
6.7.3;7.3 Simple Client-Server Models;96
6.7.4;7.4 Resource Allocation;100
6.7.5;7.5 Semaphores Revisited;103
6.7.6;7.6 Data- Containing Semaphores;105
6.7.7;7.7 Shared Operations;106
6.7.8;7.8 Parameter Passing Details;109
6.7.9;Exercises;110
6.8;Chapter 8 REMOTE PROCEDURE CALL;117
6.8.1;8.1 Mechanisms for Remote Procedure Call;117
6.8.2;8.2 Equivalence to Send/ Receive Pairs;119
6.8.3;8.3 Return, Reply, and Forward Statements;122
6.8.4;Exercises;129
6.9;Chapter 9 RENDEZVOUS;133
6.9.1;9.1 The Input Statement;134
6.9.2;9.2 Receive Statement Revisited;138
6.9.3;9.3 Synchronization Expressions;141
6.9.4;9.4 Scheduling Expressions;144
6.9.5;9.5 More Precise Semantics;145
6.9.6;9.6 Break And Continue Statements;146
6.9.7;9.7 Conditional Input;147
6.9.8;9.8 Arrays of Operations;148
6.9.9;9.9 Dynamic Operations;149
6.9.10;9.10 Return‚ Reply‚ and Forward Statements;150
6.9.11;Exercises;154
6.10;Chapter 10 VIRTUAL MACHINES;165
6.10.1;10.1 Program Start- Up and Execution Overview;166
6.10.2;10.2 Creating Virtual Machines;167
6.10.3;10.3 Creating Remote Objects;169
6.10.4;10.4 Examples of Multiple Machine Programs;170
6.10.5;10.5 Predefined Fields;172
6.10.6;10.6 Parameterized Virtual Machines;175
6.10.7;10.7 Parameter Passing Details;177
6.10.8;10.8 Other Aspects of Virtual Machines;178
6.10.9;Exercises;179
6.11;Chapter 11 THE DINING PHILOSOPHERS;185
6.11.1;11.1 Centralized Solution;186
6.11.2;11.2 Distributed Solution;188
6.11.3;11.3 Decentralized Solution;191
6.11.4;Exercises;195
6.12;Chapter 12 EXCEPTIONS;199
6.12.1;12.1 Operations and Capabilities;199
6.12.2;12.2 Input Statements;200
6.12.3;12.3 Asynchronous Invocation;200
6.12.4;12.4 Additional Sources of Asynchrony;203
6.12.5;12.5 Exceptions and Operations;205
6.12.6;Exercises;206
6.13;Chapter 13 INHERITANCE OF OPERATIONS;211
6.13.1;13.1 Operation Inheritance;212
6.13.2;13.2 Example: Distributing Operation Servicing;213
6.13.3;13.3 Example: Filtering Operation Servicing;214
6.13.4;13.4 Redefinition Considerations;216
6.13.5;Exercises;217
6.14;Chapter 14 INTER-OPERATIONINVOCATION SELECTION MECHANISM;219
6.14.1;14.1 Selection Method Expression;220
6.14.2;14.2 View Statement;223
6.14.3;14.3 Selection Method Support Classes;224
6.14.4;14.4 Examples;226
6.14.5;Exercises;230
7;PART II APPLICATIONS;235
7.1;Chapter 15 PARALLEL MATRIX MULTIPLICATION;237
7.1.1;15.1 Prescheduled Strips;238
7.1.2;15.2 Dynamic Scheduling: A Bag of Tasks;241
7.1.3;15.3 A Distributed Broadcast Algorithm;243
7.1.4;15.4 A Distributed Heartbeat Algorithm;246
7.1.5;Exercises;249
7.2;Chapter 16 SOLVING PDEs: GRID COMPUTATIONS;253
7.2.1;16.1 A Data Parallel Algorithm;254
7.2.2;16.2 Prescheduled Strips;258
7.2.3;16.3 A Distributed Heartbeat Algorithm;262
7.2.4;16.4 Using Multiple Virtual Machines;266
7.2.5;Exercises;267
7.3;Chapter 17 THE TRAVELING SALESMAN PROBLEM;273
7.3.1;17.1 Sequential Solution;274
7.3.2;17.2 Replicated Workers and a Bag of Tasks;277
7.3.3;17.3 Manager and Workers;280
7.3.4;Exercises;284
7.4;Chapter 18 A DISTRIBUTED FILE SYSTEM;289
7.4.1;18.1 System Structure;290
7.4.2;18.2 Directory and File Servers;292
7.4.3;18.3 User Interface;298
7.4.4;Exercises;306
7.5;Chapter 19 DISCRETE EVENT SIMULATION;309
7.5.1;19.1 A Simulation Problem;309
7.5.2;19.2 A Solution;311
7.5.3;19.3 Observations;316
7.5.4;Exercises;317
7.6;Chapter 20 INTERFACING JR AND GUIs;319
7.6.1;20.1 BnB Game Overview;319
7.6.2;20.2 BnB Code Overview;320
7.6.3;20.3 Miscellany;334
7.6.4;Exercises;336
7.7;Chapter 21 PREPROCESSORS FOR OTHER CONCURRENCY NOTATIONS;339
7.7.1;21.1 Conditional Critical Regions (CCRs);339
7.7.2;21.2 Monitors;342
7.7.3;21.3 Communicating Sequential Processes (CSP);346
7.7.4;Exercises;351
8;Appendix A Synopsis of JR Extensions;357
9;Appendix B Invocation and Enumeration Classes;363
10;Appendix C Program Development and Execution;367
11;Appendix D Implementation and Performance;369
11.1;D.1 JR Virtual Machines;369
11.2;D. 2 Remote Objects;370
11.2.1;D.2.1 Remote Class Loading;370
11.3;D. 3 Operations and Operation Capabilities;371
11.4;D. 4 Invocation Statements;371
11.4.1;D. 4.1 Inheritance;372
11.5;D. 5 Input Statements;372
11.6;D. 6 Quiescence Detection;372
11.7;D. 7 Performance Results;373
12;Appendix E History of JR;377
13;References;381
14;Index;385
15;More eBook at www.ciando.com;0



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.