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-2027 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.