AbstractComputer technology appears to be reaching a point of diminishing returns in attempts to increase the basic speed of uniprocessor systems. In order to avoid overloading, vfhich may be disastrous in real-time systems, a multiprocessor configuration may be necessary. The configuration should be easily extensible to accommodate system growth. A design methodology is presented which assists in the realization of a real-time computer system as a set of asynchronous cooperating processes. Both hardware and software design principles are applied to achieve parallel processing, processor sharing, and device sharing in an extensible, loosely coupled, multiprocessor configuration. The theme underlying our methodology is that a real-time computer system should be a product of the requirements of its environment, and not vice versa. Furthermore, we have followed the principle that software and hardware are two equally important aspects of computer system design; and, at the architecture level, they should be ...