Font Size: a A A

Customization and composition of distributed objects: Policy management in distributed software architecture

Posted on:2000-12-13Degree:Ph.DType:Thesis
University:University of Illinois at Urbana-ChampaignCandidate:Astley, Mark ChristopherFull Text:PDF
GTID:2468390014463989Subject:Computer Science
Abstract/Summary:
Research in software architecture has emphasized compositional development. Typically, software architectures are factored into a set of components, which encapsulate computation, and connectors , which encapsulate interactions. In terms of design, development and debugging, this separation has several important advantages. In particular, by separating application code from the protocols used for interaction, software components may be independently developed and tested. Moreover, as requirements change, existing architectural elements may be modularly replaced by new elements with appropriate properties.;A fundamental problem with these abstractions is their interaction with "cross-cutting" architectural features such as heterogeneity, availability, and adaptability. Availability, for example, requires protocols that manipulate both communication and resources. However, controlling architectural resources requires access to the internal resource usage patterns of components and connectors. Unfortunately, current architectural abstractions have inflexible interfaces which obscure these patterns. This loss of information results in hard-coded implementations and eliminates many advantages of the modular approach.;In this thesis, we propose a model for distributed software architectures that exposes resource access in a modular fashion. Our model extends current architectural abstractions by providing a meta-architecture for customization. This meta-architecture augments the functional interface of architectural elements with an operational interface for controlling resources. We also develop a formal semantics which provides a foundation for reasoning about composition in the model.;As an instantiation of the model, we describe an architecture description language called the Distributed Connection Language. DCL allows the specification of distributed architectures which incorporate traditional elements (i.e. components and connectors) together with new elements, called policies, which specify resource constraints. We provide a Java-based implementation of DCL to demonstrate that we may increase modularity without sacrificing performance.
Keywords/Search Tags:Software, Distributed, Components
Related items