| PREMO: A Standard for Distributed Multimedia | p. 1 |
| Introduction | p. 1 |
| What PREMO Is | p. 1 |
| What PREMO Isn't | p. 4 |
| Formal Description Techniques and PREMO | p. 5 |
| Structure of the Book | p. 6 |
| Typographical Conventions | p. 8 |
| Graphical Conventions | p. 8 |
| An Overview of PREMO | p. 9 |
| Introduction | p. 9 |
| The Structure of PREMO | p. 9 |
| The PREMO Object Model | p. 10 |
| Overview | p. 11 |
| From Language Bindings to Environment Bindings | p. 12 |
| Object References | p. 12 |
| Active Objects | p. 13 |
| Operation Dispatching | p. 14 |
| Attributes | p. 14 |
| Non-object Data Types | p. 14 |
| The Foundation Component | p. 15 |
| Structures, Services, and Types | p. 15 |
| Inter-Object Communication | p. 16 |
| Synchronization | p. 18 |
| Time | p. 19 |
| Property Management | p. 20 |
| Object Factories | p. 21 |
| The Multimedia Systems Services Component | p. 22 |
| The Paradigm of Media Networks | p. 23 |
| Virtual Resources | p. 23 |
| Stream Control | p. 25 |
| Virtual Devices | p. 25 |
| Virtual Connections | p. 26 |
| Higher-Levels of Organization: Groups and Logical Devices | p. 27 |
| Working in Unison | p. 28 |
| The Modelling, Rendering, and Interaction Component | p. 28 |
| Object-Oriented Rendering | p. 29 |
| Primitives | p. 30 |
| Modelling and Rendering Devices | p. 31 |
| Coordination | p. 32 |
| Closing Remarks | p. 33 |
| The Fundamentals of PREMO | p. 35 |
| Introduction | p. 35 |
| Basic Concepts | p. 36 |
| PREMO Objects and Object Types | p. 36 |
| Attributes | p. 37 |
| Non-object Types | p. 38 |
| Object Identity and Object References | p. 38 |
| Operations | p. 40 |
| Subtyping | p. 40 |
| Inheritance | p. 42 |
| Protected Operations | p. 43 |
| Operation Selection, and Casting | p. 43 |
| Operation Request Modes | p. 45 |
| Exceptions | p. 46 |
| The Object and Object Reference Lifecycle | p. 47 |
| The Environment Binding | p. 48 |
| General Implementation Issues | p. 49 |
| Implementation Choices | p. 51 |
| Implementation Language | p. 51 |
| Implementation Environment | p. 53 |
| PREMO Specifications in Java and Java RMI | p. 54 |
| Constraints on the Specification Details | p. 54 |
| Registering Server Objects | p. 56 |
| The Foundation Component | p. 59 |
| Introduction | p. 59 |
| PREMO Non-object Types | p. 59 |
| Basic Data Types | p. 60 |
| Constructed Data Types | p. 61 |
| Exceptions | p. 63 |
| Top Layer of the PREMO Object Hierarchy | p. 64 |
| The PREMOObject Interface | p. 64 |
| Simple PREMO Objects | p. 65 |
| Event Structures | p. 66 |
| Constraint Structures | p. 67 |
| Callbacks | p. 68 |
| Enhanced PREMO Objects | p. 69 |
| Enhanced PREMO Objects as Service Objects | p. 69 |
| Property Management | p. 69 |
| Top Layer of PREMO | p. 73 |
| General Utility Objects | p. 74 |
| Event Management | p. 74 |
| The PREMO Event Model | p. 75 |
| The Event Handler Object | p. 76 |
| Synchronization Points | p. 78 |
| Finite State Machines: Controller Objects | p. 81 |
| Detailed Specification of a Controller | p. 82 |
| Activity of Controllers | p. 86 |
| Time Objects | p. 87 |
| General Notions | p. 87 |
| Specification of the PREMO Time Objects | p. 88 |
| Synchronization Facilities | p. 90 |
| Synchronizable Objects | p. 92 |
| Overview: Event-Based Synchronization | p. 92 |
| State Transition Monitoring | p. 99 |
| Detailed Specification of the Synchronizable Object | p. 99 |
| Synchronizable Objects as Callbacks | p. 103 |
| Time and Synchronizable Objects | p. 103 |
| Stop-Watch and Progression | p. 104 |
| Time and Progression Space | p. 105 |
| Reference Point Specifications in Time | p. 105 |
| Combining TimeSynchronizable Objects: Time Slaves | p. 107 |
| Time-Lines | p. 109 |
| Negotiation and Configuration Management | p. 110 |
| General Notions | p. 110 |
| Property Inquiry Objects | p. 113 |
| Constraining Properties | p. 114 |
| Dynamic Change of Properties | p. 115 |
| Interaction among Properties | p. 116 |
| Some Conclusions on the Negotiation Facilities | p. 117 |
| Creation of Service Objects | p. 118 |
| Generic Factory Objects | p. 118 |
| Factory Finders | p. 120 |
| Use of Factories and Factory Finders | p. 121 |
| Multimedia Systems Services Component | p. 125 |
| Introduction | p. 125 |
| Configuration Objects | p. 128 |
| Format Objects | p. 131 |
| Transport and Media Stream Protocol Objects | p. 132 |
| Quality of Service Descriptor Objects | p. 134 |
| Stream Control | p. 136 |
| The StreamControl Object | p. 136 |
| SyncStreamControl Objects | p. 140 |
| Virtual Resources | p. 140 |
| Property Control of Configurations | p. 141 |
| Resource and Configuration Management | p. 142 |
| Stream Control | p. 144 |
| Monitoring Resource Behaviour and Quality of Service Violations | p. 145 |
| Virtual Devices | p. 146 |
| Configuring Devices | p. 146 |
| Global Configuration | p. 146 |
| Port Configurations | p. 147 |
| Examples of Virtual Devices | p. 151 |
| Simple Media Devices | p. 152 |
| Transformer Devices | p. 153 |
| Virtual Connections | p. 155 |
| Overview | p. 155 |
| Detailed Specification of Virtual Connections | p. 156 |
| Examples of Virtual Connections | p. 157 |
| Multicast Connections | p. 160 |
| Groups | p. 161 |
| Logical Devices | p. 163 |
| The Modelling, Rendering, and Interaction Component | p. 165 |
| Introduction | p. 165 |
| Primitives | p. 167 |
| The Role of Primitives in PREMO | p. 168 |
| The Hierarchy in Overview | p. 169 |
| Captured Primitives | p. 170 |
| Form Primitives | p. 171 |
| Tactile Primitives | p. 172 |
| Modifier Primitives | p. 173 |
| Wrapper Primitives | p. 176 |
| Tracer Primitives | p. 176 |
| Structured Primitives | p. 177 |
| Aggregate Primitives | p. 177 |
| TimeComposite | p. 179 |
| Reference Primitives | p. 185 |
| Coordinate Spaces | p. 185 |
| Coordinate | p. 186 |
| TimeLocation | p. 187 |
| Colour | p. 187 |
| Devices for Modelling, Rendering, and Interaction | p. 187 |
| MRI_Format | p. 188 |
| Efficiency Measures | p. 189 |
| MRI Device | p. 190 |
| Modeller | p. 190 |
| Renderer | p. 191 |
| MediaEngine | p. 192 |
| Input Devices, and Routing | p. 192 |
| InputDevice | p. 193 |
| Router | p. 194 |
| The Scene Database | p. 195 |
| Coordination | p. 199 |
| Management | p. 201 |
| Allocation | p. 201 |
| Synchronization | p. 202 |
| Detailed Java Specifications of the PREMO Objects | p. 205 |
| Introduction | p. 205 |
| Foundation Objects | p. 205 |
| Enumerations | p. 205 |
| Additional Data Types | p. 206 |
| Top Level of PREMO Hierarchy | p. 207 |
| Structures | p. 208 |
| General Utility Objects | p. 209 |
| Event Management | p. 209 |
| Controllers | p. 210 |
| Time Objects | p. 211 |
| Sychronization Objects | p. 211 |
| Negotiation and Configuration Management | p. 214 |
| Creation of Service Objects | p. 215 |
| Multimedia Systems Services | p. 216 |
| Enumerations | p. 216 |
| Structures and Additional Data Types | p. 216 |
| Configuration Objects | p. 217 |
| Stream Control | p. 218 |
| Virtual Resource | p. 218 |
| Virtual Device | p. 219 |
| Virtual Connections | p. 219 |
| Group | p. 220 |
| Logical Device | p. 220 |
| The Modelling, Rendering, and Interaction Component | p. 221 |
| Objects for Coordinate Spaces | p. 221 |
| Coordinate Object | p. 221 |
| Colour Object | p. 221 |
| TimeLocation Object | p. 221 |
| Name Object | p. 221 |
| Objects for Media Primitives | p. 222 |
| Primitive Object | p. 222 |
| Captured Object | p. 222 |
| Primitives with Spatial and/or Temporal Form | p. 222 |
| Form Primitives for Audio Media Data | p. 222 |
| Form Primitives for Geometric Media Data | p. 223 |
| Primitives for the Modification of Media Data | p. 223 |
| Modifier Primitives for Audio Media Data | p. 223 |
| Modifier Primitives for Structural Aspects of Media Data | p. 224 |
| Modifier Primitives for Visual Aspects of Media Data | p. 224 |
| Organising Primitives into Structures | p. 225 |
| Organising Media Data within Time | p. 225 |
| Objects for Describing Properties of Devices | p. 227 |
| MRI_Format Object | p. 227 |
| EfficiencyMeasure Object | p. 227 |
| Processing Devices for Media Data | p. 227 |
| MRI_Device Object | p. 227 |
| Modeller Object | p. 227 |
| Renderer Object | p. 227 |
| MediaEngine Object | p. 227 |
| Scene Object | p. 228 |
| Objects for Supporting Interaction | p. 228 |
| InputDevice Object | p. 228 |
| Router Object | p. 228 |
| Coordinator Object | p. 229 |
| Selected Implementation Issues | p. 231 |
| The PREMO Environment | p. 231 |
| Activity of Objects | p. 231 |
| Top Level of the PREMO Hierarchy | p. 232 |
| Operation Request Modes | p. 232 |
| Distribution and the Creation of PREMO Objects | p. 235 |
| Specific Part 3 Objects | p. 237 |
| Virtual Connection Objects | p. 237 |
| Devices on the Same JVM: Piped Streams | p. 238 |
| Devices on Different JVM's: Sockets | p. 238 |
| Multicast Connections | p. 240 |
| References | p. 243 |
| Index | p. 251 |
| Table of Contents provided by Publisher. All Rights Reserved. |