Download GLADE User's Guide

Transcript
i
Table of Contents
About This Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What This Guide Contains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1
Introduction to Distributed Systems . . . . . . . . 3
1.1
1.2
1.3
2
Using OS Network Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Using a Middleware Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Using a Distributed Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
The Distributed Systems Annex . . . . . . . . . . . . 7
2.1
2.2
2.3
2.4
Architecture of a Distributed Ada95 Application . . . . . . . . . . . . . . . 7
Categorization Pragmas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Pragma Declared Pure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Pragma Remote Call Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.1 Overview of Pragma Remote Call Interface . . . . . . . . . . . . . . 10
2.4.2 Regular Remote Subprograms (RCI) . . . . . . . . . . . . . . . . . . . . 10
2.4.3 Remote Access to Subprograms (RAS) . . . . . . . . . . . . . . . . . . 11
2.4.4 Remote Access to Class Wide Types (RACW) . . . . . . . . . . . 12
2.4.5 Summary on Pragma Remote Call Interface . . . . . . . . . . . . . 13
2.5 Pragma Remote Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5.1 Overview of Pragma Remote Types . . . . . . . . . . . . . . . . . . . . . 13
2.5.2 Distributed Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.3 Transmitting Dynamic Structure . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.4 Summary on Remote Types Units . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Pragma Shared Passive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.1 Overview of Pragma Shared Passive. . . . . . . . . . . . . . . . . . . . . 17
2.6.2 Shared and Protected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.3 Summary on Pragma Shared Passive . . . . . . . . . . . . . . . . . . . . 18
2.7 More About Categorization Pragmas . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.1 Variables and Non-Remote Access Types . . . . . . . . . . . . . . . . 18
2.7.2 RPC Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.3 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.4 Pragma Asynchronous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7.5 Pragma All Calls Remote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7.6 Generic Categorized Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7.7 Categorization Unit Dependencies . . . . . . . . . . . . . . . . . . . . . . . 23
2.8 Partition Communication Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.1 Marshaling and Unmarshaling Operations . . . . . . . . . . . . . . . 24
2.8.2 Incorrect Remote Dispatching . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.3 Partition Ids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.4 Concurrent Remote Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.5 Consistency and Elaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8.6 Abortion and Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.9 Most Features in One Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26