Chapter 5 - Data Flow Architecture

Laten we beginnen. Het is Gratis
of registreren met je e-mailadres
Chapter 5 - Data Flow Architecture Door Mind Map: Chapter 5 - Data Flow Architecture

1. 3. Pipe and Filter Architecture

1.1. Limitation

1.1.1. A low common denominator is required for data transmission in the ASCII formats since filters may need to handle data streams in different formats

1.1.2. Overhead of data transformation among filters such as parsing is repeated in two consecutive filters

1.1.3. Not suitable for dynamic interactions

1.2. Advantages

1.2.1. Flexibility: High, very modular design

1.2.2. Modifiability: Low due to coupling between filters

1.2.3. Concurrency: It provides high overall throughput for excessive data processing

1.2.4. Reusability: is easy - plug and play

1.2.5. Simplicity: Clear

1.3. Classification of Filters

1.3.1. Active filter

1.3.1.1. Pulls in data and push out the transformed data (pull/push)

1.3.1.2. It works with a passive pipe that provides read/write mechanisms for pulling and pushing

1.3.2. Passive filter

1.3.2.1. Let connected pipe to push data in and pull data out

1.3.2.2. The filter must provide read/write mechanisms in this case

1.4. Data flow method

1.4.1. Push only (write only)

1.4.1.1. A filter may push data in a downstream

1.4.1.2. A data source may push data in a downstream

1.4.2. Pull only (read only)

1.4.2.1. A data sink may pull data form an upstram

1.4.2.2. Filter may pull data from an upstream

1.4.3. Pull/push

1.4.3.1. A filter may pull data from an upstream and pus transformed data in a downstream

1.5. Pipe and filter architecture is another type of data flow architecture where the flow is driven by data

1.6. Compare with Batch Sequential

1.6.1. Similar

1.6.1.1. Independent Module

1.6.1.2. Data Connector

1.6.2. Difference

1.6.2.1. Connectors are stream oriented

1.6.2.2. Concurrent processing

1.7. Applicable Design Domain

1.7.1. Data format on the data stream is simple and stable, and easy to be adapted if it is necessary

1.7.2. System can be broken into a series of processing steps over data stream, in each step filter consumes and moves data incrementally

1.7.3. There are significant work can be pipelined gain the performance

1.7.4. Suitable for producer/consumer model

1.8. Pipe & Filter Arch. in UML

1.8.1. One pipe class may connect to three other classes. They are data source, filter, and data sink

1.9. Pipe & Filter in Unix

1.9.1. The pipe operator "I" moves the stdout from its predecessor to stdin of its successor

1.10. Pipe & Filter in Java

1.10.1. The Java API provides the Pi(pedWriter) and Pi(pedReader) classes in the java.io package

2. 1. Catch Sequential

2.1. What is batch sequential?

2.1.1. RPG and COBOL are two typical programming languages working on this model

2.1.2. Traditional data processing model

2.1.3. Widely used in 1950's - 1970's

2.1.4. In batch sequential architecture, each data transformation subsystem or module cannot start its process until its previous subsystem completes its computation

2.2. How to implement Batch Sequential?

2.2.1. We can run a Unix Shell scripts as follows in batch sequential mode: myShel1.sh (exec) searching kwd < inputFile > matchedFile (exec) counting < matchedFile > countedFile (exec) sorting < countedFile > myReportFile Where (exec) may be required by some Unix Shell

2.3. Applicable domains of batch sequential architecture

2.3.1. Data are batched

2.3.2. Intermediate file is a sequential access file

2.3.3. Each subsystem reads related input file and writes output files

2.4. Benefits

2.4.1. Simple divisions on subsystem

2.4.2. Each subsystem can be a stand-alone program working on input data and producing output data

2.5. Limitations

2.5.1. Concurrency is not supported and hence throughput remains low

2.5.2. Implementation requires external control

2.5.3. High latency

2.5.4. It does not provide interactive interface

3. 2. Process Control Architecture

3.1. Applicable domains of process control architeture

3.1.1. Embedded software systems involving continuing actions

3.1.2. Systems that need to maintain an output data at a stable level

3.1.3. The system can have a set point - the goal the system will reach at its operational level

3.2. Process control data

3.2.1. Input variable: measured input data

3.2.2. Controlled variable: target controlled variable. It as a set point goal to rach

3.2.3. Manipulated variable: can be adjusted by the controller

3.3. Composed of

3.3.1. Connectors

3.3.2. 2 types of sub-system

3.3.2.1. Controller unit

3.3.2.2. Executor processor unit

3.4. Suitable for the embedded system software design

3.4.1. The software can be completely embedded in the devices

3.5. Benefit

3.5.1. Offers a better solution to the control system where no precise formula can be used to decide the manipulated variable

3.5.2. The software can be completely embedded in the devices

3.6. Limitation

3.6.1. Requires more sensors to monitor system states