A Semantic Framework for Modeling and Reasoning about Reflective Middleware
Nalini Venkatasubramanian, Carolyn Talcott · 2001
Open distributed systems evolve dynamically, and their components interact with environments that are not under their control. A reflective model of distributed computation supports separation of concerns (for example, functionality and different QoS properties) and dynamic adaptation to changing environments or requirements. In such an ODS, a wide range of services and activities must execute concurrently and share resources. To avoid resource conflicts, deadlocks, inconsistencies, and incorrect execution semantics, the underlying resource management system—middleware—must ensure that concurrent system activities compose in a correct manner. Designers and programmers must consider interactions within and across reflective levels, clearly spell out the semantics of shared distributed resources, and develop new notions of overall system correctness that account for a dynamic, distributed, and reflective setting. To better understand the semantic issues involved in reflective distributed systems, we developed the TLAM, 1–3 a two-level actor model based on the actor model of object-based distributed computation. 4–6 Actors is a model of distributed reactive objects and has a built-in notion of encapsulation and interaction, making it well suited to represent evolution and coordination among interacting components in distributed applications. Traditional passive objects encapsulate the execution state and a set of procedures that manipulate it; an actor encapsulates a thread of control as well. Each actor potentially executes in parallel