Presentation is loading. Please wait.

Presentation is loading. Please wait.

SWA-1.1 CSE300 Software Architectures Chapter 2: Architectural Styles Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University.

Similar presentations


Presentation on theme: "SWA-1.1 CSE300 Software Architectures Chapter 2: Architectural Styles Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University."— Presentation transcript:

1

2 SWA-1.1 CSE300 Software Architectures Chapter 2: Architectural Styles Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 191 Auditorium Road, Box U-155 Storrs, CT 06269-3155 steve@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818 Copyright © 2000 by S. Demurjian, Storrs, CT.

3 SWA-1.2 CSE300 Taxonomy of Architectural Styles  Data Flow Systems  Batch Sequential  Pipes and Filters  Call & Return Systems  Main/Subroutines (C, Pascal)  Object Oriented  Implicit Invocation  Hierarchical Systems  Virtual Machines  Interpreters  Rule Based Systems  Data Centered Systems   DBS   Hypertext   Blackboards  Independent Components   Communicating Processes/Event Systems  Client/Server   Two-Tier   Multi-Tier

4 SWA-1.3 CSE300 Taxonomy of Architectural Styles  Establish Framework of …  Components  Building Blocks for Constructing Systems  A Major Unit of Functionality  Examples Include: Client, Server, Filter, Layer, DB  Connectors  Defining the Ways that Components Interact  What are the Protocols that Mandate the Allowable Interactions Among Components?  How are Protocols Enforced at Run/Design Time?  Examples Include: Procedure Call, Event Broadcast, DB Protocol, Pipe

5 SWA-1.4 CSE300 Overall Framework Consider a Question-Based Approach  What Is the Design Vocabulary?  Connectors and Components  What Are Allowable Structural Patterns?  Constraints on Combining Components & Connectors  What Is the Underlying Conceptual Model?  Von Newman, Parallel, Agent, Etc.  What Are Essential Invariants of a Style?  Limits on Allowable Components & Connectors  Common Examples of Usage  Advantages and Disadvantages of a Style  Common Specializations of a Style

6 SWA-1.5 CSE300 Pipes and Filters  Filters:  Invariant: Unaware of up and Down Stream Behavior  Streamed Behavior: Output Could Go From One Filter to the Next One Allowing Multiple Filters to Run in Parallel. Sort Sort Merge Connectors for Flow Streams of I/O Components with Input and Output Components are Independent Entities. No Shared State!

7 SWA-1.6 CSE300 Pipes and Filters  Possible Specializations:  Pipelines - Linear Sequence  Bounded - Limits on Data Amounts  Typed Pipes - Known Data Format  What is a Classic Example?  Other Examples:  Compilers  Sequential Processes  Parallel Processes

8 SWA-1.7 CSE300 Pipes and Filters Another Example  Text Information Retrieval Systems  Scanning Newspapers for Key Words, Etc.  Also, Boolean Search Expressions User SearchController SearchDB QueryResolverTermComparator DiskController Commands Programming Control Result Data

9 SWA-1.8 CSE300 ADTs and OO Architectures  Widespread Usage in the 1990’s  Advantages Are Well Known  Disadvantages:  Interaction Required Object Identity  If Identity Changes, It Is Difficult to Track All Affected Objects. obj op Connectors Components

10 SWA-1.9 CSE300 Implicit Invocation  Similar to OO in the Sense that Components Can Call Services on Other Components  How Does this Work?  Components Have List of Events they can Raise and List of Procedures to Handle Events  When Event is Raised, it is Broadcast  All Components that Have Procedure to Handle Broadcast Event will Act Upon it  The Component That Raised the Event has no Knowledge of Which Component(s) will Handle Event  What are Some Examples?

11 SWA-1.10 CSE300 Implicit Invocation  Advantages  No Need to Know the Targeted Components  Single Event can Impact Multiple Components  New Event Handlers can Easily be Added  New Events Can then be Raised  Disadvantages  No Control Over the Order of Processing When an Event is Raised  No Control Over “Who” and “How Many” Process Events  Very Non-Deterministic System Behavior

