ResearchSelected PapersDistributed Asynchronous Execution Semantics

A Distributed Asynchronous Execution Semantics for Programming the Middleware Machine

Andrew Berry, Simon Kaplan

Proceedings ISADS 2001


Distributed software is traditionally built by connecting a set of software components using a communications abstraction. The interaction semantics provided by the abstraction is predominantly static: any programming of behavior occurs in the components or in local wrappers around those components. While autonomous behavior can be programmed over these abstractions, there is increasing awareness that static interaction models are not sufficient to capture the semantic diversity found in dynamic, evolving distributed systems. This paper presents an asynchronous, distributed and executable semantic model suitable for implementing programmable connector objects. Programs described using the semantic model can be jointly executed by a set of autonomous, distributed participants with no explicit synchronization of execution state. By removing the requirement for explicit synchronization, participants can execute independently with no requirement for centralized mediation, and the asynchrony of the model implicitly allows for potentially high latencies in distributed environments like the Internet. This combination of properties makes the model ideal for E-commerce applications.