Home | | Software Architectures | Data Flow Styles

Chapter: Software Architectures : Architectural styles

Data Flow Styles

Availability of data controls the computation

Data Flow Styles

Introduction

 

               Availability of data controls the computation

 

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

 

Variations:

 

               Control: push versus pull

 

               Degree of concurrency

 

               Topology



Example of Data Flow style


SUB –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

  

Strengths:

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

 

               format

 

               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

 

               crashes?

 

               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

 

Representation





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.