𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Object-Oriented Software Composition

✍ Scribed by Nierstrasz, Sichritzis


Publisher
Prentice Hall
Year
1995
Tongue
English
Leaves
380
Series
The Object-oriented series
Edition
1st
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Over the part ten years, object-oriented technology has started to have a significant impact in industry. Despite its many positive aspects, there have been some problems in successfully applying the technology to large projects, and in achieving adequate levels of flexibilitly and software reuse. Based on the research of the Object Systems Group in Geneva, this book looks at a range of issues, from programming languages and systems through to tools, frameworks and methods. KEY FEATURES: Chapters are self-contained, with the development of ideas moving from programming language design issues to environments and applications. Aware of recent trends, the book examines the development of multimedia systems as an application domain. Up-to-date information on the activities of the Object Systems Group. The authors can be found on the World Wide Web.

✦ Table of Contents


Introduction......Page 19
1.1 Introduction......Page 21
1.1.1 What Are Components?......Page 22
1.1.2 Where Do Components Come From?......Page 24
1.2 Objects vs. Components......Page 25
1.3 Technical Support for Components......Page 27
1.3.1 Paradigms for Assembling Components......Page 28
1.3.2 Components as Static Abstractions......Page 30
1.3.3 The Composition Process......Page 32
1.3.4 Verification of Composition......Page 34
1.3.5 Objects as Processes......Page 36
1.4 Component Engineering......Page 38
1.4.1 Benefits and Risks......Page 40
1.5 Conclusions......Page 42
Concurrency and Distribution......Page 47
2.1 Introduction......Page 49
2.2.1 A Design Space for Concurrent Object-Oriented Languages......Page 51
2.2.3 Internal Concurrency......Page 52
2.2.4 Constructs for Object Interaction......Page 54
2.3.1 Object-Based Features β€” Support for Active Objects......Page 61
2.3.2 Inheritance and Synchronization......Page 64
2.4.2 Object Interaction Mechanisms......Page 67
2.4.3 Inheritance and Reuse of Synchronization Constraints......Page 73
2.4.4 Summary......Page 79
2.5 Conclusion......Page 81
3.1 Reusing Objects from Different Environments......Page 87
3.2.1 Interface bridging......Page 89
3.2.2 Interface standardization......Page 90
3.3 Object-Oriented Interoperability......Page 91
3.3.3 Summary......Page 92
3.4 Comparison of Interoperability Support Approaches......Page 93
3.5.1 Terminology......Page 94
3.5.2 Interface Adaption......Page 95
3.5.3 Object Mapping......Page 98
3.6 Interface Adaption......Page 99
3.6.1 Type Relations......Page 100
3.6.2 Description of the Running Example......Page 101
3.6.3 Binding of Operations......Page 102
3.7 Object Mapping......Page 105
3.8 Conclusions and Research Directions......Page 108
3.8.2 Interoperability and Legacy System Migration......Page 109
Specification and Composition......Page 115
4.1 Introduction......Page 117
4.2 Types, Substitutability and Active Objects......Page 119
4.3 Intersecting Service Types......Page 121
4.4 Request Substitutability......Page 123
4.5 Viewing Objects as Regular Processes......Page 126
4.6 Subtyping Regular Types......Page 128
4.7 Request Satisfiability......Page 131
4.7.1 Sequential Clients......Page 132
4.7.2 Concurrent Clients......Page 133
4.8.1 Regular Service Types......Page 135
4.8.2 Applying Regular Types to Object-Oriented Languages......Page 136
4.9 Concluding Remarks......Page 137
5.1 Introduction......Page 141
5.1.1 Specifying Temporal Aspects of Object Behaviour......Page 142
5.1.2 Design Choices for TSOM......Page 143
5.2 Propositional Temporal Logic......Page 144
5.2.1 Syntax of PTL......Page 145
5.2.2 Semantics of PTL......Page 147
5.3 The Specification of Temporal Properties......Page 150
5.3.1 Public Messages......Page 151
5.3.2 Public Constraints......Page 152
5.3.3 Shifting from Local Time to Global Time......Page 154
5.3.4 Attributes......Page 155
5.3.5 Components......Page 156
5.3.6 Component Messages......Page 158
5.3.7 Component Constraints......Page 159
5.4.1 Verification of Elementary Objects......Page 162
5.4.2 Verification of Composite Objects......Page 163
5.5 Concluding Remarks......Page 168
6.1 Introduction......Page 171
6.2 A Lambda Calculus with Named Parameters......Page 174
6.2.1 Abstract (Low-level) Syntax......Page 175
6.2.2 Reduction Rules......Page 176
6.2.4 Higher-level Syntax......Page 178
6.3.1 Functions......Page 180
6.3.3 Extensible Enumerated Types and Case Selection......Page 181
6.3.4 Extensible Concrete Data Types......Page 182
6.3.5 Records......Page 183
6.3.6 Updatable Records (Memories)......Page 184
6.4 Compatibility Relationship......Page 185
6.4.1 Errors and Lazy Operational Semantics......Page 186
6.4.2 Approximation and Compatibility......Page 187
6.4.3 Lattice Structure......Page 188
6.4.4 Meets and Joins......Page 189
6.5 Conclusion......Page 190
Software Information Management......Page 193
7.1 Introduction......Page 195
7.2.1 General Concepts......Page 197
7.2.2 Relationships Between Software Artefacts......Page 198
7.3.1 Querying and Browsing......Page 201
7.3.2 Implementation......Page 202
7.4.1 Principles......Page 204
7.4.2 Classification Hierarchies in the SIB......Page 206
7.4.3 Example......Page 208
7.5.2 Derived Classification......Page 209
7.6.1 The Classification Process......Page 210
7.6.2 An Example......Page 211
7.7 Conclusion......Page 215
8.1.1 The Problem......Page 219
8.1.2 The Solutions......Page 220
8.2.2 Language Mechanisms......Page 221
8.2.3 Evaluation......Page 223
8.3.2 Schema Invariants......Page 224
8.3.3 Primitives for Class Evolution......Page 225
8.3.4 Completeness, Correctness and Complexity......Page 228
8.3.5 Evaluation......Page 229
8.4.1 Issues......Page 230
8.4.2 The Organization of Version Management......Page 231
8.4.3 Version Identification......Page 233
8.4.4 Versioning and Class Evolution......Page 234
8.4.5 Evaluation......Page 235
8.5.1 Issues......Page 236
8.5.2 Refactoring......Page 237
8.5.3 Restructuring Interattribute Dependencies......Page 239
8.5.4 Restructuring Inheritance Hierarchies......Page 243
8.6.1 Confining the Effects of Evolution......Page 248
8.6.2 Physical Structures......Page 249
8.7.1 Issues......Page 251
8.7.2 Instance Transformation......Page 252
8.7.3 Immediate and Delayed Conversion......Page 253
8.8.2 Version Compatibility......Page 254
8.8.3 Filtering Mechanisms......Page 255
8.8.5 Evaluation......Page 257
8.9 Conclusion......Page 258
9.1 Introduction......Page 263
9.1.1 Object Selection......Page 264
9.1.2 Related Work......Page 266
9.2 Browsing Requirements......Page 269
9.3 The Affinity Browser......Page 270
9.3.1 The Affinity Browser Exploration Paradigm......Page 271
9.3.2 Architectural Elements of an Affinity Browser......Page 275
9.3.3 User Interaction and Event Management......Page 276
9.4.1 Class Relationships......Page 277
9.4.2 Creation and Destruction Relationships......Page 284
9.4.3 Object Relationships......Page 286
9.5 Conclusion......Page 288
Frameworks and Applications......Page 291
10.1 Introduction......Page 293
10.2 Related Work......Page 294
10.3.1 Component Definition......Page 296
10.3.2 Component Composition......Page 298
10.3.3 Interactive Environment......Page 302
10.4 Vista β€” A Prototype Visual Composition Tool......Page 305
10.5 Sample Applications......Page 308
10.6.1 Component Definition......Page 315
10.6.2 Composition......Page 316
10.6.3 Visualization......Page 317
10.7 Conclusion......Page 318
11.1 Digital Media and Multimedia......Page 323
11.2 Multimedia Systems and Multimedia Programming......Page 324
11.3 Multimedia Frameworks......Page 326
11.4 A Multimedia Framework Example β€” Components......Page 327
11.4.1 Producers, Consumers and Transformers......Page 328
11.4.2 Component Interfaces......Page 329
11.4.4 Component Networks......Page 330
11.5 Video Widgets β€” A Programming Example......Page 331
11.6 Summary......Page 335
12.1 Introduction......Page 339
12.2.1 Object Management Group......Page 342
12.2.2 Microsoft DDE and OLE......Page 343
12.2.4 Apple’s Interapplication Communication Architecture and OpenDoc......Page 347
12.2.5 Discussion......Page 350
12.3 Requirements for a Financial Framework......Page 351
12.3.2 Standardizing a Service’s Vocabulary......Page 352
12.3.3 Component Interaction Protocols......Page 354
12.4 Gluons......Page 356
12.4.2 Anatomy of a Gluon......Page 357
12.5 Gluons and the Financial Framework......Page 359
12.5.1 The Dragging Gluon......Page 360
12.5.2 Real-time Data Notification Gluon......Page 364
12.6 Conclusion......Page 365


