message passing

views updated

message passing A way of designing a software system that involves concurrent processes sending data encapsulated as messages to each other. The advantage of the approach is that it provides a low level of coupling between the concurrent processes such that the messages can be passed either directly within a single processor or indirectly using a LAN or WAN communications medium.

In some forms of message passing the recipient is named specifically by the sender; in other forms the recipient is not defined by the sender but by the way in which the network of concurrent processes is defined. The latter scheme provides a very good basis for reusing the concurrent processes, because they are independent of each other. UNIX processes use this form of communication; the processes are independent and the connectivity is defined (at a higher level) by defining “pipes” that convey messages generated by one process to one other process. A similar scheme is provided by MASCOT. Most object-oriented design methods include some form of message passing, especially to transmit events from one object to another. In these approaches the recipient is usually defined explicitly, which thereby increases the coupling between the objects.