Unit 2 Architectural Styles and Case Studies www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Architectural Styles. Definitions of Architectural Style  Definition. An architectural style is a named collection of architectural design decisions.
Lecture 23: Software Architectures
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Applying Architectural Styles and Patterns
SWE Introduction to Software Engineering
Software Architecture Lecture 5
Establishing the overall structure of a software system
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Three Vignettes in mixed style
Architectural styles and Case studies 1 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS.
SWA-1.1 CSE300 Software Architectures Chapter 2: Architectural Styles Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University.
Course Instructor: Aisha Azeem
Chapter 6: Architectural Design
System Design & Software Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
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.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS451 Lecture 13: Architectural Design Chapter 10
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
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.
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.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectural Styles Part I Software Architecture Lecture 5.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©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.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
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.
Krista Lozada iAcademy First Term 2009
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
CSC480 Software Engineering Lecture 10 September 25, 2002.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
Layered Systems Rahul Nabar CS 551 Fall ’02. Layered or Hierarchical Designs A layered system is organized hierarchically, each layer providing service.
Lecture VIII: Software Architecture
CS223: Software Engineering
CS223: Software Engineering Lecture 14: Architectural Patterns.
1 Chapter : Architecture & User Interface Design.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
BZUPAGES.COMSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Lecture 6 – Architectural Design
Software architecture
IS301 – Software Engineering Dept of Computer Information Systems
SOFTWARE DESIGN AND ARCHITECTURE
SOFTWARE DESIGN AND ARCHITECTURE
A Software Architecture Model……
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Princess Nourah bint Abdulrahman University
Software Architecture
Architectural Design.
Software models - Software Architecture Design Patterns
ICS 52: Introduction to Software Engineering
Presentation transcript:

Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1

Architectural Style- definition An architectural style defines Vocabulary of components and connectors types and a set of constraints on how they can be combined. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 2

List of Common Architectural Styles Pipes and Filters Objects Implicit invocation Layered Interpreters Repositories Process control | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 3

Pipes and filters Each component has a set of inputs and outputs. A component( Filters) reads streams of data on its inputs and produces streams of data on its outputs. Connectors (Pipes) are responsible for data transmission from output of one filters to input of another filters. Components are called filters because output begins before the entire input is consumed. Connectors are called pipes they allow to transmit the data. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 4

5

Types Pipelines: linear sequences of filters Bounded pipes: Restricts the amount of data that can reside on a pipe Typed pipes: Require that the data passed between two filters have a well defined type. Batch sequential system: Each filters processes all of its input data as a single entity. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 6

Advantages Easy to understand the Input and Output behaviour of system Supports reuse- any two filters can be hooked together (provided they agree on the data that are being transmitted ) Easy to maintain- Easy to enhance- new filters can be added to existing systems old filters can be replaced for improvement. Permit to analyse throughput and deadlock Supports concurrent execution | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 7

Disadvantages Often leads batch processing- not good for interactive application. Often troubled to maintain correspondences between two separate but related streams. Degraded performance due additional work to each filter to parse/un-parse data. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 8

Data Abstraction & OO : Components & Connectors Components: Classes & Objects Connectors: Method calls | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 9

Data abstraction and Object Oriented Organization Data representation and associated operations are encapsulated in abstract data type or object. Components in this type are instances of abstract data types 2 important aspects Objects preserves the integrity of representation Representation is hidden from object. objects interact through function and procedure invocations. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 10

Advantages Easy to change implementation without affecting others. Object hides its representation from its clients. It is possible to change without affecting them. Helps to decompose the problem into collection of interacting agents. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 11 Disadvantages The object must know the identity of other object in order to interact. Side effect problem: If A uses object B, C also uses B, then C’s effect on B is unexpected side effect to A.

Layered Systems: Components & Connectors Components: Layers Connectors: Protocols that define how layers interact Components (each layer) provide service to layer above and Use service of layers below. Inner layers are hidden from all except the adjacent outer layer | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 12 Layer 1 Layer 2 Layer 3

Advantages Supports increased levels of abstraction- helps in decomposing complex problem Support enhancement- changes to function affect only two layers Support reuse-Allow different implementation to same layer. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 13 Cannot be used for all types of system Even if a system can logically structured in layers-exhibits performance degradation. Difficult to find right levels of abstraction. Disadvantages

