Data Flow Architecture

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Architectural Styles. Definitions of Architectural Style  Definition. An architectural style is a named collection of architectural design decisions.
The Architecture Design Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
1 Software Architecture Bertrand Meyer ETH Zurich, March-May 2009 Lecture 13: Architectural styles (partly after material by Peter Müller)
SWE Introduction to Software Engineering
1 CS115 Class 7: Architecture Due today –Requirements –Read Architecture paper pages 1-15 Next Tuesday –Read Practical UML.
Course Instructor: Aisha Azeem
Software Architecture – Pipe and Filter Model
Chapter 6: Architectural Design
System Design & Software Architecture
SS ZG653Second Semester, Topic Architectural Patterns Pipe and Filter.
1 Architectural Patterns Yasser Ganji Saffar
PIPE AND FILTER GROUP 2 SHIMIRRAH REMBERT CHRISTOPER BELL ADEDOYIN OKE BRIAN ADIYIAH BRELAND BRANCH.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Architecture - 1 September 10, 2015September 10, 2015September 10, 2015.
CS451 Lecture 13: Architectural Design Chapter 10
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectural Styles Part I Software Architecture Lecture 5.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Krista Lozada iAcademy First Term 2009
Pipes & Filters Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
John D. McGregor Class 4 – Initial decomposition
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
File Systems cs550 Operating Systems David Monismith.
Lecture VIII: Software Architecture
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Introduction to Software Architecture
Lecture 5 Systems Programming: Unix Processes: Orphans and Zombies
Software architecture
Unit 2 Technology Systems
Cmpe 589 Spring 2006.
IS301 – Software Engineering Dept of Computer Information Systems
SOFTWARE DESIGN AND ARCHITECTURE
SOFTWARE DESIGN AND ARCHITECTURE
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Hierarchical Architecture
Introduction to J2EE Architecture
Client-Server Interaction
John D. McGregor Quality attributes
Applied Operating System Concepts
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Chapter 17 Parallel Processing
Object Oriented Analysis and Design
Princess Nourah bint Abdulrahman University
Software Architecture
Architectural Design.
D7032E – Software Engineering
Software models - Software Architecture Design Patterns
Software Engineering with Reusable Components
Chapter 5 Architectural Design.
Cohesion and Coupling.
Chapter 6 – Architectural Design
Presentation transcript:

Data Flow Architecture

Objectives Introduction to Data Flow Architecture Describe DFA in UML Application domain of DFA Benefit and limitation of DFA Demonstrate Batch sequential Pipe and filter in OS Java scripts

Overview What is data flow architecture? Whole system as transformation of successive sets of data. System decomposed into modules. Connection can be IO Stream Files, Buffers, Pipes No interaction between modules Modules do not need to know identity of each other 1.5 min

Block diagram of Data Flow Architecture 0.5 min Note: the architecture may allow loops

Categories of Data Flow Arch. Many sub-categories exist Batch Sequential Pipe & Filter Process Control To adopt which one depends on the nature of the problem 0.5 min

Note: deployment can differ even for the same batch-sequential arch. Traditional data processing model Widely used in 1950’s – 1970’s Example: mainframe computers using COBOL 1 min Note: deployment can differ even for the same batch-sequential arch.

Batch sequential in business data processing A Closer View Batch sequential in business data processing

Summary Applicable Design Domains: Benefits: Limitation: Data are batched Benefits: Simple division between sub-systems Each sub-system can be a stand-alone Limitation: No interactive interface No concurrency and low throughput High latency 1.5 min 7.5 min now

Pipe & Filters Similar to Batch Sequence Difference Independent modules Data connectors Difference Connectors are stream oriented Concurrent processing 1 min

Basic Concepts Data Source Data Sink Filter: independent data stream transformer Reads data from input data stream Process data and write to output stream Does not wait for batched data as a whole Does not even have to know identity of i/o streams Pipe: data conduit Moves data from one filter to another Two types: character or byte streams 1.5 min

Data Flow Methods Three way to make data flow Push only (Write only) A data source may push data in a downstream A filter may push data in a downstream Pull only (Read only) A data sink may pull data from an upstream Filter may pull data from an upstream Pull/Push (Read/Write) A filter may pull data from an upstream and push transformed data in a downstream. 1.5 min

Classification of Filters Active Filter: pulls in data and push out the transformed data (pull/push) It works with a passive pipe that provides read/write mechanisms for pulling and pushing. Example: UNIX pipe. Passive filter Lets connected pipe to push data in and pull data out. The filter must provide read/write mechanisms in this case. 1 min

Pipe & Filter In Unix Unix provides pipe operation “|” Example: moves stdout from predecessor to the stdin of its successor Example: who | wc –l $ mkfifo pipeA $ mkfifo pipeB $ grep a < pipeA >pipeB & $ cat infile | tee pipeA | grep c |cat – pipeB | uniq –c 1.5 min

Explanation of Example 2 min $ mkfifo pipeA $ mkfifo pipeB $ grep a < pipeA >pipeB & $ cat infile | tee pipeA | grep c |cat – pipeB | uniq –c

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 1.5 min

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 1.5 min

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 1.5 min 29.5 min now

Process Control Model Suitable for embedded System Composed of Sub-systems Connectors Two types of sub-systems executor processor unit controller unit System depends on: Control Variables 1 min

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. 1.5 min

General Architecture 1 min

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. 1 min

Pros and Cons Benefits Limitations: Better for situations where no precise formula for deciding the manipulated variable Can be completely embedded Limitations: Requires more sensors to monitor system states 1.5 min 35 min now