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.
Executional Architecture
A component- and message-based architectural style for GUI software
By Philippe Kruchten Rational Software
9.5 Software Architecture
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Rational Unified Process Workflows. The Rational Unified Process.
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.
Software Engineering I Object-Oriented Design
ECEN5053 SW Eng of Dist Systems, Arch Des Part 4, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 4 ECEN5053 SW.
Ch 12 Distributed Systems Architectures
CS 432 Object-Oriented Analysis and Design
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.,
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
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.
Chapter 9 Elements of Systems Design
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
UML - Development Process 1 Software Development Process Using UML (2)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Unified Modeling Language, Version 2.0
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
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.
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Lecture 18: Object-Oriented Design
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
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.
Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem.
DESIGN OF SOFTWARE ARCHITECTURE
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter : 9 Architectural Design
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
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)
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
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.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
UML Diagrams Jung Woo.
Overview of System Engineering
Analysis models and design models
CS 8532: Advanced Software Engineering
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
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 Highly configurable Message-based Concurrent 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 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 – other course 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 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 vs. composite criteria 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 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

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 vs. 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 Operator Interface Process Engineer Interface Production Manager Interface

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder22 Subsystem Structuring Criteria Control Coordinator Data Collection Data Analysis Server User interface I/O subsystem System Services

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder23 Control Subsystem Controls a given aspect of the system Inputs come from external environment Outputs to external environment Often state-dependent If more than one, may need Coordinator subsystem In Factory Automation System ReceivingWorkstationController LineWorkstationController ShippingWorkstationController

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder24 Coordinator May be needed if more than one controller Unless the controller subsystems are completely independent or the controller subsystems can coordinate among themselves as in the Factory Automation case

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder25 Data Collection & Analysis Data Collection subsystem Collects data from external environment May be a real time subsystem Data Analysis subsystem Analyzes data and provides reports or displays Probably not a real time subsystem One subsystem may do both functions

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder26 Server Provides service for other subsystems Does not initiate requests

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder27 User Interface Provides user interface Acts as client providing access to servers Usually a composite object composed of related simpler user interface objects

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder28 I/O subsystem Device interface classes

9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder29 System services Some services are not problem domain specific System-level services file management network communication management middleware Probably not developed along with the application but need to indicate they exist