PLITS(ID:864/pli008)for Programming Language In The Sky. Feldman, University of Rochester NY 1979 A computational model for concurrency with communication via asynchronous message-passing. Structures: Related languages
References: in [ACM] CACM 22(6) (Jun 1979) view details What are the paradigms or "powerful ideas" of programming? Which of them contains inherent incompatibilities? Starting with these questions, the author and his co-workers on the PLITS (Programming Language in the Sky) project at the University of Rochester concluded that only two are inherently difficult to combine effectively: parallelism and data sharing. Their solution to this conflict (and to other problems of distributed systems) is via three constructs: modules, messages, and assertions. Data is bound to the programs which use it; the union of such data and programs is a module. A message consists of a set of name-value pairs where a name is any string of characters. Names are declared to the system and are the only elements in PLITS which are shared, so that all data sharing is solely via messages. Assertion statements are needed for optimization, debugging, error and exception handling, and queue management, etc. To achieve this level of function, a compiler as sophisticated as the best artificial intelligence program is required and is appropriate to develop now. The author declines to confront some serious problems. For example, his response to the problems of deadlock, flooding, and starvation is to suggest that sufficient function has been defined to enable the user to avoid these problems. Still, this paper is a valuable contribution. The author asks the right questions, surveys current language developments, designs and implements distributed systems, and offers in some detail his perception of the most profitable direction for further research in distributed system design. W. W. Collier, Poughkeepsie, N.Y. in ACM Computing Reviews 21(02) Feb 1980 view details |