Results 1 -
7 of
7
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...
An Object-Oriented Framework For File Systems
- 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 : : : : :...
Dynamic Customization in the µChoices Operating System
"... The lifetime of an operating system is long compared with that of its many varied applications and uses. General purpose or flexible systems design are solutions that address such lifetime differences. General purpose systems suffer from size and inefficiency. Flexible operating systems suffer from ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
The lifetime of an operating system is long compared with that of its many varied applications and uses. General purpose or flexible systems design are solutions that address such lifetime differences. General purpose systems suffer from size and inefficiency. Flexible operating systems suffer from the overhead introduced by the mechanisms permitting flexibility. Structured dynamic customization facilities are required in order for the system to remain manageable and memory efficient. However, if such overheads can be ameliorated by performance improvements obtained by tuning the system to application behavior, flexibility has little cost. In this paper, we describe a meta-level architecture for dynamically modifying the resource management policies of a micro-kernel operating system. The architecture supports reflective computation through a flexible scripting language embedded in the micro-kernel. Kernel interpreters ensure a safe environment for script execution, allowing user proce...
Adaptive Caching in a Distributed File System
, 1995
"... E ective le system caching reduces local disk accesses and remote le server accesses signi cantly. Traditional le systems use xed strategies to control caching. This thesis shows that a le system with adaptive caching achieves better performance than traditional le systems. Our le system implements ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
E ective le system caching reduces local disk accesses and remote le server accesses signi cantly. Traditional le systems use xed strategies to control caching. This thesis shows that a le system with adaptive caching achieves better performance than traditional le systems. Our le system implements multiple caching strategies and permits performance tuning through customized caching strategies. It adapts to the computing environment by selecting strategies suitable for the environment. It observes le accesses and uses the observed behaviors to anticipate and predict future behaviors. It adapts to di erent le access behaviors by modifying caching strategies. It does not depend on the application or the user for caching hints but will utilize hints when provided. Experiments with two large workloads having distinct le access characteristics show that adaptive le caching consistently outperforms non-adaptive caching. Adaptive le caching can reduce runtime by 36.6%, cache misses by 20.6%, and network load by 24.2%. In addition, this work also includes innovations in le system architecture. They include continuations for highly-concurrent asynchronous remote accesses, and zombies for e cient memory reclamation. iii To my parents iv Acknowledgements I wish to express my deepest gratitude to all those who have supported me through this e ort. I especially thank my advisors, Professor Roy Campbell and Professor Michael Condry, whose technical and nancial support made this thesis possible. Besides Roy and Michael, I thank the other members
The Tigger Cub Nucleus
, 1994
"... M icrokernel technology is a well recognised technology for building operating systems. Recently there has been some experimentation in the area of building distributed object-support platforms on top of microkernels. This thesis presents the design of the core kernel components of such a platform. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
M icrokernel technology is a well recognised technology for building operating systems. Recently there has been some experimentation in the area of building distributed object-support platforms on top of microkernels. This thesis presents the design of the core kernel components of such a platform. These kernel components form the nucleus of this platform. The nucleus is designed to be an extensible minimal support layer for distributed object-support run-time systems. The platform is being used as a basis for extensive research on a number of topics in distributed systems. The support layer provides a communications system, a name service, a distributed threads package, an object fault handler and a location service. The design of the communications system provides a framework for the support of a number of different communications protocols within the one nucleus transparently to the higher levels. The communications system is heavily reliant on the name service, which provides the ...
Architecture-Oriented Visualization
, 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
- 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 presentation of system 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. PageCount: 17 pages without figures and references Category: Research Topic Area: dynamic program analysis; instrumentation, reuse, components and frameworks; softwar...
Hey, You Got Your Compiler in My Operating System!
- IN SEVENTH WORKSHOP ON HOT TOPICS IN OPERATING SYSTEMS
, 1999
"... Several operating systems projects revolve around moving functionality above or below the kernel "red line" to increase flexibility or performance. We describe how a general model of partial evaluation encompasses this trend. The operating systems community should not be content with a single interf ..."
Abstract
- Add to MetaCart
Several operating systems projects revolve around moving functionality above or below the kernel "red line" to increase flexibility or performance. We describe how a general model of partial evaluation encompasses this trend. The operating systems community should not be content with a single interface between applications and the operating system, even if that interface allows extension below the red line; we contend that partial evaluation will be most effective when it is free of that arbitrary, static interface. Extending partial evaluation from the language level down to the hardware provides a consistent, global framework for application support.

