Reactor: A notation for the specification of actor systems and its semantics
With the increasing use of the actor model in concurrent programming there is also an increased demand in precise design notations. Precise notations enable software engineers to rigorously specify and validate the non-deterministic behavior of concurrent systems. Traditional design notations are either imperative, too concrete, or do not support the actor model. In this paper, we present a new, TLA-inspired specification language called ReActor that supports a declarative style of specification and selected programming language features in combination. For ReActor a precise operational semantics is defined in terms of action interleavings. We propose ReActor to be used in abstract design specifications and as a supplement to existing design notations, especially if a sound notion of concurrent objects is required.
Full Text: PDF