πŸ“œ SIMILAR VOLUMES


Object-Oriented Software Engineering
✍ Stephen Schach πŸ“‚ Library πŸ“… 2007 πŸ› MGH 🌐 English

Object-Oriented Software Engineering is written for both the traditional one-semester and the newer two-semester software engineering curriculum. Part I covers the underlying software engineering theory, while Part II presents the more practical life cycle, workflow by workflow. The text

Object-Oriented Software Engineering
✍ Stephen R Schach πŸ“‚ Library πŸ“… 2007 πŸ› McGraw-Hill 🌐 English

Object-Oriented Software Engineering is written for both the traditional one-semester and the newer two-semester software engineering curriculum. Part I covers the underlying software engineering theory, while Part II presents the more practical life cycle, workflow by workflow. The text

Object-oriented software construction
✍ Bertrand Meyer πŸ“‚ Library πŸ“… 2000 πŸ› Prentice Hall 🌐 English

This is, quite simply, the definitive reference on the most important development in software technology for the last 20 years: object-orientation.A whole generation was introduced to object technology through the first edition of this book. This long-awaited new edition retains the qualities of cla

Object-Oriented Software Construction
✍ Bertrand Meyer πŸ“‚ Library πŸ“… 1997 πŸ› Prentice Hall 🌐 English

<P> <B> </B>This is, quite simply, the definitive reference on the most important development in software technology for the last 20 years: object-orientation.<B> </B>A whole generation was introduced to object technology through the first edition of this book. This long-awaited new edition retains