1 / 16

Layered Architecture

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

Download Presentation

Layered Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Part 1: Introduction Corey Masters

  3. 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

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

  5. Part 2: High-Level Wesley Flowers

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

  7. 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)

  8. Part 3: Example Brian Kennedy

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

  10. 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.

  11. Part 4: Advantages Everett Thayer

  12. 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

  13. 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

  14. Part 5: Disadvantages Andre Vicente

  15. 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

  16. 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

More Related