Yj. Joung et Sa. Smolka, COORDINATING 1ST-ORDER MULTIPARTY INTERACTIONS, ACM transactions on programming languages and systems, 16(3), 1994, pp. 954-985
A first-order multiparty interaction is an abstraction mechanism that
defines communication among a set of formal process roles. Actual proc
esses participate in a first-order interaction by enroling into roles,
and execution of the interaction can proceed when all roles are fille
d by distinct processes. As in CSP, enrolement statements can serve as
guards in alternative commands. The enrolement guard-scheduling probl
em then is to enable the execution of first-order interactions through
the judicious scheduling of roles to processes that are currently rea
dy to execute enrolement guards. We present a fully distributed and me
ssage-efficient algorithm for the enrolement guard-scheduling problem,
the first such solution of which we are aware. We also describe sever
al extensions of the algorithm, including: generic roles; dynamically
changing environments, where processes can be created and destroyed at
run time; and nested-enrolement, which allows interactions to be nest
ed.