Please enable JavaScript.
Coggle requires JavaScript to display documents.
Data Flow Architectures - Coggle Diagram
Data Flow Architectures
Overview
What is data flow architecture?
Connection can be
IO Stream
Files, Buffers, Pipes
No interaction between modules
System decomposed into modules.
Modules do not need to know identity of each other
Whole system as transformation of successive sets of data.
Batch Sequential
Widely used in 1950’s – 1970’s
Example: mainframe computers using COBOL
Traditional data processing model
How to implement Batch Sequential?
Usually done in batch processing language or shell script
Summary
Benefits:
Simple division between sub-systems
Each sub-system can be a stand-alone
Limitation:
No interactive interface
No concurrency and low throughput
No concurrency and low throughput
Applicable Design Domains:
Data are batched
Pipe and Filter Architecture
Intro
Difference
Connectors are stream oriented
Concurrent processing
Similar to Batch Sequence
Data connectors
Independent modules
Basic Concepts
Filter: independent data stream transformer
Process data and write to output stream
Does not wait for batched data as a whole
Reads data from input data stream
Does not even have to know identity of i/o streams
Data Sink
Pipe: data conduit
Moves data from one filter to another
Two types: character or byte streams
Data Source
Data Flow Methods
Three way to make data flow
Pull only (Read only)
Pull/Push (Read/Write)vvv
Push only (Write only)
Classification of Filters
Active Filter:
Passive filter
Summary Pipe & Filter
Applicable Design Domain
System can be broken into a series of processing steps over data stream, in each step filter consumes and moves data incrementally.
Data format on the data stream is simple and stable, and easy to be adapted if it is necessary.
There are significant work which can be pipelined to gain the performance
Suitable for producer/consumer model
Disadvantages
Not suitable for dynamic interactions
Data standards (ASCII, XML?)
Overhead of data transformation among filters such as parsing is repeated in two consecutive filters
Difficult to configure a P&F system dynamically.
Error handling issue
Advantages
Concurrency is high.
Reusability is easy – plug and play.
Modifiability: Low due to coupling between filters
Simplicity: Clear
Flexibility: High, very modular design
Lower latency
Process Control Model
Two types of sub-systems
executor processor unit
controller unit
System depends on: Control Variables
Composed of
Sub-systems
Connectors
Suitable for embedded System
Data
Controlled variable: target controlled variable
E.g., Speed in a cruise control system
E.g., Temperature in an auto H/A system.
Input variable: measured input data
Manipulated variable: can be adjusted by the controller
E.g., motor rotation speed, etc.
Applicable Domains
Embedded software system involving continuing actions.
Needs to maintain an output data at a stable level.
The system has a set point which is the goal the system will reach and stay at that level.
Pros and Cons
Benefits
Better for situations where no precise formula for deciding the manipulated variable
Can be completely embedded
Limitations:
Requires more sensors to monitor system states