Foreword |
Acknowledgments |
Introduction / 1: |
Object-Oriented Programming / 1.1: |
Actors / 1.2: |
Coordination / 1.3: |
Overview / 1.4: |
Synchronization Constraints / 2: |
Design Considerations / 2.1: |
Specification of Synchronization Constraints / 2.2: |
Inheritance of Synchronization Constraints / 2.3: |
Refinement of Synchronization Constraints / 2.4: |
Possible Extensions / 2.5: |
Set-Based Patterns / 2.5.1: |
Message Priority / 2.5.2: |
Garbage Collection of Obsolete Messages / 2.5.3: |
Related Work / 2.6: |
Semaphores and Monitors / 2.6.1: |
Path Expressions / 2.6.2: |
Receive Actions / 2.6.3: |
Activation Conditions / 2.6.4: |
Explicit Method Enabling / 2.6.5: |
Hybrid Approaches / 2.6.6: |
Conclusion / 2.7: |
Synchronizers / 3: |
Synchronizers and Synchronization Constraints / 3.1: |
Functionality of Synchronizers / 3.3: |
Language Support for Synchronizers / 3.4: |
Message Patterns / 3.4.1: |
Triggers / 3.4.2: |
Disabling Constraints / 3.4.3: |
Atomicity Constraints / 3.4.4: |
Composing Disabling and Atomicity Constraints / 3.4.5: |
Combined Evaluation / 3.5: |
Application of Synchronizers / 3.6: |
Constraining Specific Messages / 3.7: |
Conditions for Synchronizer Enforcement / 3.7.2: |
Multimessage Patterns / 3.7.3: |
Incremental Strengthening of Atomic Constraints / 3.7.4: |
Explicit Coordinators / 3.8: |
Transactions / 3.8.2: |
Atomic Broadcast / 3.8.3: |
Multiparty Interactions / 3.8.4: |
Multimedia Synchronization / 3.8.5: |
Constraint-Based Languages / 3.8.7: |
Global Assertions / 3.8.8: |
Graph Rewriting / 3.8.9: |
Documentation of Coordination / 3.8.10: |
Semantics / 3.9: |
Language Overview / 4.1: |
Language Syntax / 4.2: |
Primitive Operations / 4.2.1: |
Examples / 4.2.2: |
Representation of Actor Systems / 4.3: |
Representation of Actors / 4.3.1: |
Representation of Messages / 4.3.2: |
Configurations / 4.3.3: |
Expression Evaluation / 4.4: |
Constraint Evaluation / 4.5: |
Semantics of Disabling Constraints / 4.5.1: |
Semantics of Atomicity Constraints / 4.5.2: |
Trigger Evaluation / 4.6: |
Transitions Between Configurations / 4.7: |
Discussion / 4.8: |
Implementation / 4.9: |
High-Level Design Decisions / 5.1: |
Communication Topology / 5.1.1: |
Synchronizer Instantiation and Representation / 5.1.2: |
Constraint and Trigger Evaluation / 5.4: |
Information Flow / 5.4.1: |
Communication Protocols / 5.4.2: |
Deadlocks / 5.4.3: |
Pseudocode / 5.5: |
Evaluating Disabling Constraints / 5.5.1: |
Constraint Servers / 5.5.2: |
Evaluating Atomicity Constraints / 5.5.3: |
Evaluating Disabling and Atomicity Constraints / 5.5.4: |
Serializability / 5.5.5: |
Fairness / 5.7: |
Weak Fairness / 5.7.1: |
Strong Fairness / 5.7.2: |
Our Notion of Fairness / 5.7.3: |
Message Complexity / 5.8: |
Performance / 5.9: |
Migration / 5.10: |
Fault Tolerance / 5.10.2: |
Garbage Collection / 5.10.3: |
Alternatives / 5.11: |
Communication with Constraint Servers / 5.11.1: |
Concurrent Check Actions / 5.11.2: |
Optimistic Concurrency Control / 5.11.4: |
Distributed Mutual Exclusion / 5.11.5: |
Glossary / 5.12: |
References |
Name Index |
Subject Index |