By: M. Shaw
Published in: PLoPD1
Pages: 453-462
Category: Architectural
Summary: Architectural patterns. Continued in [Shaw96].
Pages: 455
Apply when a series of independent computations are to be performed on ordered data, particularly when the computations can be performed incrementally on a data stream. The computations or filters incrementally transform one or more input streams to one or more output streams.
Pages: 455
Data representations and their associated primitive operations are encapsulated in an abstract data type or object. The components of this architecture are instances of abstract data types or objects.
Pages: 456
Components typically interact by announcing or broadcasting one or more events. Other components can register an interest in an event by associating a procedure with it. When the event is announced, the system invokes all registered procedures.
Category: Architectural, Event-Driven Systems
Pages: 456
There are two kinds of components: a central data structure that represents the current state, and a collection of independent components that operate on the central data structure.
Pages: 456
This solution generally has four components: (1) an interpretation engine to do the work; (2) the pseudocode to be interpreted; (3) the control state of the interpretation engine; and (4) the current state of the program being simulated.
Pages: 456
Architectures implemented in languages without support for modularization usually result in a main program and a collection of subroutines. The main program is a driver, typically providing a control loop for sequencing the subroutines.
Pages: 457
Suitable for applications with distinct classes of services that can be arranged hierarchically.