Repositories -Black board Repository styles: – Central Data structure represents the current state – A collection of independent components operate on the central data store Datastore and Blackboard – Database-Traditional database- Transaction in input stream triggers the process to execute – Black board-If the current state of the central data structure is the main trigger for selecting processes to execute | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 14

Repository : Components & Connectors Components – Data store- central data structures represents the current state and a collection of independent components on central data store. – Clients, that interact with the store Connectors – Queries | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 15

The blackboard Direct access computation memory | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 16 Blackboard (shared data) ks1 ks7 ks2 ks8 ks3 ks4 ks5ks6

Repository : Key Characteristics  The Architecture is centered, widely accessed data store  Data store & clients. Two main variants:  Database  Passive data store,  active clients that poll the database.  Blackboard  Active data store that notifies each client of data changes of interest to the client.  (Clients also called knowledge sources.) | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 17

Blackboard: The blackboard model is usually presented with 3 major parts The knowledge sources: Separate, independent parts of application dependent knowledge The blackboard data structure: Application dependent, problem solving state data. Knowledge sources can make changes to blackboard that lead incrementally to a solution to the problem. Control: It is driven by the state of black board. Knowledge sources responds whenever changes are made to blackboard | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 18

Repository : Strengths & Weaknesses Clients are relatively independent of each other. Data store is independent of the clients. – Scalable (i.e., new clients can be easily added) – Modifiable Strong dependence on data store… | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 19

Interpreters-virtual machine memory inputs Computation Outputs selected instructions selected data data access | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 20 Data (program state) Program being interpreted Internal interpreter state Simulated Interpretation engine

Interpreters An interpreter includes the pseudo-program being interpreted and the interpretation engine. Pseudo-program includes the program and activation record Interpretation engine includes definition of interpreter and current state of its execution. Interpreter engine includes: – An interpretation engine to do work – Memory –contains the psuedocode – Control state of the interpretation engine – Current state of the program being simulated. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 21

Process control Continuous processes of many kinds convert input materials to products with specific properties by performing operations on the inputs and on intermediate products. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 22

Process control definitions Process variables: P roperties of the processes that can be measured; Controlled variable :P rocess variable whose value the system is intended to control Input variable: Process variable that measures an input to the process Manipulated variable :P rocess variable whose value can be changed by the controller Set point: The desired value for a controlled variable Open loop system: System in which information about process variables is not used to adjust the system Closed loop system : systems in which information about process variables is used to manipulate a process variable to compensate for variations in process variables and operating conditions Feedback control system: The controlled variable is measured, and the result is used to manipulate one or more of the process variables | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 23

Process Control : Example Open-loop temperature control. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 24

Process Control: Example Closed-loop temperature control. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 25

Process control.. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 26

Process control.. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 27

A software paradigm for Process control An architecture style for software that controls continuous processes can be based on the process control model Computational elements – Separate the process of interest from control policy – Process definition: Mechanism for manipulating process variables. – Control algorithm-for deciding how to manipulate process variables. Data elements – Process variable, set points, and sensors. The control loop paradigm – Establishes the relation, the control algorithm exercises. – It collect information and tunes the process variable to get the intended state. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 28

Distributed processes Common form of distributed system: Client – server organization In this case a server represents a process that provides services to other processes(clients). Sever does not know in advance the identities or number of clients that will access it at run time Clients know the server identity and access it. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 29

Main program / subroutine Main program acts as the driver for the subroutine Provide a control loop for sequencing through the subroutine in some order. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 30

Domain specific software architecture Provide an organizational structure suited for particular applications –avionics, command and control, vehicle-management systems. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 31

State transition systems These systems are defined in terms of a set of states and a set of named transitions that move a system from one state to another. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 32

Heterogeneous Architecture Architectural style can be combined in several ways Hierarchical – A component of a system organized in one architectural style may have different internal structure. – Example: Unix Pipeline Combining styles to permit a single component may use mixture of architectural connectors. – Example: A component might access a repository through part of its interface, but interact through pipes. Combine styles to completely elaborate one level of architectural description in a completely different architectural style. | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 33