The actor model is a natural starting point for a semantic theory that treats both heterogeneity and modularity (encapsulation and composability) in distributed systems. This paper begins with some simple examples of actor systems that illustrate the essential features of actor based computation, and the interactions and combinations of components these systems. We then present a semantic theory that formalizes these notions. A notion of abstract actor structure (AAS) is introduced that characterizes the minimal semantic requirements for an actor language and allows for components to be defined using multiple languages. Next, a modular operational semantics is derived from the local rules for behavior of individual actors given in an AAS. This semantics accounts for both internal computation and interaction of a component with its environment. Next we abstract away from details of internal computation and define a notion of interaction semantics. This allows us to reason about equivalence of actor system components considered as black boxes. Finally, an algebra of components and their interaction semantics is defined. This provides a basis for reasoning about construction and transformation of components implemented as actor systems.
Keywords: actors, components, distributed systems, semantics, interaction, composition