93 citations found. Retrieving documents...
Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and implementing choices: An object-oriented system in C++. Communications of the ACM, 36(9):117--126, September 1993.

 Home/Search   Document Not in Database   Summary   ACM   TOC   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Design and Implementation of K42's Dynamic Clustered Object.. - Hui (2000)   (Correct)

....from a centralized implementation (with a single shared rep) to a distributed one (with a rep per processor) 1.2 Dynamic Customization in K42 Building blocks provide tremendous flexibility in allowing K42 to be customized for an application. As other work in customizable systems demonstrates [3, 4, 6, 8, 9, 26], this flexibility can translate into significant performance gains. Often times though, when a resource is first accessed, it is not clear, especially from the operating system s perspective, what its request pattern will be. Also, an application s use of operating system resources may change ....

....and describes possible future work. Related Work A number of research operating system projects have explored customizability. Recent research in extensible and customizable operating systems includes SPIN [3, 22] VINO [26, 27] Exokernel [8] Fluke [9] L4 [18] Cache Kernel [6] Choices [4], Nemesis [17] Scout [20] and K42 [2] Many of the above operating systems achieve customizability by extensibility. The Exokernel, Fluke, L4, and Cache Kernel allow for customizability by having the kernel redirect hardware events to external address spaces where they can be serviced in a ....

[Article contains additional citation context not shown here]

R. Campbell, N. Islam, D. Raila, and P. Madany. Designing and implementing Choices: an object-oriented system in C++. Communications of the ACM, 36(9):117--126, 1993


The JX Operating System - Golm, Felser, Wawersich, Kleinöder (2002)   (5 citations)  (Correct)

....programming. Each step raised the level of abstraction and increased programmer productivity. Operating systems, on the other hand, remained largely unaffected by this process. Although there have been attempts to build object oriented or object based operating systems (Spring [27] Choices [10], Clouds [17] and many operating systems internally use object oriented concepts, such as vnodes [31] there is a growing divergence between application programming and operating system programming. To close this semantic gap between the applications and the OS interface a large market of ....

R. Campbell, N. Islam, D. Raila, and P. Madany. Designing and Implementing Choices An Object-Oriented System in C++. In Communications of the ACM, 36(9), pp. 117-126, Sep. 1993.


Advanced Programming Language Features for Executable Design.. - Sullivan (2002)   (6 citations)  (Correct)

....objects on demand. The ImageProxy described in the Motivation is an example of such a proxy. 3. A protection proxy controls access to the original object. Protection proxies are useful when objects should have di#erent access rights. For example, KernelProxies in the Choices operating system [CIRM93] provide protected access to operating system objects. 4. A smart reference is a replacement for a bare pointer that performs additional actions when an object is accessed. Typical uses include . counting the number of references to the real object so that it can be freed automatically when ....

Roy H. Campbell, Nayeem Islam, David Raila, and Peter Madeany. Designing and implementing choices: An object-oriented system in c++. Communications of the ACM, 36(9):117--126, September 1993.


Operating System Support for Emerging Application Domains - Clarke (2000)   (Correct)

....in case a system call is already in progress; the Synthetix team define a replugging protocol [Pu,95] to handle the complications that can occur in this case. 3.3 Application Defined Operating System Extension 3.3.1 Build Time Extensible Operating Systems 3.3.1. 1 Choices Choices Choices [Campbell,93] from the University of Illinois at Urbana Champaign exhibits both build and run time forms of extensibility. In this section, Choice s mechanisms for build time extensibility are discussed, while section 3.3.3.12 covers its mechanisms for dynamic extensibility. Choices is an object oriented, ....

Campbell, R.H., Islam, N., Raila, D., Madany, P., "Designing and Implementing Choices: An Object-Oriented System in C++". Communications of the ACM, 36(9), pp 117-126, September 1993.


Toward Real Microkernels - Liedtke (1996)   (28 citations)  (Correct)

....for two completely different reasons: 1) general flexibility and power and (2) the fact that microkernels offered a technique for preserving Unix compatibility while permitting development of novel operating systems. Many academic projects took this path, including Amoeba [19] Choices [4], Ra [1] and V [7] some even moved to commercial use, particularly Chorus [11] L3 [15] and Mach [10] which became the flagship of industrial microkernels. Mach s external pager [22] was the first conceptual breakthrough toward real microkernels. The conceptual foundation of the external ....

Campbell, R., Islam, N., Madany, P., and Raila, D. Designing and implementing Choices: An object-oriented system in C++. Commun. ACM 36, 9 (Sept. 1993), 117--126.


A Classification of Various Approaches for Object-Based.. - Briot, GUERRAOUI (1996)   (4 citations)  (Correct)

