Object Management System Concepts: Supporting Integrated Office Workstation Applications
Total Page:16
File Type:pdf, Size:1020Kb
Object Management System Concepts: Supporting Integrated Office Workstation Applications by Stanley Benjamin Zdonik, Jr. S.B., Massachusetts Institute of Technology (1970) S.M., Massachusetts Institute of Technology (1980) E.E., Massachusetts Institute of Technology (1980) Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the Massachusetts Institute of Technology May 1983 © Massachusetts Institute of Technology 1983 Signature of Author............... .. ..... .... Department of Electric~l Eng~neering and Computer Science May 13, 1983 Certified by . .* .* .. Michael Hammer Thesis Supervisor Accepted . ...... .-.----4 p . Arthur C. Smith Chairman, Departmental Committee on Graduate Students Object Management System Concepts: Supporting Integrated Office Workstation Applications by Stanley B. Zdonik, Jr. Submitted to the Department of Electrical Engineering and Computer Science on May 13, 1983, in partial fulfillment of the requirements for the Degree of Doctor of Philosophy Abstract The capabilities of a system for storing and retrieving office style objects are described in this work. Traditional file systems provide facilities for the storage and retrieval of objects that are created in user programs, but the semantics of these objects are not available to the file system. Database management systems provide a means of describing the semantics of objects using a single basic paradigm, the record. This model is inadequate for describing the richer semantics of office objects. An object management system combines the advantages of both a file system and a database management system in that it can store arbitrarily defined programming language objects and at the same time maintain a high-level description of their meaning. This work presents a high-level model of data that can be used to describe office objects more effectively than data processing oriented models. This model (ODM) forms the basis for our object management system. It is shown how this model can be used to facilitate the creation of new office application programs. A language for describing object schemas that is based on the model is presented. The language contains constructs for conveniently describing common office modeling situations. A prototype system that is based on ODM is described. We discuss the techniques that were used to implement this prototype. The use of some specialized data types (e.g., databases, derivatives) is shown to facilitate the construction of object management system software. We also provide a methodology for designing object schemas that match the characteristics of the application. Also, given a textual schema, if the user requires specialized representations, there is a procedure to determine which new operation programs must be written in order to provide an object type with the semantics that is described in that schema. Users can choose to ignore this step and have the system use default representations and operation programs. Thesis Supervisor: Michael Hammer Title: Associate Professor of Computer Science Acknowledgments In 1974, while I was working for a small Cambridge firm, a very lucky thing happened; I enrolled in a seminar that was given by Prof. Michael Hammer. During the course of this seminar, he convinced me that I should apply to the MIT Graduate Program in Computer Science. I entered the program a few years later, and since that time Michael Hammer has been my advisor. He has always managed to have the confidence in me that made it possible to persevere. It is difficult to express my gratitude and appreciation for all that he has done in helping to make this thesis a reality. But, his contribution does not end there. He has taught me a great deal about what it means to be a researcher, a consultant, a teacher, and a critical thinker. The other members of my thesis committee have also contributed to the overall quality of this work. Irene Greif, as co-director of the Office Automation Group, has helped to provide an intellectual environment in which the free exchange of ideas was possible. She was also responsible for major revisions to the content and organization of this document which have increased its overall quality. Prof. J.C.R. Licklider read several versions of this document with such interest and curiosity that he has provided me with enough inspiration to last for some time to come. Marvin Sirbu, the group's other co-director, has constantly expressed interest in the ideas that are embodied in this work. He has an incredible capacity to make insightful comments that often spur one on to new ideas and directions. The members of the Office Automation group have all contributed something to my experience at MIT. Dan Carnese deserves special mention for his patient debugging of my early ideas. His willingness to give his time to assist others as well as his ability to make sound technical comments makes him truly a unique individual. Sunil Sarin added insightful suggestions at many points in this research. Richard Ilson spent many hours trying to convince me of the difficulties involved in trying to describe formally the structure of a document. Two former members of the group deserve special mention. Dennis McLeod's work on the Semantic Data Model helped to solidify my ideas about data modeling and served as a jumping off point for this research. Jay Kunin's work on an Office Specification Language helped me to understand better what offices in general and office automation in particular are about Dennis has become a group legend and, I think, will always remain as such in my mind. Jay was an office mate and friend who shared many of the same problems that I encountered from the beginning to the end our graduate careers. An Visiting Scientist from Italy, Andrea Aparo, has been a member of our research group for the past year. He deserves special mention for his contribution to the overall quality of life in the group. He has infused the second floor with a renewed vitality and life. His dedication to quality in intellectual pursuits and philosophical underpinnings has been an important force for keeping this research in perspective. I think there are others in the group who would have to agree. Other members of the Office Automation Group and the Programming Technology Group have helped to make my stay at MIT a happy and productive time. The particularly guilty parties include Brian Berkowitz, John Cimral, Bahram Niamir, Larry Rosenstein, Juliet Sutherland, Tim Anderson, Dave Lebling, Stu Galley, and Chris Reeve. Several very special friends deserve mention. My dearest longtime friends, Ray and Monique Magliozzi have given generously of themselves through many difficult times. They have also provided me with an environment in which it was possible to laugh and relax. Toby Bloom, an honorary member of the second floor crew, has been a loyal friend through it all and has proved that other computer scientists can share a passion for bluegrass music. My parents have contributed a great deal to this enterprise. Their encouragement started many years ago and has never failed. They were always there when I needed them. Erica Zissman has been a constant source of emotional support and caring that has made it possible to endure the sometimes grueling parts of these last several years. She has also made it possible to enjoy fully their successes. Her patience and love has been very much appreciated. Table of Contents Chapter One: Introduction 8 1.1 Workstation Application Characteristics 9 1.2 Outline of the Thesis 11 Chapter Two: Object Management Systems 13 2.1 Comparison to Data Processing 13 2.2 Object Management Systems 16 2.3 Four Simple Scenarios 18 2.4 Brief Description of This Work 29 2.5 Relationship to Previous Work 37 Chapter Three: The Office Data Model 48 3.1 Purpose 48 3.2 ODM Fundamentals 50 3.3 The Office Data Model 53 3.4 Linguistic Concepts for ODM 80 Chapter Four: Examples of ODM Use 118 4.1 An Extended Example 118 4.2 Example Interactions 127 4.3 How to Do Some Useful Things 132 4.4 Advantages of Approach 142 Chapter Five: Architecture 148 5.1 System Architecture 148 5.2 Program Architecture 153 - Chapter Six: The Program (ENCORE) 155 6.1 Object Repositories 155 6.2 Useful Object Types 160 6.3 Classes 178 6.4 Standard DBMS Services 180 6.5 Memory Use 184 Chapter Seven: Repository Design 186 7.1 A Design Methodology 186 7.2 The Mapping Level 193 Chapter Eight: Summary and Future Directions 197 8.1 Meeting the Goals 197 8.2 Workstation Principles 201 8.3 Future Directions 202 Appendix A.: Summary of ODM Operations 207 Appendix B.: Schema Mapping Methodology 210 Appendix C.: ODM Reference Manual 213 C.1 Basic Definitions 213 C.2 Notation 216 C.3 Class Definitions 217 C.4 Aspects 218 C.5 Class Specifiers 236 Appendix D.: Formal Syntax of ODM 242 Appendix E.: Functional Object-Retrieval Language 248 E.1 Functions 248 E.2 Set formers 250 E.3 Predicate formers 252 E.4 ODM-Specific Functions 254 References 256 Table of Figures Figure 3-1: Hierarchically Structured Objects Figure 3-2: A Linear Version Set Figure 3-3: A Branching Version Set Figure 3-4: An Earlier Snapshot of the Branching Version Set Figure 3-5: Version Sets for a Hierarchical Object Figure 4-1: Schema for the Class of Reports 119 Figure 4-2: Schema for the Class of Reports (cont.) 120 Figure 4-3: Schema for the Final Reports Class 121 Figure 4-4: Schema for the OAReports Class 121 Figure 4-5: Schema for the Chapters Class 122 Figure 4-6: Schema for the Paragraphs Class 123 Figure 4-7: