login

The process trellis software architecture for parallel, real-time monitors

Published 1 May 1991
Michael Factor
Citations12

TL;DR

This dissertation defines the process trellis and shows how it meets the requirements of parallel, real-time, heuristic monitors and permits and encourages the construction of large, extensible programs.

Abstract

The process trellis software architecture organizes a complex and diverse collection of heterogeneous decision processes into a parallel, real-time, heuristic monitor. Such monitors would be useful in many domains: monitoring a patient in a hospital, gathering and verifying weather data, or monitoring a financial market. This dissertation defines the process trellis and shows how it meets the requirements of parallel, real-time, heuristic monitors. The trellis is based on a hierarchical graph of processes that mirrors the structure of the problem domain: processes for very specific or narrow domain problems at lower levels, processes for more abstract or general domain problems at higher levels. All of the processes execute concurrently and continuously. They communicate among themselves and with the external world using simple, uniform protocol. The trellis architecture permits and encourages the construction of large, extensible programs. These programs are easy to understand both as static artifacts--a lattice-based mechanism organizes the processes--and as dynamic objects--graphics-based, domain-independent interfaces display the program's results. By means of (1) an efficient implementation that minimizes communication and (2) an analytical model, it is possible to run arbitrary trellis programs efficiently and predictably. Monitors must run in real time; a heuristic scheduler guarantees that any process can execute when it is potentially relevant. A process trellis shell implements the software architecture. This shell is the basis for a prototype intensive care unit monitor. It is also the basis for many synthetic programs, which we have run, ranging in size up to 20000 processes.

Keywords

Computer Science