Results 1 - 10
of
66
Toward Real Microkernels
, 1996
"... (IPC), and basic scheduling. All servers---even device drivers ---run in user mode and are treated exactly like any other application by the kernel. Since each server has its own address space, all these objects are protected from one another. When the microkernel idea was introduced in the COMMUNI ..."
Abstract
-
Cited by 69 (0 self)
- Add to MetaCart
(IPC), and basic scheduling. All servers---even device drivers ---run in user mode and are treated exactly like any other application by the kernel. Since each server has its own address space, all these objects are protected from one another. When the microkernel idea was introduced in the COMMUNICATIONS OF THE ACM September 1996/Vol. 39, No. 9 71 late 1980s, the software technology advantages seemed obvious: . Different application program interfaces (APIs), different file systems, and perhaps even different basic operating system strategies can coexist in one system. They are implemented as competing or cooperating servers. . The system becomes more flexible and extensible. It can be more easily and effectively adapted to new hardware or new applications. Only selected servers need to be modified or added to the system. In particular, the impact of such modifications can be restricted to a subset of the system, so all other processes ar
2K: A Distributed Operating System for Dynamic Heterogeneous Environments
- in 9th IEEE International Symposium on High Performance Distributed Computing
, 1999
"... The first decades of the new millennium will witness an explosive growth in the number and diversity of networked devices. We foresee high degrees of mobility, heterogeneity, and interactions among computing devices connected to global networks. Conventional operating system architectures are inadeq ..."
Abstract
-
Cited by 60 (9 self)
- Add to MetaCart
The first decades of the new millennium will witness an explosive growth in the number and diversity of networked devices. We foresee high degrees of mobility, heterogeneity, and interactions among computing devices connected to global networks. Conventional operating system architectures are inadequate for the wide-area, heterogeneous computing environments of the new millennium. While previous research in distributed operating systems solved many problems related to resource management, they seldom addressed the problems of heterogeneity and dynamic adaptability. On the other hand, middleware solutions, like CORBA and JINI, solve part of the heterogeneity problem by permitting seamless communication among different platforms. But, still, they do not address dynamic, distributed resource management and adaptability. This paper presents 2K, an integrated operating system architecture that addresses the problems of resource management in heterogeneous networks, dynamic adaptability, and configuration of component-based distributed applications. We discuss our rationale, describe our prototype implementation, and point to future directions.
Hooking into Object-Oriented Application Frameworks
- Proceedings of the 1997 International Conference on Software Engineering
, 1997
"... An object-oriented application framework provides a generic design within a given domain and a reusable implementation of that design. Frameworks have great potential for reuse, but that potential can only be achieved if the framework can be understood and used effectively by application developers. ..."
Abstract
-
Cited by 48 (12 self)
- Add to MetaCart
An object-oriented application framework provides a generic design within a given domain and a reusable implementation of that design. Frameworks have great potential for reuse, but that potential can only be achieved if the framework can be understood and used effectively by application developers. The complexity of the design and implementation of a framework can make understanding the framework difficult, and so good documentation and guidance to the framework user is needed. Several methods exist for documenting the design of the framework, but less work has been done on documenting the purpose of the framework and how it is intended to be used. In this paper, we introduce the concept of hooks as a means of documenting and providing guidance on the intended use of a framework. Each hook provides a concise solution to a focused requirement or problem within the context of the framework. Solutions for more complex requirements can be provided by combining several hooks. A discussion ...
Declarative Specialization of Object-Oriented Programs
- In OOPSLA'97 Conference Proceedings
, 1997
"... Designing and implementing generic software components is encouraged by languages such as object-oriented ones and commonly advocated in most application areas. Generic software components have many advantages among which the most important is reusability. However, it comes at a price: genericity of ..."
Abstract
-
Cited by 47 (15 self)
- Add to MetaCart
Designing and implementing generic software components is encouraged by languages such as object-oriented ones and commonly advocated in most application areas. Generic software components have many advantages among which the most important is reusability. However, it comes at a price: genericity often incurs a loss of efficiency. This paper presents an approach aimed at reconciling genericity and efficiency. To do so, we introduce declarations to the Java language to enable a programmer to specify how generic programs should be specialized for a particular usage pattern. Our approach has been implemented as a compiler from our extended language into standard Java. 1 Introduction The object-oriented paradigm has well-recognized advantages for application design, and more specifically for program structure. It makes it possible to decompose an application in terms of well-defined, generic components, closely corresponding to the structure of the modeled problem. This structuring leads...
Reasoning about Meta Level Activities in Open Distributed Systems
- In Principles of Distributed Computing
, 1995
"... this paper we consider remote creation, migration, and reachability snapshot services: their specification at different levels of abstraction, and their composition. 1.1 About Actors ..."
Abstract
-
Cited by 42 (18 self)
- Add to MetaCart
this paper we consider remote creation, migration, and reachability snapshot services: their specification at different levels of abstraction, and their composition. 1.1 About Actors
The JX Operating System
- In Proceedings of the Usenix Annual Technical Conference
, 2002
"... This paper describes the architecture and performance of the JX operating system. JX is both an operating system completely written in Java and a runtime system for Java applications. ..."
Abstract
-
Cited by 35 (4 self)
- Add to MetaCart
This paper describes the architecture and performance of the JX operating system. JX is both an operating system completely written in Java and a runtime system for Java applications.
Quarterware for Middleware
- In Proceddings of the 18th International Conference on Distributed Computing Systems (ICDCS). IEEE
, 1998
"... We make two observations about communications middleware: first, most middleware are similar, the differences are in their interfaces and optimizations; second, neither a fixed set of abstractions nor a fixed implementation of a set of abstractions is likely to be sufficient and well-performing for ..."
Abstract
-
Cited by 32 (7 self)
- Add to MetaCart
We make two observations about communications middleware: first, most middleware are similar, the differences are in their interfaces and optimizations; second, neither a fixed set of abstractions nor a fixed implementation of a set of abstractions is likely to be sufficient and well-performing for all applications. Based on these observations, we present Quarterware, a customizable middleware architecture. It abstracts basic middlware functionality, and admits application specific specializations and extensions. We demonstrate its flexibility by deriving implementations for core facilities of CORBA, RMI, and MPI. The performance results show that the derived implementations equal or exceed the performance of corresponding native versions. These results suggest that customizing middleware on a per-application basis is an effective approach for building robust, highperformance applications. 1 Introduction Communications middleware abstract common properties of an application domain a...
Modular Specification Of Interaction Policies In Distributed Computing
, 1996
"... Software executing on distributed systems consists of many asynchronous, autonomous components which interact in order to coordinate local activity. The need for such coordination, as well as requirements such as heterogeneity, scalability, security and availability, considerably increase the comple ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
Software executing on distributed systems consists of many asynchronous, autonomous components which interact in order to coordinate local activity. The need for such coordination, as well as requirements such as heterogeneity, scalability, security and availability, considerably increase the complexity of code in distributed applications. Moreover, changing requirements, as well as changes in hardware platforms, lead to software that is constantly evolving and complicates reuse. To support development and evolution of distributed applications requires techniques which allow coordination code to be specified, customized, and maintained independently of application components; goals which cannot be realized solely through object-oriented techniques. This thesis demonstrates that meta-level specification of interaction policies enables modular description of component interaction policies, as well as customization of policy implementations. We present the high-level language Dil for spec...
Architecture-Oriented Visualization
- In Proc. of the eleventh annual conference on Object-oriented programming systems, languages, and applications
, 1996
"... Tracking the changing dynamics of object-oriented frameworks[5], design patterns[7], architectural styles[8], and subsystems during the development and reuse cycle can aid producing complex systems. Unfortunately, current object-oriented programming tools are relatively oblivious to the rich archite ..."
Abstract
-
Cited by 27 (3 self)
- Add to MetaCart
Tracking the changing dynamics of object-oriented frameworks[5], design patterns[7], architectural styles[8], and subsystems during the development and reuse cycle can aid producing complex systems. Unfortunately, current object-oriented programming tools are relatively oblivious to the rich architectural abstractions in a system. This paper shows that architecture-oriented visualization, the graphical presentation of system statics and dynamics in terms of its architectural abstractions, is highly beneficial in designing complex systems. In addition, the paper presents architecture-aware instrumentation, a new technique for building efficient on-line instrumentation to support architectural queries. We demonstrate the effectiveness and performance of the scheme with case studies in the design of the Choices object-oriented operating system. 1 Introduction Designers conceive complex systems as architectures with design patterns[7], frameworks[5], architectural styles[8], and subsyste...

