Layered Architecture Group 1 - Wesley Flowers, Brian Kennedy, Corey Masters, Everett Thayer, Andre Vicente.

Slides:



Advertisements
Similar presentations
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Chapter 13 Review Questions
OSI MODEL Maninder Kaur
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Technical Architectures
THE OBJECT-ORIENTED DESIGN WORKFLOW Interfaces & Subsystems.
Logical Architecture and UML Package Diagrams
Event-Driven Architecture Team 4 – Idris Callins, Jestin Keaton, Bill Pegg, Steven Ng.
N-Tier Architecture.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Network Architecture Dr. Sanjay P. Ahuja, Ph.D FIS Distinguished Professor of Computer Science School of Computing, UNF.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
HW/SW/FW Allocation – Page 1 of 14CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Allocation of Hardware, Software, and Firmware.
An Introduction to Software Architecture
9.4 Software Architecture
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
CPSC 875 John D. McGregor C9 - Tactics. Everything is a plugin.
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
CPSC 875 John D. McGregor C9 - Tactics. Tactics A tactic is a transformation Given that the pre-condition of the tactic is true The tactic defines changes.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
Delivery, Forwarding, and Routing of IP Packets
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
William Stallings Data and Computer Communications
Operating Systems Structure what is the organizational principle?
1 CMPT 275 High Level Design Phase Modularization.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
CPSC 875 John D. McGregor C9 - Tactics. Tactics A tactic is a transformation Given that the pre-condition of the tactic is true The tactic defines changes.
 Design goals are derived form the non- functional requirements  Every subsystem is assigned to a team and realized independently  During system design,
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
1 Chap. 2 Protocol. 2 Communication model Simplified communication model  source node  gather data from sensor or switch using ADC (analog-to-digital.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
Layers Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Basic Characteristics of Object-Oriented Systems
CPSC 875 John D. McGregor C8 - Tactics. Everything is a plugin.
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Computer System Structures
Object Oriented Systems Design
Behrouz A. Forouzan TCP/IP Protocol Suite, 3rd Ed.
Chapter 11 User Datagram Protocol
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Software Design Refinement Using Design Patterns
CS 325: Software Engineering
CS408/533 Computer Networks Text: William Stallings Data and Computer Communications, 6th edition Chapter 1 - Introduction.
N-Tier Architecture.
Module: Software Engineering of Web Applications
Click to edit Master subtitle style
Software Design and Architecture
Operating System Structure
Hierarchical Architecture
Chapter 3: Open Systems Interconnection (OSI) Model
Module: Software Engineering of Web Applications
Starting Design: Logical Architecture and UML Package Diagrams
Software models - Software Architecture Design Patterns
Software Design Lecture : 8
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Module: Software Engineering of Web Applications
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Computer Networking A Top-Down Approach Featuring the Internet
Presentation transcript:

Layered Architecture Group 1 - Wesley Flowers, Brian Kennedy, Corey Masters, Everett Thayer, Andre Vicente

Part 1: Introduction Corey Masters

Layered Architecture Most commonly used of all architectures Forms the basis of the modern paradigm of computing Modules use services of the module(s) directly below it and provide services to the module(s) above it Promotes loose coupling of cohesive modules Often used as a "fallback" architecture when an obvious solution is not present Other architectures can use this style, in a hybrid fashion

Layered Architecture Aqua Lush Example LCD TV Example (Bai and Chen)

Part 2: High-Level Wesley Flowers

High-Level Diagrams Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 Wedding Cake Diagram Onion Diagram Wedding Cake Design is typically used to show connection between layers in communication protocols and user interfaces. Onion Diagram typically illustrates operating system layers.

Communication Static Structure: The software is partitioned into layers that provide a cohesive set of services with a well-defined interface. Dynamic Structure: Each layer is allowed to only use the layer directly below it (Strict Layered style) all the layers below it (Relaxed Layered style)

Part 3: Example Brian Kennedy

(Wedding Cake) Layered Architecture for Office Delivery Robots This example uses Strict Style.

Four Main Layers Task Scheduling, Path Planning, Navigation and Obstacle Avoidance Task Scheduling determines how long all the routes will take (determine by asking Path Planner the length of each path). Path Planner creates paths the robot can take (Factoring in what navigation has said is possible). Navigation decides what paths can be taken to reach destination (Using data from Obstacle Avoidance ). Obstacle Avoidance decides how to handle each obstacle the robot may run into.

Everett Thayer Part 4: Advantages

Advantages for the Layered Style The layers can make great modules Helps simplify the program by sub-dividing complex portions Layers make use of the services provided by the layer below. Layers provide services to the layer above Satisfies the Principle of Cohesion Layers are loosely coupled

Advantages for the Layered Style Supports information hiding Layers help increase changeability, reusability, reliability, and maintainability Changes can be made to certain layers and not the core functionality of the program Systems can be easily ported to new platforms Layers provide well-defined interfaces that can have reusable components

Part 5: Disadvantages Andre Vicente

The Problem with Overhead Allocating information on a system with multiple sub-levels can become a problem in Layered Architecture design Data that is passed through multiple layers can sometimes be changed due to the encryption and decryption of certain levels when either reading or writing information Performance becomes an issue when traveling through multiple layers instead of accessing a component directly

Restrictions to Layered Independence Shared processes that are modified or added within higher layers must also be modified in the lower levels associated with the higher level Modifying lower-level interfaces sometimes percolates to higher levels, commonly seen in a relaxed layered approach Applications that require interface components can have longer standby times if the layers prevent them from accessing a database Large applications can be controlled and encapsulated more effectively but this adds complexity to smaller systems Satisfying an n amount of layers