The Design of Parallel Systems: An Application and Evaluation of Modula
Modula is a new programming language for implementing dedicated, parallel systems. Following a systematic design technique, this paper illustrates the use of Modula for the design of a message switching communication system. A message switching system poses a number of interesting problems: a high degree of concurrent activity exists, a variety of IO devices need to be controlled, messages can have multiple destinations, and messages can be preempted. The strengths and weaknesses of Modula with respect to these specific problems and its utility as a general purpose language are evaluated. Key Words and Phrases: structured multiprogramming, concurrent systems, Modula, message switching, software design, processes, monitors, modular design. CR Categories: 3.81, 4.2, 4.21, 4.3