next up previous
Next: Design of Configurable Object Up: Object Technology for High Previous: Object Technology for High

Introduction

The COBS project is addressing the principles and abstractions of software architectures suitable for seamless operation across complex distributed and parallel platforms. Target platforms will utilize various parallel and sequential machines, multiple network substrates, and they will be subject to dynamic variation in resource availability. Moreover, they will be used by multiple applications with dynamically varying and possibly, conflicting resource demands. The COBS project is investigating the principles and the necessary abstractions that will permit commercially viable software to interact and interoperate across such platforms, such that it can maintain the levels of service desired by end users. Specifically, we posit that any software infrastructure developed toward these ends (1) must be sufficiently general to cover the spectrum of target machines, while (2) it must also permit end users to configure software abstractions (at any time, including during execution) to adapt applications, middleware, and system-level functionality to end user requirements. For generality and due to its commercial relevance, we have chosen the object model of software as a starting point for this work. For reasons of runtime configuration, we have amplified the object model by addition of runtime attributes with which objects' implementations may be configured. Using attributes, it is possible to make externally visible the threads-based parallelism internal to objects, thereby enabling efficient parallel implementation across shared memory and distributed machines. Using attributes, it is also possible to configure object implementations at runtime, as well as configure the runtime infrastructure utilized by objects, such as the communication protocols employed for object invocations. Such configuration may employ dynamic resource management algorithms with which desired levels of service are guaranteed, despite variations in underlying platforms or in user behavior. Given the general nature of the object model, it is possible to integrate into object or infrastructure implementations methods for runtime maintenance of desired performance by using techniques like caching, replication, object fragmentation, and adaptation.


next up previous
Next: Design of Configurable Object Up: Object Technology for High Previous: Object Technology for High


Greg Eisenhauer
Tue Oct 15 10:41:35 EDT 1996