Journal of the Association for Computing Machinery, Vol. 43, No. 1, January 1996, pp. 75–115.

A Comprehensive Study of the Complexity of Multiparty Interaction

YUH-JZER JOUNG

AND

SCOTT A. SMOLKA

Abstract. A multiparty interaction is a set of I/O actions executed jointly by a number of processes, each of which must be ready to execute its own action for any of the actions in the set to occur. An attempt to participate in an interaction delays a process until all other participants are available. Although a relatively new concept, the multiparty interaction has found its way into a number of distributed programming languages and algebraic models of concurrency.

In this paper, we present a taxonomy of languages for multiparty interaction that covers all proposals of which we are aware. Based on this taxonomy, we then present a comprehensive analysis of the computational complexity of the multiparty interaction scheduling problem, the problem of scheduling multiparty interactions in a given execution environment.

Categories and Subject Descriptors. D.1.3 [Programming Techniques]: Concurrent Programming; D.3.2 [Programming Languages]: Language Classifications—concurrent, distributed, and parallel languages; D.3.3 [Programming Languages]: Language Constructs and Features—concurrent programming structures; input/output; D.4.1 [Operating Systems]: Process Management—synchronization; D.4.4 [Operating Systems]: Communications Management—input/output; D.4.7 [Operating Systems]: Organization and Design—distributed systems; F.2.3 [Analysis of Algorithms and Problem Complexity]: Tradeoffs among Complexity Measures

General Terms. Languages, Design, Theory

Additional Key words and Phrases. Distributed languages, multiparty interaction, multiparty interaction scheduling, taxonomy

Copyright 1996 by ACM, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org.