Architectural styles and Case studies 1 www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS.

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Layered Architecture Group 1 - Wesley Flowers, Brian Kennedy, Corey Masters, Everett Thayer, Andre Vicente.
Hestia: Aarthi Giridharan Govindarajan Panneerselvam Nirmal Chander Shesha Chandrika Moka Sriram Rajendran Suryanarayanan Ganesh Melarkode Vignesh Swaminathan.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Designing the system Conceptual design and technical design
Software Design Project Phase 2 Team 1: Lisa Anthony Luiza da Silva Erik Hayes Diana Tetelman.
Lecture 23: Software Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SWE Introduction to Software Engineering
Presentation by: Martin Hoffman
Team 1 Lisa Anthony Luiza da Silva Erik Hayes Diana Tetelman.
Three Vignettes in mixed style
Booch Block diagram for cruise control
Event Based Implicit Invocation By Ajay Mansata. INTRODUCTION An Architectural style defines a family of systems. An Architectural style defines a family.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
03 - ParnasCSC4071 A Sketchy Evolution of Software Design 1960s –Structured Programming (“Goto Considered Harmful”, E.W.Dijkstra) Emerged from considerations.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
KWIC Project – Part 1 Mini-Project to Evaluate Architectural Patterns(Styles) Carl Chesser Ji Li EECS 761.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
CPSC 410: Software Architectural Style (Part I) By the end of this lecture, you will be able to: list various software architectural styles describe advantages.
1 On the Criteria To Be Used in Decomposing Systems into Modules by D.L.Parnas Dec presented by Yuanhua Qu for spring 2003 CS5391.
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.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
What is Software Architecture? | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Chapter 2, Authors: Len Bass, Paul,
Lecture 2 Introductory Case Studies Topics Architectural Styles Key Word In Context (KWIC) Other Cases Studies Evolution of Software Engineering January.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Key Principles of Software Architecture and Design (I) adapted from Dave Penny’s.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
CSCE 742 Software Architecture Lecture 1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design 10/24/2015ICS 413 – Software Engineering1.
Cohesion and Coupling CS 4311
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 8 Architectural Design Slide 1 1 Chapter 8 Architectural Design.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
CSC480 Software Engineering Lecture 10 September 25, 2002.
OCR Software Architecture for Embedded Device Seho Kim', Jaehwa Park Computer Science, Chung-Ang University, Seoul, Korea
1 5/18/2007ã 2007, Spencer Rugaber Architectural Styles and Non- Functional Requirements Jan Bosch. Design and Use of Software Architectures. Addison-Wesley,
“Architecture” The outcome of top-level design, reflecting principal design decisions Can (and should) be modified and updated Analogous to architecture.
Comparing Designs By Chris McCall. Comparing Designs A decision-making method for deciding between many designs for a single specification Provides a.
Lecture VIII: Software Architecture
Keyword In Context Presented by Team 2 Francisco Soria Zhiyu Zhang Xuheng Xu Irene Peysakhov.
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 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
KWIC example The KWIC [key word in context] system accepts an ordered set of lines; each line is an ordered set of words, and each word is an ordered set.
Virtual Local Area Networks In Security By Mark Reed.
CS 325: Software Engineering
SOFTWARE DESIGN AND ARCHITECTURE
SOFTWARE DESIGN AND ARCHITECTURE
Part 3 Design What does design mean in different fields?
Prepared by Charlie Meyer, May 2009
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
CYBERMINER WEB SEARCH ENGINE
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Princess Nourah bint Abdulrahman University
软件体系结构 过程调用体系结构 Call/Return Systems
Architectural Design.
Software models - Software Architecture Design Patterns
Introduction to Data Structure
CyberMiner Software Architecture Group
Final Project Presentation
PHASE 1 - PRESENTATION Presented By - Karthik Kannambadi Sridhar
Lecture 2b Introductory Case Studies
CS/SE ADVANCED SOFTWARE ARCHITECTURE AND DESIGN FALL 2015
Module Structure David Parnas Discusses “modularization”
Presentation transcript:

Architectural styles and Case studies 1 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

C ASE STUDIES KeyWord In Context -KWIC Instrumentation Software Mobile Robotics Cruise Control Three vignettes in mixed style 2 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

KWIC 3 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

THE K EYWORD IN C ONTEXT PROBLEM The KWIC index system accepts an ordered set of lines, each line is an ordered set of words, and each word is an ordered set of characters. Any line may be "circularly shifted" by repeatedly removing the first word and appending it at the end of the line. The KWIC index system outputs a listing of all circular shifts of all lines in alphabetical order. 4 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

