CMU CS 15-675 Architectures for Software Systems Spring 1997
Due: Monday, January 27, 1997
[SG96]: Sections 2.2, 2.8, 4.2.1, 4.3.1[KP84]: The UNIX Programming Environment selected pages
[B+96]: Pattern Oriented Software Architecture, pages 53-70 (only part of the B+96 selection)
This lecture begins the discussion of data flow systems. In such systems, the computation is dominated by the availability of data -- each component can execute only as fast as data is supplied to it. We will begin with two of the most common forms, batch sequential and pipeline systems (or pipe-and-filter architectures). We will then look at a form that's less often discusses, process-control systems.Sections 2.2 and 2.8 introduce two different kinds of data flow systems. Today's lecture is about data flow systems: that is, what do these systems have in common that distinguishes them from other broad classes of architectures. KP84 covers some of the nitty-gritty of unix pipes-filter implementation, and B+96 helps you take an abstract view of these and other systems.
In addition to reading these sections, review your understanding of how to compose filters in unix; this is the handiest example of pipelines.
Modified: 01/21/97