12 SWA-1.11 CSE300 Layered Systems  Components - Virtual Machine at Each Layer  Connectors - Protocols That Specify How Layers Interact  Interaction Is Restricted to Adjacent Layers  Examples: ISO Layers:  Physical, Data Link, Network, Transport, Session, Presentation and Application Users Core level Base Utility Useful Systems

13 SWA-1.12 CSE300 Layered Systems  Advantages:  Increasing Levels of Abstraction  Support Enhancement - New Layers  Support for Reuse  Drawbacks:  Not Feasible for All Systems  Performance Issues With Multiple Layers  Defining Abstractions Is Difficult.

14 SWA-1.13 CSE300Repositories  Knowledge Sources Interact With the Blackboard.  Blackboard Contains the Problem Solving State Data.  Control Is Driven by the State of the Blackboard.  DB Systems Are a Form of Repository With a Layer Between the BB and the KSs - Supports  Concurrent Access, Security, Integrity, Recovery ks8 ks6 ks7 ks1 ks2 ks3 ks4ks5 Blackboard (shared data)

15 SWA-1.14 CSE300Interpreters  What Are Components and Connectors?  Where Have Interpreters Been Used in CS&E?  LISP, ML, Other Languages, OS Command Line Data (program state) Program being interpreted Simulated interpretation engine Internal interpreter state Inputs Outputs Selected instruction Selected data

16 SWA-1.15 CSE300 Process Control Paradigms  Also:  Open vs. Close Loop Systems  Well Defined Control and Computational Characters  Heavily Used in Engineering Fields. Process Controller Set point Set point Input variables Controlled variable Controlled variable  s to manipulated variables  s to manipulated variables Controller With Feedback Without Feedback

17 SWA-1.16 CSE300 Client/Server Single and Multi-Tier Architectures  Widespread use in Practice for All Types of Distributed Systems and Applications  Two Kinds of Components  Servers: Provide Services - May be Unaware of Clients  Web Servers (unaware?)  Database Servers and Functional Servers (aware?)  Clients: Request Services from Servers  Must Identify Servers  May Need to Identify Self  A Server Can be Client of Another Server

18 SWA-1.17 CSE300 Client/Server Single and Multi-Tier Architectures  Normally, Clients and Servers are Independent Processes Running in Parallel  Connectors Provide Means for Service Requests and Answers to be Passes Among Clients/Servers  Connectors May be RPC, RMI, etc.  Advantages  Parallelism, Independence  Separation of Concerns, Abstraction  Others?  Disadvantages  Complex Implementation Mechanisms  Scalability, Correctness, Real-Time Limits  Others?

19 SWA-1.18 CSE300 Example: Software Architectural Structure Initial Data Entry Operator (Scanning & Posting) 10-100MB Network Advanced Data Entry Operators Document Server Stored Images/CD Database Server Running Oracle RMI Registry Functional Server RMI Act. Obj/Server RMI Act. Obj/Server AnalystManager

20 SWA-1.19 CSE300 Business Process Model: Scanning and Initial Data Entry Scanner Licensing Division Scanning Operator Stored Images Basic Information Entered DB Completed Applications Historical Records Printer New Licenses New Appointments FOI Letters (Request Information, etc.) Licensing Division Data Entry Operator Supervisor Review DB

21 SWA-1.20 CSE300 Concluding Remarks  Architectural Styles Provide Patterns  Suppose Designing a New System  During Requirements Discovery, Behavior and Structure of System Will Emerge  Attempt to Match to Architectural Style  Modify, Extend Style as Needed  By Choosing Existing Architectural Style  Know Advantages and Disadvantages  Ability to Focus in on Problem Areas and Bottlenecks  Can Adjust Architecture Accordingly  Employ Large Memory, Multi-Processor for Database Server - Dedicated Computer


Download ppt "SWA-1.1 CSE300 Software Architectures Chapter 2: Architectural Styles Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University."

Similar presentations


Ads by Google