9-27-2004 ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 3 ECEN5053 SW.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

COMET Approach for UML Overview
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
Time and Global States Part 3 ECEN5053 Software Engineering of Distributed Systems University of Colorado, Boulder.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
ECEN 5053, Paradigms & Patterns, Wk 81 Paradigms & Patterns - 3 ECEN 5053 SW Eng of Distributed Systems University of Colorado, Boulder.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
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 8 Slide 1 System models September 29, 2008.
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.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
An Introduction to Rational Rose Real-Time
Unified Modeling Language
Client/Server Software Architectures Yonglei Tao.
The Design Discipline.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Database Design – Lecture 16
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Replication & EJB Graham Morgan. EJB goals Ease development of applications –Hide low-level details such as transactions. Provide framework defining the.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
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.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Systems Analysis and Design in a Changing World, 3rd Edition
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
TAL7011 – Lecture 4 UML for Architecture Modeling.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Comet, a Case Study Distributed Factory Automation System Software Engineering Petta Davide.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Netprog: Corba Object Services1 CORBA 2.0 Object Services Ref: The Essential Distributed Objects Survival Guide: Orfali, Harky & Edwards.
CS338Parallel and Distributed Databases11-1 Parallel and Distributed Databases Lecture Topics Multi-CPU and distributed systems Monolithic system Client–server.
Introduction to OOAD and the UML
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
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 Chapter 10 Object-oriented Design. Slide 2 Characteristics of OOD l Objects are abstractions of real-world or system entities and manage themselves.
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)
Distributed DBMS Architecture Chapter 4 Principles Of Distributed Database Systems,2/e By Ozsu, Patrick Valduriez.
Basic Characteristics of Object-Oriented Systems
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
UML Diagrams Jung Woo.
#01 Client/Server Computing
Ch > 28.4.
An Introduction to Software Architecture
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
OBJECT STORAGE AND INTEROPERABILITY
Design.
#01 Client/Server Computing
Presentation transcript:

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 3 ECEN5053 SW Eng of Distributed Systems University of Colorado, Boulder

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder2 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

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder3 Static Model -- Composite Classes

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder4 Subsystem Interfaces

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder5 Subsystem Interfaces - 2

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder6 Subsystem Interfaces - 3

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder7 Timeline of COMET Design Methodology – Pt 1  Use case diagrams  Use case narratives Domain model System context model Static model of entity classes Define classes in the class dictionary (classes & attributes) Class diagram  objects  classes  high-level subsystems  add new classes to class dictionary  Per use case, dev collaboration diagram (or sequence)  Analyze sequence  Analyze information passed Dev. statechart for each state- dependent object in a state- dependent collaboration. Synthesize statecharts Message sequence descriptions for each collaboration diagram Requirements Model Analysis Model Design Model Synthesize artifacts of analysis to make initial sw architecture Synthesize collaboration diagrams into collaboration model Synthesize class diagram  Design overall sw architecture: Subsystem structure  Subsystem interfaces  Collaboration diagram for each subsystem  Hi-level collaboration diagram for whole system  Design distributed component-based sw architecture  For dist. apps., define dist. component subsystems using dist. configuration criteria  Def. msg comm interfaces

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder8 Timeline of COMET Design Methodology – Pt. 2 Define the concurrent task architecture for each subsystem  Apply task structuring criteria  Define tasks and their interfaces  Dev. concurrent collaboration diagrams for each subsystem  Describe each task in task behavior spec Analyze the performance of the design for real-time tasks Design the classes in each subsystem  Class interfaces  Inheritance hierarchies  If database needed o design db o dev wrapper classes  Dev. class interface spec for each class Dev. detailed software design for each subsystem  Internals of composite tasks including nested passive objects  Details of task synchronizatio mechanisms for obj’s accessed by multiple tasks  Connector classes that encapsulate details of inter-task communication  Des., doc each task’s internal event sequencing logic Performance Analysis for real-time sys Subsystem Classes Design Detailed software design Re-analyze performance in greater detail for each subsystem by iterating on these steps, if necessary. This applies to real-time application design.

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder9 Deployment Diagram

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder10 One more pass Want to be sure the subsystems can be designed as distributed components, mapped to distributed nodes. Component Configuration criteria Providing a service specific to a site – each instance on a specific node Performance Specialized hardware or interfaces User interface Server component

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder11 Service specific to a site One component can be operational even if the other nodes are unavailable Proximity to the source of physical data – fast access for high access rates Localized autonomy Receives high level commands from elsewhere Provides low-level control, perhaps providing status information

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder12 Performance All related objects on the same node to perform a time-critical function May need to violate some other principle How critical is critical?

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder13 Specialized HW Component supports specialized hardware interfaces to special-purpose peripherals, sensors need to be nearby

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder14 User interface Located at the node where the user is Responses to simple requests can be rapid Responses to more complicated requests can be slower – psychologically acceptable

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder15 Server component Service for other components “Proximity to source of data” may overlap A data server might support remote access to a centralized database or file store – not always co-located with the data store

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder16 Subsystem Interfaces - asynchronous Message communication for distributed systems Loosely-coupled asynchronous message communication between subsystems wherever possible FIFO message queues Priority message queues Group communication (multicast) from one location to all members of a group

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder17 Subsystem Interfaces - Synchronous Tightly coupled – client sends a msg and waits (idle or suspended) for a response Single client/server Multiple-client/server Queue can build up at server end Server can delegate processing of client’s request to another server which then responds directly to the original client

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder18 ack/nack Msg communication in same or different subsystems is generally handled the same way but remote transmission has the possibility of failure en route MOM communicates with MOM Even in asynchronous comm, may want indication that msg has arrived Negative ack to source task from local MOM if ack not received within time spec Source task must decide what to do

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder19 Synchronous with reply Sends a msg and waits for a reply nack from local MOM indicating timeout If client and server are to dialog, establish a connection and send/receive msgs over the connection Synchronous without reply possible but... what’s the point? (there may be a point – what is it?)

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder20 Group msg comm or subscribe/notify One source, multiple destinations Broadcast communication unsolicited msg sent to all recipients; recipients decide whether to discard or process Multicast same msg sent to members of a group Subscribe/notify Publisher can send to group

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder21 Brokered Communication Clients and servers can be distributed objects Object broker is intermediary in interactions between them Client does not have to maintain info about where the service is provided or how to obtain it Provides location transparency – if server moves, only the broker needs to know Servers register services they provide and location Clients identify service required and send msg Broker receives request, finds location, forwards req.

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder22 Transaction Management In this section, sufficient to realize the need for transactions Flat – all or nothing Compound – might need only partial rollback We’ll spend a week specifically on transaction management

ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder23 Data distribution Distributed data divided into sections each section on a different subsystem Replicated data identical copies everywhere challenge is to keep them identical at the level required by the application We spend a week on this topic, also.