Modular specification of interaction policies in distributed computing

  • Authors:
  • Daniel C Sturman

  • Affiliations:
  • -

  • Venue:
  • Modular specification of interaction policies in distributed computing
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 specification of protocols. The language identifies the abstractions and concepts required for modular specification of interaction policies. The abstractions developed in DIL are then realized through a meta-level architecture. We provide several DIL protocols implementing policies for reliable communication, atomicity, and dependability in a multi-media application. The implementation techniques necessary to realize the meta-architecture are discussed in the context of Broadway, a run-time system for distributed C++ objects. This meta-architecture provides access to the system-level features necessary to support the modularity mechanisms defined in DIL. We provided examples of protocol translation from DIL to Broadway C++ classes that utilize the meta-architecture. Measurements show that these techniques may be implemented with minimal performance overhead. A formal semantics for reasoning about the approach is also developed.