• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Virtual Memory and Backing Storage Management in MultiProcessor Operating Systems Using Class Hierarchical Design (1989)

by Vincent Russo, Roy H Campbell
Venue:Proceedings of OOPSLA '89
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 15
Next 10 →

Refactoring Object-Oriented Frameworks

by William F. Opdyke , 1992
"... This thesis defines a set of program restructuring operations (refactorings) that support the design, evolution and reuse of object-oriented application frameworks. The focus of the thesis is on automating the refactorings in a way that preserves the behavior of a program. The refactorings are defin ..."
Abstract - Cited by 327 (4 self) - Add to MetaCart
This thesis defines a set of program restructuring operations (refactorings) that support the design, evolution and reuse of object-oriented application frameworks. The focus of the thesis is on automating the refactorings in a way that preserves the behavior of a program. The refactorings are defined to be behavior preserving, provided that their preconditions are met. Most of the refactorings are simple to implement and it is almost trivial to show that they are behavior preserving. However, for a few refactorings, one or more of their preconditions are in general undecidable. Fortunately, for some cases it can be determined whether these refactorings can be applied safely. Three of the most complex refactorings are defined in detail: generalizing the inheritance hierarchy, specializing the inheritance hierarchy and using aggregations to model the relationships among classes. These operations are decomposed into more primitive parts, and the power of these operations is discussed from the perspectives of automatability and usefulness in supporting design. Two design constraints needed in refactoring are class invariants and exclusive components. These constraints are needed to ensure that behavior is preserved across some refactorings. This thesis gives some conservative algorithms for determining whether a program satisfies these constraints, and describes how to use this design information to refactor a program.

Reusing Object-Oriented Designs

by Ralph E. Johnson, Vincent F. Russo , 1991
"... Reusing the products of the software development process is an important way to reduce software costs and to make programmers and designers more efficient. Object-oriented programming permits the reuse of design as well as programs. This paper describes two techniques for reusing design and how thes ..."
Abstract - Cited by 69 (1 self) - Add to MetaCart
Reusing the products of the software development process is an important way to reduce software costs and to make programmers and designers more efficient. Object-oriented programming permits the reuse of design as well as programs. This paper describes two techniques for reusing design and how these reusable designs are developed. Abstract classes are reusable designs for components while frameworks are reusable designs for entire applications or subsystems. These two techniques are related since frameworks almost always contain abstract classes. Although the most widely used frameworks are for user interfaces, this paper draws its examples from a framework for the virtual memory subsystem of an operating system.

Components, Frameworks, Patterns

by Ralph E. Johnson - COMMUNICATIONS OF THE ACM , 1997
"... Frameworks are an object-oriented reuse technique that are widely used in industry but not discussed much by the software engineering research community. They are a way of reusing design that is part of the reason that some object-oriented developers are so productive. This paper compares and co ..."
Abstract - Cited by 38 (1 self) - Add to MetaCart
Frameworks are an object-oriented reuse technique that are widely used in industry but not discussed much by the software engineering research community. They are a way of reusing design that is part of the reason that some object-oriented developers are so productive. This paper compares and contrasts frameworks with other reuse techniques, and describes how to use them, how to evaluate them, and how to develop them. It describe the tradeoffs involved in using frameworks, including the costs and pitfalls, and when frameworks are appropriate.

A Transparent Parallel I/O Environment

by Darren Erik Vengroff - In Proc. 1994 DAGS Symposium on Parallel Computation , 1994
"... We describe TPIE, a Transparent Parallel I/O Environment. TPIE is a system designed to bridge the gap between current theoretical knowledge about the construction of I/O-optimal algorithms on parallel disk systems and the design and implementation of parallel I/O systems. We discuss the design of ..."
Abstract - Cited by 32 (2 self) - Add to MetaCart
We describe TPIE, a Transparent Parallel I/O Environment. TPIE is a system designed to bridge the gap between current theoretical knowledge about the construction of I/O-optimal algorithms on parallel disk systems and the design and implementation of parallel I/O systems. We discuss the design of TPIE and its interface, the structure of a typical implementation, applications of the system, our prototype, and future research directions. The initial goal of our work is a prototype system to demonstrate: 1) that optimal algorithms can be made to run efficiently on parallel I/O devices; and 2) that high level hardware independent interfaces to the I/O paradigms required to implement such algorithms can be provided to application programmers. The TPIE interface is designed to be portable across a variety of parallel hardware platforms; thus code that runs efficiently on one machine will run efficiently on others. Longer term goals for TPIE include extending the prototype in ways t...

MultiPerspectives: Object Evolution and Schema Modification Management for Object-Oriented Databases

by Erik Odberg , 1995
"... Object-oriented databases (OODBs) are believed to more naturally reflect the behavior and organization of complex application domains. The schema consists of a collection of classes, organized into hierarchies which nicely organize abstractions over the domain. Objects are created as instances of cl ..."
Abstract - Cited by 16 (3 self) - Add to MetaCart
Object-oriented databases (OODBs) are believed to more naturally reflect the behavior and organization of complex application domains. The schema consists of a collection of classes, organized into hierarchies which nicely organize abstractions over the domain. Objects are created as instances of classes, encapsulating data and interpretation of data together. An important characteristic is the support for evolutionary programming, and so that existing programs may be extended with new classes without affecting other parts of the system.

