CONTENTS
Preface = ⅶ
1 Overview = 1
1.1 Background = 1
1.2 Architecture = 3
1.3 Status = 6
2 Object Model = 11
2.1 Introduction = 11
2.2 Types : Specifications and Implementations = 12
2.3 Objects = 17
2.4 Literals = 31
2.5 The Full Built-in Type Hierarchy = 34
2.6 Modeling State - Properties = 35
2.7 Modeling Behavior - Operations = 39
2.8 Metadata = 41
2.9 Locking and Concurrency Control = 50
2.10 Transaction Model = 51
2.11 Database Operations = 54
3 Object Specification Languages = 57
3.1 Introduction = 57
3.2 Object Definition Language = 57
3.3 Object Interchange Format = 72
4 Object Query Language = 83
4.1 Introduction = 83
4.2 Principles = 83
4.3 Query Input and Result = 84
4.4 Dealing with Object Identity = 85
4.5 Path Expressions = 87
4.6 Null Values = 89
4.7 Method Invoking = 90
4.8 Polymorphism = 90
4.9 Operator Composition = 91
4.10 Language Definition = 93
4.11 Syntactical Abbreviations = 113
4.12 OQL BNF = 115
5 C++ Binding = 121
5.1 Introduction = 121
5.2 C++ ODL = 127
5.3 C++ OML = 139
5.4 C++ OQL = 175
5.5 Schema Access = 178
5.6 Example = 194
6 Smalltalk Binding = 201
6.1 Introduction = 201
6.2 Smalltalk ODL = 204
6.3 Smaltlk OML = 214
6.4 Smaltalk OQL = 219
6.5 Schema Access = 220
6.6 Future Directions = 227
7 Java Binding = 229
7.1 Introduction = 229
7.2 Java ODL = 233
7.3 Java OML = 234
7.4 Java OQL = 243
APPENDICES
A Comparison with OMG Object Model = 245
A.1 Introduction = 245
A.2 Purpose = 245
A.3 Components and Profiles = 246
A.4 Type Hierarchy = 248
A.5 The ORB Profile = 248
A.6 Other Standards Groups = 249
B. ODBMS in the OMG ORB Environment = 251
B.1 Introduction = 251
B.2 Roles for the ORB and ODBMS = 251
B.3 Issues = 252
B.4 ODBMS as an Object Manager = 253
Biographies = 257
Index = 261