....and distributed systems, as opposed to Unix style systems in which the different levels of abstraction are difficult to distinguish and thus to understand. Applied to distributed operating systems, the applicative approach has led to a new generation of systems, such as Chorus [57] and Choices [20], based on the concept of micro kernel, and whose different services are performed by various specialized servers. Such systems are easier to understand, maintain and extend, and should also ultimately be more efficient as only the required modules have to be used for a given computation. We ....

....commitment, that are used in the implementation of GARF classes. For instance, BAST supports classes UMPObject for unreliable message passing, and subclassses RMPObject, RMPObject, and RMPObject respectively for reliable, best effort and fifo (first in first out) message passing. Choices. Choices [20] is a generic operating system, of which objective is not only to be easily ported onto various machines, but also to be able to adjust various characteristics of both hardware, resources, and application interfaces such as: file format, communication network, and memory model (shared or ....

R. Campbell, N. Islam, D. Raila, and P. Madany, Designing and Implementing Choices: An Object-Oriented System in C++, [50], pages 117--126.


A Classification of Various Approaches for Object-Based.. - Briot, Guerraoui (1996)   (4 citations)  (Correct)

....distributed systems, as opposed to Unix style systems in which the different levels of abstraction are difficult to distinguish and thus to understand. Applied to distributed operating systems, the applicative approach has led to a new generation of systems, such as Chorus [Roz 92] and Choices [CIR 93] based on the concept of micro kernel, and whose different services are performed by various specialized servers. Such systems are easier to understand, maintain and extend, and should also ultimately be more efficient as only the required modules have to be used for a given computation. To ....

....have been introduced in the EP EE environment [J ez 93] at the level of complex data structures 4 (e.g. a matrix) EP EE provides libraries of abstract structures which may be distributed among several processors, without any addition to the Eiffel language. 3. 4 Choices Choices [CIR 93] is a generic operating system developed at the University of Illinois at Urbana Champaign since 1987. The objective is not only to be easily ported onto various machines, but also to be able to adjust various characteristics of both hardware, resources, and application interfaces such as: file ....

R. Campbell, N. Islam, D. Raila, and P. Madany, "Designing and Implementing Choices: An Object-Oriented System in C++," [Mey 93a], pages 117--126.


Flexible, Distributed and Adaptive Resource.. - Spies, Eckert.. (2000)   (Correct)

....operating systems research activities in this eld are investigated in the following paragraphs. Object oriented technology provides appropriate means to con gure operating systems at a pre execution time. That is, operating systems can be statically customized to application needs (e.g. Choices [CIRM93] with low overhead. However, an application speci c resource management capable of dynamically adapting its management decisions to the changing requirements of various applications demands for more exibility. Current research performed within the area of re ective architectures [Yok92, CHJ ....

R.H. Campbell, N. Islam, D. Raila, and P. Madany. Designing and implementing CHOICES: an object{oriented system in C++. Communications of the ACM, 36(9):117-126, September 1993.


Declarative Specialization of Object-Oriented Programs - Volanschi, Consel, Muller.. (1997)   (21 citations)  (Correct)

.... applications of specialization classes, we are continuing the effort initiated by Cowan et al. in the area of adaptive operating system components [16] We would like to use specialization classes to specify a number of systems optimizations that have been described in the litterature (e.g. [22, 7, 35, 20]) In particular, we are redesigning a part of the Chorus IPC subsystem, to exploit opportunities for run time optimization that have not been addressed so far because of a lack of appropriate methodologies and tools. ....

R. Campbell, N. Islam, P. Madany, and D. Raila. Designing and implementing Choices: an object-oriented system in C++. Communications of the ACM, 1993.


Reasoning about Meta Level Activities in Open Distributed.. - Venkatasubramanian (1995)   (7 citations)  (Correct)

....for reasoning about equivalence of actor programs. 1.2 The Two Level Approach Open distributed systems should provide strong support for customization and adaptation. Non reflective systems which support customization do so only on a static basis. In an object oriented system such as Choices [8], or Spring [13] frameworks may be customized for a particular application. However, once customized, the characteristics may not change dynamically. Traditional reflective systems aim at providing a customizable and adaptable execution of concurrent systems. For example, the scheduling problem ....

Roy Campbell, Nayeem Islam, David Raila, and Peter Madany. Designing and implementing choices: An object-oriented system in c++. Communications of the ACM, pages 117--126, 1993.


Integration of Resource Management Activities in.. - Nalini.. (1995)   (Correct)

....snapshot, and reasoning about their composability. 1 The Two Level Approach Open distributed systems should provide strong support for customization and adaptation. Non reflective systems which support customization do so only on a static basis. In an object oriented system such as Choices [9], or Spring [19] frameworks may be customized for a particular application. However, once customized, the characteristics may not change dynamically. Traditional reflective systems aim at providing customizable and adaptable execution of concurrent systems. For example, the scheduling problem of ....

R. Campbell, N. Islam, D. Raila, and P. Madany. Designing and Implementing Choices: An Object-Oriented System in C++. CACM, pages 117--126, September 1993.


An Adaptive Resource Management Architecture For Global.. - Venkatasubramanian (1998)   (1 citation)  (Correct)

....framework. This project also addresses composable communication mechanisms in the middleware [42] and a variant of the global snapshot algorithm [38] for archiving distributed state. 16 2. 2 Extensible and Distributed OS Environments In early object oriented operating systems such as Choices [35], and Spring [74] frameworks may be customized for a particular application. However, once customized, the characteristics may not change dynamically. More recent systems support a higher degree of dynamic reconfiguration. For instance, in Choices [102, 37] the kernel contains a Java interpreter ....

....aim at providing a customizable and adaptable execution of concurrent systems [178, 168, 172] However, these systems are very difficult and complex to reason about. Non reflective systems which support customization do so only on a static basis. In an object oriented system such as Choices [35], or Spring [75] frameworks may be customized for a particular application. However, once customized, the characteristics may not change dynamically. What we require is an architecture that allows runtime aspects of an application and interaction protocols to be programmed and tuned ....

Roy Campbell, Nayeem Islam, David Raila, and Peter Madany. Designing and implementing choices: An object-oriented system in c++. Communications of the ACM, pages 117--126, 1993.


An Adaptive Resource Management Architecture For Global.. - Venkatasubramanian (1998)   (1 citation)  (Correct)

....as memory management, load balancing, and scheduling. 4.1 The Two Level Approach Open distributed systems should provide strong support for customization and adaptation. Non reflective systems which support customization do so only on a static basis. In an objectoriented system such as Choices [34], or Spring [75] frameworks may be customized for a particular application. However, once customized, the characteristics may not change dynamically. Traditional reflective systems aim at providing customizable and adaptable execution of concurrent systems. For example, the scheduling problem of ....

R. Campbell, N. Islam, D. Raila, and P. Madany. Designing and Implementing Choices: An Object-Oriented System in C++. CACM, pages 117--126, September 1993.


Half-Sync/Half-Async - An Architectural Pattern   (Correct)

....demultiplexing and dispatching mechanism that handles events asynchronously. The ASX Message Queue class implements the Queueing layer, and the ASX Task class implements active objects in the Synchronous task layer. # The Conduit communication framework [16] from the Choices OS project [17] implements an object oriented version of the Half Sync Half Async pattern. User processes are synchronous active objects, an Adapter Conduit serves as the Queueing layer, and the Conduit micro kernel operates asynchronously. 12 Related Patterns # The Synchronous task layer uses the Active ....

R. Campbell, N. Islam, D. Raila, and P. Madany, "Designing and Implementing Choices: an Object-Oriented System in C++," Communications of the ACM, vol. 36, pp. 117--126, Sept. 1993.


µChoices: An Object-Oriented Multimedia Operating System - Campbell, Tan (1995)   (3 citations)  Self-citation (Campbell)   (Correct)

....system geared toward supporting high bandwidth multimedia streams. The operating system is targeted toward uniprocessor as well as small to medium scale mul tiprocessor (2 to 32 processor) machines. lChoices draws many of its design ideas from lessons learned in our work on the original Choices[5, 4] operating sys tem, while incorporating several new innovative ideas. This paper presents our design of lChoices. A multimedia capable operating system must support a wide range of traffic types. Video and audio data streams are likely to be pervasive in the network and compute fabric of the ....

Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and Implementing Choices:an Object-Oriented System in Communications of the ACM, September 1993.


2K: A Distributed Operating System for Dynamic.. - Kon, Campbell.. (1999)   Self-citation (Campbell)   (Correct)

....dependence management is a major requirement for next generation middleware and operating systems. Previous research has demonstrated that di erent applications require di erent system optimizations. One size ts all operating systems are inadequate. Research in customizable operating systems [CIMR93, LTC96] microkernels [Her97] and the exokernel [K 97] has shown that one can achieve signi cant performance improvements by exporting, to the applications, low level interfaces for simple system services and by building customized high level abstractions on a per application basis. 1 There ....

....adaptable systems which download code into the kernel to allow system extensions. We also build on their work, and employ code downloading (through the network) to install new components into 2K nodes. We also borrowed concepts from object oriented operating systems. Choices and its derivatives [CIMR93] implement operating system services by means of a collection of object oriented frameworks. choices [LTC96] allows code downloading for extensibility. However, neither addresses large scale, heterogeneous distributed systems. Spring [M 94] is an object oriented, distributed operating ....

Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and Implementing Choices: an Object-Oriented System in C++. Communications of the ACM, 36(9):117-136, September 1993.


An Agent-based Architecture for Supporting Application Aware.. - Campbell, al. (1997)   Self-citation (Campbell)   (Correct)

....structure of the security architecture. The proposed study for introducing reflective features into security architecture will be based on our previous work on building Choices, a distributed object oriented operating system, through refining frameworks with reflective structures in C [28][33] [32] and developing a new visualization technology for monitoring, verifying and refining architectural abstractions in fine granularity [25, 36, 35, 24] The efforts we will make to develop reflective structures for our proposed security architecture will focus on the following three areas: ....

....in Java, and is the co author (with Professors S. Kamin and E. Reingold) of a text on the Java language. 26 J Previous Accomplishments System Software Development The System Research Group has expertise in the design and development of customizable and adaptable system software. Choices[33][15] 40] is an object oriented distributed operating system that uses frameworks to support application specific customizations of the message passing, networking, synchronization, scheduling, file and memory management subsystems. In addition we extended C with meta level constructs to achieve ....

Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and Implementing Choices:an Object-Oriented System in C++. Communications of the ACM, September 1993.


Customizable Object-Oriented Operating Systems - Campbell, Coomes, Dave, Li.. (1996)   (2 citations)  Self-citation (Campbell Raila)   (Correct)

....an operating system can be customized. This article offers our solution to the problem of building customizable operating systems and describes the results achieved in implementing a customizable operating system. We have built an object oriented, customizable operating system, Choices [3, 4]. We advocate object oriented programming to structure customizable operating systems, and Choices is designed as an interacting collection of object frameworks. Descriptions of Choices, of framework methodology and its application to OS subsystems is given in the next section. Structuring the ....

....directly manipulated. Relational queries allow selective scrutiny of special groups of objects respecting user selectable properties and attributes. ffl Choices permits new services to be automatically loaded in the system as needed by application and system programs without rebooting the kernel[3]. OS View allows scanning or browsing of all the currently loaded services and their corresponding classes and class hierarchies. The visually displayed services and class hierarchy trees reflect the running operating system not the compiled system they depict dynamic system state and ....

Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and Implementing Choices:an Object-Oriented System in C++. Communications of the ACM, September 1993.


2K: A Distributed Operating System for Dynamic.. - Kon, Campbell.. (2000)   Self-citation (Campbell)   (Correct)

....dynamic configuration, and software architecture. SPIN [2] and VINO [26] are adaptable systems which load code into the kernel to allow system extensions. We build on their work, and employ code downloading (through the network) to install new components into 2K nodes. Choices and its derivatives [3] implement operating system services by means of a collection of object oriented frameworks. These systems, however, do not address heterogeneous distributed systems. Spring [15] is an object oriented, distributed operating system which also uses IDL based interfaces for system services. 2K ....

R. Campbell, N. Islam, P. Madany, and D. Raila. Designing and Implementing Choices: an Object-Oriented System in C++. Communications of the ACM, 36(9):117--136, Sept. 1993.


Enabling Scalable Performance for General Purpose.. - Appavoo.. (2003)   (Correct)

No context found.

Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and implementing choices: An object-oriented system in C++. Communications of the ACM, 36(9):117--126, September 1993.


Providing a Linux API on the Scalable K42 Kernel - Jonathan Appavoo Computer   (Correct)

No context found.

Roy Campbell, Nayeem Islam, Peter Madany, and David Raila. Designing and implementing Choices: An object-oriented system in C++. Communications of the ACM, 36(9):117--126, September 1993.


Strongly Partitioned System Architecture for Integration of.. - Kim (2001)   (Correct)

No context found.

R. Campbell, N. Islam, P. Madany, and D. Raila, "Designing and implementing Choices: An object-oriented system in C++," Communications of ACM, vol. 36, no. 9, pp. 117-126, Sep. 1993.


Using Reflection to Support Dynamic Adaptation of.. - Dowling, Schäfer, ..   (3 citations)  (Correct)

No context found.

Roy Campbell et al., Designing and Implementing Choices: an ObjectOriented System in C++, Communications of the ACM, Sept. 1993.


How and Why to Encapsulate Class Trees - Riehle (1995)   (3 citations)  (Correct)

No context found.

CIRM93 Roy H. Campbell, Nayeem Islam, David Raila and Peter Madany. "Designing and Implementing Choices: An Object-Oriented System in C++." Communications of the ACM 36, 9 (September 1993): 117-126.


VEST: A Toolset for Constructing and Analyzing Component Based.. - Stankovic (2000)   (6 citations)  (Correct)

No context found.

Campbell R., Islam N., Madany P., and Raila D. (1993) Designing and Implementing Choices: an Object-Oriented System in C++. Communications of the ACM, September 1993.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC