Home | | Software Architectures | Data Flow Styles

Chapter: Software Architectures : Architectural styles

Data Flow Styles

Availability of data controls the computation

Data Flow Styles



               Availability of data controls the computation


               The structure is determined by the orderly motion of data from component to component




               Control: push versus pull


               Degree of concurrency



Example of Data Flow style





1.              Pipes and Filters


2.              Batch Sequential Processing


Dataflow: Pipe-and-Filter



Components (Filters)


               Read input stream (or streams)


               Locally transform data


               Produce output stream (or streams) Connectors (Pipes)


               Streams, e.g., FIFO buffer


Representation of pipes and filters



Data processed incrementally as it arrives


               Output can begin before input fully consumed Filters must be independent:


               Filters do not share state

               Filters do not know upstream or downstream filters

Pipe-and-Filter: discussion



               Reuse: any two filters can be connected if they agree on data




               Ease of maintenance: filters can be added or replaced


               Potential for parallelism: filters implemented as separate


               tasks, consuming and producing data incrementally Weaknesses:


               Sharing global data expensive or limiting


               Scheme is highly dependent on order of filters


               Can be difficult to design incremental filters


               Not appropriate for interactive applications


               Error handling difficult: what if an intermediate filter




               Data type must be greatest common denominator, e.g. ASCII



Batch Sequential Processing


               Frequent architecture in scientific computing and business data processing


               Components are independent programs


               Connectors are media, typically files


               Each step runs to completion before next step begins



Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Software Architectures : Architectural styles : Data Flow Styles |

Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.