Chapter 5:Data Flow Architecture

What is data flow architecture?

Whole system as transformation of successive sets of data

System decomposed into modules.

No interaction between modules

Modules do not need to know identity of each other

Connection can be

IO Stream

Files, Buffers, Pipes

Batch Sequential

Pipe & Filter

Process Control

Traditional data processing model

Widely used in 1950’s – 1970’s

Example: mainframe computers using COBOL

implement

Usually done in batch processing language or shell script

DOS Batch File

Direct implementation in coding

Similar to Batch Sequence

Independent modules

Data connectors

Difference

Connectors are stream oriented

Concurrent processing

Filter:independent data stream transformer

Pipe:data conduit

Moves data from one filter to another

Reads data from input data stream

Process data and write to output stream

Does not wait for batched data as a whole

Does not even have to know identity of i/o streams

Two types

character

byte streams

Data Flow Methods

Push only (Write only)

Pull only (Read only)

Pull/Push (Read/Write)

Classification of Filters

Active Filter

Passive filter

Suitable for embedded System

Composed of

Two types of sub-systems

System depends on: Control Variables

Sub-systems

Connectors

executor processor unit

controller unit

Benefits

Limitations

Better for situations where no precise formula for deciding the manipulated variable

Can be completely embedded

Requires more sensors to monitor system states