K EYWORD I N C ONTEXT (KWIC): D ESIGN C ONSIDERATIONS Changes in algorithm: For example, line shifting can be performed i)on each line as it is read from the input device ii)on all the lines after they are read iii)on demand when the alphabetization requires a new set of shifted lines. 5 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

Changes in data representation: For example, lines can be stored in various ways. circular shifts can be stored explicitly or implicitly (as index and offsets). 6 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS K EYWORD I N C ONTEXT (KWIC): D ESIGN C ONSIDERATIONS

Enhancement to system function: Modify the system to eliminate circular shifts that starts with certain noise words (such as "a", "an", "and", etc.). Change the system to be interactive, and allow the user to delete lines from the lists. 7 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS K EYWORD I N C ONTEXT (KWIC): D ESIGN C ONSIDERATIONS

Performance : Both space and time. Reuse : To what extent can the components serve as reusable entities. 8 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS K EYWORD I N C ONTEXT (KWIC): D ESIGN C ONSIDERATIONS

K EYWORD I N C ONTEXT (KWIC): S OLUTIONS 1: Main program/subroutine with shared data. 2: Abstract data types. 3: Reactive integration. 4: Dataflow. 9 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

This solution decomposes the problem according to the four basic functions performed: Input: inputs and stores characters Shift which reads characters/writes index Alphabetizer: alphabetizes index Output: prints alphabetized index 10 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS K EYWORD I N C ONTEXT (KWIC): S OLUTIONS 1 (M AIN PROGRAM / SUBROUTINE WITH SHARED DATA. )

S OLUTION 1: M AIN P ROGRAM /S UBROUTINE With shared memory Master control calls Input, which inputs and stores characters Circular Shift, which reads characters/writes index Alphabetize, which alphabetizes index Output, which prints alphabetized index 11 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

KWIC: M AIN PROGRAM / SUBROUTINE WITH S HARED D ATA SOLUTION 12 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

It decomposes the problem into 4 basic functions Input, Shift, Alphabetize, output Computational Components are coordinated as subroutines by a main program. Computations can share the same storage. This allow efficient data representation. Communication between the computational components and shared data is an unconstrained read-write protocol | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS KWIC: S HARED D ATA SOLUTION

Serious drawbacks in handling changes: A change in data storage format will affect almost all of the modules. Changes in algorithm and enhancements to system function are not easily handled. Reuse is not well-supported because each module of the system is tied tightly to this particular application 14 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

It decomposes the system into a similar set of five modules. Data is no longer directly shared by the computational components. Each module provides an interface that permits other components to access data only by invoking procedures in that interface | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS KWIC: ABSTRACT DATA TYPES

KWIC: S OLUTION 2: A BSTRACT D ATA T YPES Set char Char Word Set char Char Setup Word alph i-th Master control InputOutput CharactersCircular shiftAlphabetic shift 16 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

KWIC: S OLUTION 2: A BSTRACT D ATA T YPES Data is not shared anymore encapsulated in objects Advantages Changes in algorithms and data representation in individual components don't affect other components. More reuse support. Drawbacks Changes in functionality can be difficult might involve components modification or addition 17 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

KWIC S OLUTION 3: I MPLICIT I NVOCATION InsertDeletei-th Master control Input LinesShifted lines Alphabetize Circ shift InsertDeletei-th 18 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Output

Uses a form of component integration based on shared data similar to first solution. Interface to the data is more abstract. Computations are invoked implicitly as data is modified. An event will be sent to the shift module whenever there is new line. This allows it to produce circular shifts This causes the alphabetizer to be implicitly invoked 19 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS KWIC S OLUTION 3: I MPLICIT I NVOCATION

Advantages Supports functional enhancements to the system. Additional modules can be attached Supports reuse. Disadvantage: Uses more space | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

KWIC S OLUTION 4: P IPES AND F ILTERS 21 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

It has 4 filters : Input, shift, Alphabetize and Output. Each filter process processes the data and sends it to the next filter. Control is distributed Each filter can run whenever it has data on which to compute. Data sharing between filters is strictly limited on pipes | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS KWIC S OLUTION 4: P IPES AND F ILTERS

Advantages: It maintains the sensitive flow of processing Supports reuse-each filter can function in isolation New function can easily be added to the system by inserting filters at the appropriate points. Easy to modify-each filters are logically independent Disadvantages: Virtually impossible to modify the design to support interactive system. Uses space inefficiently –since each filter must copy all of the data to its output ports | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS KWIC S OLUTION 4: P IPES AND F ILTERS

C OMPARISON Change in algorithm Change in data representation Change in function Performance Reuse SharedAbstractImplicitPipe and datadata typeinvocationfilter | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 24

N EXT … Instrumentation Software 25 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS