Software Engineering Seminar

GT-SARG (Georgia Tech Software Architecture Reading Group

CS 8112 Winter Quarter 1995
Moderator: Gregory Abowd


Return to GT-SARG topic overview

Feb 27: Coordination Models

Discussant: Dilma Silva

Readings

Summary of readings

The first paper introduces Linda, a model for process creation and coordination that is orthogonal to the base language in which it is embedded. The model is based on generative communication achieved through the operations eval, out, in, and rd. The Linda model for parallel computing is contrasted to concurrent object oriented programming, parallel functional programming, and parallel logic programming. They conclude Linda offers a cleaner concept for parallelism than concurrent object oriented programming, a more practical and more elegant alternative than parallel logic programming. Regarding pure functional languages, they claim that since many of the programs dealt with are conceived in terms of objects to be manipulated and not equations to be solved, in many cases the functional approach will fail to provide the needed expressivity.

This paper generated a lot of eletronic discussion, and Comm ACM Oct 89 published in the technical correspondense section some letters. Most of them addressed the contrast presented in the paper between Linda and Parallel Logic Programming. It was argued that "Linda = Prolog - Logic + Concurrency", that the example chose (The Dining Philosophers) to contrast solutions in both approaches was misleading since the "logic" solution could be clearly improved. Kahn and Miller argued that Linda is trying to solve a different problem than parallel logic programming: Linda camp strives for uniformity accross languages while CLP camp strives for uniformity within a language. The third paper is presented as a "clean response" to the discussion, showing Linda as a coordination model language. They present arguments for orthogonality between the computational and coodination models, and they favor generality, ie, a "general purpose coordination model language" (advantages: portability in a "broad sense" and heterogeneity).

Summary of discussion

The main discussion point was how appropriate Linda is as a "reference" coordination model, ie, can it be seen as a "turing machine" for expressing coordination? Here are some of the points discussed: