9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.

Slides:



Advertisements
Similar presentations
COMET Approach for UML Overview
Advertisements

Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Case Studies Elevator control system Elevator control system Comet case studies From task structuring to target system configuration.
A component- and message-based architectural style for GUI software
By Philippe Kruchten Rational Software
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
9.5 Software Architecture
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Rational Unified Process Workflows. The Rational Unified Process.
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 3 ECEN5053 SW.
Chapter 13 Physical Architecture Layer Design
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Using Architecture Frameworks
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 4, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 4 ECEN5053 SW.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
What is Software Architecture?
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Systems Analysis and Design in a Changing World, Fifth Edition
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Changing Perspective From Structured to Object-oriented.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Architecting Web Services Unit – II – PART - III.
Unified Modeling Language, Version 2.0
Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Architectural Design Identifying system components and their interfaces.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Comet, a Case Study Distributed Factory Automation System Software Engineering Petta Davide.
1 CMPT 275 High Level Design Phase Modularization.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem.
DESIGN OF SOFTWARE ARCHITECTURE
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter : 9 Architectural Design
4+1 View Model of Software Architecture
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Object Oriented Analysis and Design Introduction to Rational Rose.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
OOAD Using the UML - Describe Concurrency, v 4.0 Copyright  Rational Software, all rights reserved 1 R Thread Process X Thread Process ZProcess.
Basic Characteristics of Object-Oriented Systems
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Systems Analysis and Design With UML 2
Overview of System Engineering
Enabling System Elements
What is an Architecture?
واسط كاربري هوشمند Intelligent User Interface
4+1 View Model of Software Architecture
What is an Architecture?
4+1 View Model of Software Architecture
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of Distributed Systems University of Colorado, Boulder

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder2 Goal: Design a system that is... Highly configurable Message-based Concurrent activities Mapping subsystems to physical nodes is made at configuration time – design provides flexibility Message communication allows subsystems to be configured on same or different physical nodes When you know it must be same node – design for performance

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder3 Component Each subsystem is a self-contained component type Distributed component is an active object with a well- defined interface Composite object composed of other objects Self-contained – can be compiled separately, stored, instantiated, etc. Can be re-used in different but related applications unless it has application-specific logic

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder4 Overview of steps System decomposition into subsystems Use subsystem structuring criteria Define interfaces between subsystems Evaluate subsystem structure with component configuration criteria Subsystem decomposition into concurrent tasks and passive (information hiding) objects – ECEN 5043 System configuration – specific deployment Instances defined and configured Mapped onto hardware configuration of distributed physical nodes

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder5 Step 1: System decomposition A way to start -- create collaboration diagrams from use cases Which objects communicate frequently with each other? An object can only be in one subsystem – choose. Aggregate or composite criteria – interacting tightly coupled Geographical distribution Peer-to-peer relationships Subsystem structuring criteria

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder6 Collaboration Diagram steps Factory Automation System, Gomaa, p. 674

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder7 Use Case Model Use cases associated with Factory Operator ViewAlarms View Workstation Status Generate Workstation Status and Notify Generate Alarm and Notify

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder8 Use Case Model (cont.) Use cases associated with Process Engineer Create/update Operation Create/update Process Plan

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder9 Use Case Model (cont. - 2) Production Manager use cases Create/Modify Work Order Initiates Manufacture Part releases a work order to be processed in the factory each part starts processing at receiving workstation where raw part loaded to conveyor belt next wkstn, picked off conv. belt by pick-and-place robot (p-and-p) assembly robot performs manufacturing operation p-and-p robot puts back on conv. belt for transport to next workstation continues to shipping wkstn, picked off conv belt

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder10 Domain Model

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder11 Object Structuring Figure 21.6, Gomaa -- next slide Process Plan FactoryOperator ProductionManager Process Engineer Assembly Robot PickAndPlaceRobot Alarm Part WorkstationStatus WorkOrder Operation

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder12 Object Model Fig Gomaa

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder13 Context Diagram > ProcessEngineer > ProductionManager > ProcessEngineer > AssemblyRobot > PickAndPlaceRobot > FactoryAutomation System Interacts with Interfaces to

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder14 Sample Collaboration Diagrams Fig , Gomaa Fig , Gomaa Step: Combine into high level collaboration diagram(s) as candidate subsystems Fig , p. 700, Factory Automation subsystem Fig , p. 701, Process Planning subsystem Fig , p. 703, Part Processing subsystem

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder15 Sample Collaboration Diagrams

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder16 Subsystem Collaboration Diagram

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder17 Process Planning Subsystem

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder18 Subsystem Collaboration Diagram

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder19 System decomposition A way to start -- create collaboration diagrams from use cases Which objects communicate frequently with each other? An object can only be in one subsystem – choose. Aggregate or composite criteria Geographical distribution Peer-to-peer relationships Subsystem structuring criteria

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder20 Client/Server Collabs AlarmHandler is a server Operator Interface is a client, actually a composite forming the Operator Interface user interface subsystem one for each operator WorkStationStatus is a server, one for each workstation Process Plan server and Operation server are used together as a composite server -- Process Planning server May aggregate the Process Planning Server and the Process Engineer Interface into a Process Planning subsystem

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder21 User Interfaces – 1 for each Operator Interface Process Engineer Interface Production Manager Interface