Software Architecture


By: M. Shaw, D. Garlan
Published in: Prentice Hall, 1996
Category: Architectural

Summary: Useful abstractions of system design. Extension of [Shaw95] and [Shaw96]

Pattern: Pipes & Filters

Pages: 21-22

Contains: Pipes & Filters [Buschmann+96],

Pattern: Data Abstraction or Object-Oriented

Pages: 22-23

Contains: Data Abstraction or Object-Oriented [Shaw95],

Pattern: Implicit Invocation or Event-Based

Pages: 23-24

Contains: Implicit Invocation or Event-Based [Shaw95],

Pattern: Layered Architecture

Pages: 25

Contains: Layered Architecture [Shaw95],

Pattern: Repository

Pages: 26-27

Contains: Repository [Shaw95],

Pattern: Interpreter

Pages: 27

Contains: Interpreter [Shaw95],

Pattern: Process Control

Pages: 27-31

A process control system maintains specified properties of the outputs of the process at reference values called "set points."

Pattern: Distributed Processes

Pages: 31

There are several architectures for distributed systems. Some can be characterized by their topological features (e.g., ring and star organizations). Others can be characterized by the kinds of interprocess protocols used for communication (e.g., heartbeat algorithms). Client-server is a common form of distributed system architecture.

Category: Architectural, Distributed Systems

Pattern: Main Plus Subroutines

Pages: 31-32

Contains: Main Plus Subroutines [Shaw95],

Pattern: State Transition Systems

Pages: 32

This is a common structure for reactive systems. These systems are defined in terms of a set of states and a set of named transitions that move the system from one state to another.