A Survey of Multiprocessor Operating System Kernels

by Bodhisattwa Mukherjee, Karsten Schwan, Prabha Gopinath , 1993
"... Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel hardware introduce new challenges to operating system design ..."
Abstract - Cited by 13 (3 self) - Add to MetaCart
Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel hardware introduce new challenges to operating system design and implementation. This paper reviews research and commercial developments in multiprocessor operating system kernels from the late 1970's to the early 1990's. The paper first discusses some common operating system structuring techniques and examines the advantages and disadvantages of using each technique. It then identifies some of the major design goals and key issues in multiprocessor operating systems. Issues and solution approaches are illustrated by review of a variety of research or commercial multiprocessor operating system kernels. College of Computing Georgia Institute of Technology Atlanta, Georgia 30332--0280 Contents 1 Introduction 1 2 Structuring an Operating System 4 2....

An Object-Oriented Framework For File Systems

by Peter William Madany, Peter William Madany, Ph. D - Ph.D. thesis in preparation, University of Illinois at Urbana-Champaign , 1992
"... ion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 2.2.3 Interface and Code Sharing : : : : : : : : : : : : : : : : : : : : : : : : : : 10 2.2.4 Polymorphism : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 2.2.5 Design Sharing : : : : : : : : : : : : : : : : ..."
Abstract - Cited by 11 (0 self) - Add to MetaCart
ion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 2.2.3 Interface and Code Sharing : : : : : : : : : : : : : : : : : : : : : : : : : : 10 2.2.4 Polymorphism : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 2.2.5 Design Sharing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 2.2.6 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3 Related Work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.1 Survey of File Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.1.1 Record File Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.1.2 Byte-Stream File Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.1.3 Object Storage Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15 3.1.4 Distributed File Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18 3.1.5 Summary : : : : :...

Quaject Composition in the Synthesis Kernel

by Calton Pu, Henry Massalin - In Proceedings of International Workshop on Object Orientation in Operating Systems , 1991
"... We describe the mechanisms in the Synthesis kernel to compose quajects, kernel objects that encapsulate state and operations. An example using ByteQueue quaject is used to illustrate the composition mechanism. This composition produces quajects with very low overhead, contributing significantly to h ..."
Abstract - Cited by 7 (4 self) - Add to MetaCart
We describe the mechanisms in the Synthesis kernel to compose quajects, kernel objects that encapsulate state and operations. An example using ByteQueue quaject is used to illustrate the composition mechanism. This composition produces quajects with very low overhead, contributing significantly to high performance in the Synthesis kernel. 1 Introduction Synthesis is an operating system kernel being developed for high performance distributed and parallel processing [3, 5]. Two unusual implementation techniques used systematically in the Synthesis kernel are run-time code generation of kernel calls [7] (as in the I/O system) and software feedback for resource management [4] (as in fine grain CPU scheduling). If naively implemented, these techniques might add considerable complexity to the Synthesis kernel. Part of the research in the implementation of Synthesis is in the integration of these techniques with well-known software engineering principles such as modularity. All the existing ...

Object-Oriented Hierarchies Across Protection Boundaries

by David Wayne Dykstra, David Wayne Dykstra, David Wayne Dykstra, Ph. D , 1992
"... Protection is the mechanism employed by operating systems to control access to resources. Object encapsulation in object-based systems requires control of access to every object. The incremental definition of objects through inheritance and type hierarchies is an important aspect of object-oriented ..."
Abstract - Cited by 4 (0 self) - Add to MetaCart
Protection is the mechanism employed by operating systems to control access to resources. Object encapsulation in object-based systems requires control of access to every object. The incremental definition of objects through inheritance and type hierarchies is an important aspect of object-oriented systems. This dissertation examines the relationship between protection and object-oriented hierarchies. Splitting object-oriented hierarchies across protection boundaries is particularly attractive for the purposes of providing a uniform programming model to objectoriented applications and for implementing a minimal object-oriented kernel. After surveying current research and providing a background for discussion, this dissertation presents a detailed analysis of the issues relating to splitting object-oriented hierarchies across protection boundaries. The analysis is independent of language, operating system, and protection model. The analysis reveals the precautions that must be taken to guard against protection violations. The analysis also shows that in the general case an object must be able to be split across the protection boundaries, and that the child portion of the object should delegate or forward unrecognized method calls to the parent portion of the object on the other side of the boundary.

Framework Development and Reuse Support

by Wolfgang Pree - In Visual Object-Oriented Programming, Concepts and Environments. M.Burnett, A.Goldberg, T.Lewis (eds.). Manning
"... Although object-oriented programming techniques have evolved into an accepted technology with recognized benefits for software development, conventional text-based prxTxB-9dBj languages together with state-of-th-art brth-jj tools s m to b insufficient for a software nginr to cope with the complexity ..."
Abstract - Cited by 3 (0 self) - Add to MetaCart
Although object-oriented programming techniques have evolved into an accepted technology with recognized benefits for software development, conventional text-based prxTxB-9dBj languages together with state-of-th-art brth-jj tools s m to b insufficient for a software nginr to cope with the complexity of class libr - s, especially application fr worly application frxx-r chniqus and visual prxx-rx s m apprjm-9d to par(qTd-9 ovr-@ th s shorq-9d@qxx of object-oriented prxTjT-9d@q Software development based on an application frx worn quir s lardxBBx-9j(Bxx-r v l
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University