In object-oriented languages (e.g., LISP, Simula, and CLU), all (or most) data objects used by a program are implicitly allocated from a free-storage area and are accessed via fixed-size references. The storage for an object is automatically reclaimed (garbage collected) when the object is no longer accessible to the program. This thesis presents the design of a computer system that directly supports an object-oriented machine language. The machine provides a single, large universe of objects shared by multiple processes. The design uses expected future technologies (fast-access secondary storage devices and inexpensive processors) to satisfy the goals of good performance and a simple, modular system organization. Automatic storage reclamation is performed primarily using reference counts. The proposed reference count implementation reduces the time overhead of automatic storage reclamation and allows most reclamation processing to be performed in parallel with normal computation. In addition, the reference count scheme can be used in a multiprocessor configuration without introducing complex synchronization problems. Using a simple transaction model we show that recognizing the transaction histories which are serializable is an NP-complete problem. We therefore introduce several efficiently recognizable subclasses of the class of serializable histories; most of these subclasses correspond to serializability principles existing in the literature and used in practice. We also propose two new principles which subsume all previously known ones. We give necessary and sufficient conditions for a class of histories to be the output of an efficient history scheduler; these conditions imply that there can be no efficient scheduler that outputs all of serializable histories studied above have an efficient scheduler. Finally, we show how our results can be extended to far more general transaction models, to transactions with partly interpreted functions, and to distributed data base systems.
Cited By
- Girardot J The APL 90 project Proceedings of the international conference on APL: APL and the future, (12-18)
- Girardot J (1985). The APL 90 project, ACM SIGAPL APL Quote Quad, 15:4, (12-18), Online publication date: 12-May-1985.
- Blau R Paging on an object-oriented personal computer Proceedings of the 1983 ACM SIGMETRICS conference on Measurement and modeling of computer systems, (44-54)
- Tokoro M and Takizuka T (2019). On the semantic structure of information - A proposal of the abstract storage architecture, ACM SIGARCH Computer Architecture News, 10:3, (211-217), Online publication date: 1-Apr-1982.
- Tokoro M and Takizuka T On the semantic structure of information - A proposal of the abstract storage architecture Proceedings of the 9th annual symposium on Computer Architecture, (211-217)
- Boley H (1980). A preliminary survey of artificial intelligence machines, ACM SIGART Bulletin:72, (21-28), Online publication date: 1-Jul-1980.
Recommendations
Transactions for concurrent object-oriented programming systems
OOPSLA/ECOOP '88: Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programmingConcurrent object-oriented programming systems (COOPS) require support for fault tolerance, concurrency control, consistent commitment of changes and program-initiated rollback. It is sometimes suggested that the classical transaction processing model ...
Transactions for concurrent object-oriented programming systems
Proceedings of the ACM SIGPLAN Workshop on Object-Based Concurrent ProgrammingConcurrent object-oriented programming systems (COOPS) require support for fault tolerance, concurrency control, consistent commitment of changes and program-initiated rollback. It is sometimes suggested that the classical transaction processing model ...
A concurrent object-oriented knowledge representation language Orient84/K: its features and implementation
OOPSLA '86: Conference proceedings on Object-oriented programming systems, languages and applicationsOrient84/K is an object oriented concurrent programming language for describing knowledge systems. In Orient84/K, an object is composed of the behavior part, the knowledge-base part, and the monitor part, in order to provide object-oriented, logic-based,...