We are interested in developing a semantic foundation that supports specifying, composing, and reasoning about components of open distributed systems. The actor model provides the basic elements for open distributed computation: encapsulation of state; independent concurrent units of computation; interaction; and dynamic creation and interconnection. In order to provide for composability, and for reasoning about properties at many different levels of abstraction we introduce the notions of actor component, actor component algebra, and actor component algebra morphism. Morphisms from syntactic to semantic algebras give composable semantics. We first illustrate features of the actor model and a variety of component algebras and morphisms through a series of simple examples. We then define three semantic models for actor computation starting with a generalization to open systems of Clinger’s event diagram model, and forming two abstractions: interaction diagrams and interaction paths. An algebra is defined on each semantic domain with operations for parallel composition, hiding of internal actors, and renaming, and we show that component algebra laws hold. We use these models to provide semantics for descriptions of actor components based on actor theories and show that the semantics is a component algebra homomorphism.
Keywords: actors, composable semantics, event diagrams, interaction diagrams interaction semantics, component algebra