od-1 cse333 architectural specification and optimal deployment of distributed systems profs. s....

125
OD-1 CSE333 Architectural Specification Architectural Specification and Optimal Deployment of and Optimal Deployment of Distributed Systems Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering Department The University of Connecticut 371 Fairfield Road, Box U-2155 Storrs, CT 06269-2155 [email protected] http://www.engr.uconn.edu/ ~steve (860) 486 - 4818 Prof. María Cecilia Bastarrica Department of Computer Science The University of Chile Santiago, Chile [email protected] http://www.dcc.uchile.cl/~cecilia/

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-1

CSE333

Architectural Specification and Optimal Architectural Specification and Optimal Deployment of Distributed SystemsDeployment of Distributed Systems

Profs. S. Demurjian and A. ShvartsmanComputer Science & Engineering Department

The University of Connecticut371 Fairfield Road, Box U-2155

Storrs, CT [email protected]

http://www.engr.uconn.edu/~steve

(860) 486 - 4818

Prof. María Cecilia BastarricaDepartment of Computer Science

The University of ChileSantiago, Chile

[email protected]://www.dcc.uchile.cl/~cecilia/

Page 2: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-2

CSE333

What are the Elements What are the Elements in a Distributed System?in a Distributed System?

Application ComponentsApplication Components New Software Legacy, COTS, Databases, etc.

Relationship Between ComponentsRelationship Between Components Different Implementations of “Same” Component Different Implementations of “Same” Component

on Different Hardware Platformson Different Hardware Platforms ConfigurationConfiguration Node Types in the NetworkNode Types in the Network Components’ DeploymentComponents’ Deployment More?More?

Page 3: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-3

CSE333

Graphical Modeling (Object-Oriented)Graphical Modeling (Object-Oriented) Manual Documentation of the Objects InteractionManual Documentation of the Objects Interaction Ad HocAd Hoc Specification of Types and Classes Specification of Types and Classes Formal Specification of InterfacesFormal Specification of Interfaces Description of Algorithms and ProtocolsDescription of Algorithms and Protocols Specification of Configuration and DeploymentSpecification of Configuration and Deployment

The Best Current PracticeThe Best Current Practice

Page 4: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-4

CSE333

Problem and IssuesProblem and Issues

What is the Best Way of Deploying a Distributed What is the Best Way of Deploying a Distributed Application? Application?

Problems With the Problem Problems With the Problem What is a Distributed Application ? Where is This Application to Be Deployed? What Do We Mean by Best Deployment? How Do We Get the Best Deployment?

Page 5: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-5

CSE333

Distributed ApplicationDistributed Application

A Distributed Application is a Set of Components A Distributed Application is a Set of Components Deployed Over a Network That Communicate.Deployed Over a Network That Communicate.

Components May Be:Components May Be: Data Types Executable Programs

Legacy or COTS Clients/Servers

Databases, Etc.

Page 6: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-6

CSE333

NetworkNetwork

A Network is a Set of A Network is a Set of Computers Connected So Computers Connected So They Can CommunicateThey Can Communicate

Computers & Connections Computers & Connections May Have Different May Have Different Characteristics That Affect Characteristics That Affect Their Usage Their Usage Speed Storage Bandwidth

Page 7: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-7

CSE333

Best DeploymentBest Deployment

A Distributed System is A Distributed System is Optimally Deployed if it Optimally Deployed if it Yields the Best PerformanceYields the Best Performance

Performance: Efficient Use Performance: Efficient Use of Resourcesof Resources Throughput Response Time Number of Messages

Page 8: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-8

CSE333

Understanding the Problem via UMLUnderstanding the Problem via UML

Consider an Application with a UML DesignConsider an Application with a UML Design Class Diagram and Object Diagram Sequence Diagrams Component Diagrams (Hardware & Software) (see Next Three Slides)

Questions:Questions: How do I Determine the Best Placements of the

Components (Classes) on the Hardware? How does the Object Interactions Influence the

Placement? Are any Instances Replicated? Fixed to

Particular Hardware Locations? How Do I Decide on Optimality?

Page 9: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-9

CSE333

Software and Hardware Component TypesSoftware and Hardware Component Types

Page 10: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-10

CSE333

Software Component ClassesSoftware Component Classes

Page 11: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-11

CSE333

Hardware Component ClassesHardware Component Classes

Page 12: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-12

CSE333

Relationship of Relationship of Software and Hardware ClassesSoftware and Hardware Classes

Page 13: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-13

CSE333

Instances of Software ClassesInstances of Software Classes

Page 14: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-14

CSE333

Instances of Hardware ClassesInstances of Hardware Classes

Page 15: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-15

CSE333

Critical Step: Mapping Software Instances Critical Step: Mapping Software Instances to Hardware Locations with Restrictionsto Hardware Locations with Restrictions

Software (Left) and Hardware (Right) InstancesSoftware (Left) and Hardware (Right) Instances Restrictions on Restrictions on

Which Software Instance can be Deployed on Which Hardware Instance

Which Software Instances Deployed Together Which Software Instances Must be Separate

Page 16: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-16

CSE333

Objective Objective Determine the Optimal Deployment? Determine the Optimal Deployment?

Page 17: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-17

CSE333

softwareelements

hardwareelements

protocolsinterfaces

interactionpatterns

connectionsSpecification

Distributed Systems SpecificationDistributed Systems SpecificationCombinations of RequirementsCombinations of Requirements

Page 18: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-18

CSE333

Performance

algorithms

middleware

underlyingnetwork

usagepatterns

deployment

softwarearchitecture

replicationdegree

processingnodes

Distributed System Optimal DeploymentDistributed System Optimal DeploymentInfluenced by Many FactorsInfluenced by Many Factors

Page 19: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-19

CSE333

Integrated Framework for Integrated Framework for Design and DeploymentDesign and Deployment

SOFTWARE HARDWARE

Dependencies

Deployment

PERFORMANCE

Page 20: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-20

CSE333

Two-Fold Focus of the WorkTwo-Fold Focus of the Work

II55

An Architectural Specification Framework Specifically for Distributed Systems Including Software and Hardware Features Textual and Graphical Notations.

Optimization ModelOptimization Model Binary Integer Programming Model Architectural Information + Usage Patterns As

Parameters Possibility of Optimizing According to

Different Criteria

Page 21: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-21

CSE333

Graphical Specification

Textual Specification

Extended TextualSpecification

Optimal Deployment

TransformationProcedures

Usage PatternsInformation

BIP Model

The Complete CycleThe Complete Cycle

Page 22: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-22

CSE333

Outline or Remainder of TalkOutline or Remainder of Talk

Motivation and BackgroundMotivation and Background Overview of Architectural Styles OSF’s I4DL UML and Design Concepts

The I5 FrameworkThe I5 Framework A First Look at I5’s Levels Different Levels Graphical and Textual Notations

Optimal DeploymentOptimal Deployment BIP Optimization Parameters - Optimization Criteria

Conclusions and Future WorkConclusions and Future Work

Page 23: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-23

CSE333

Overview of Architectural StylesOverview of Architectural Styles

UML is Intended for Specifying OO and UML is Intended for Specifying OO and Component-based SystemsComponent-based Systems Define Business Processes (Use Cases) Track Specification/Document

CORBA Assumes an OO Architectural StyleCORBA Assumes an OO Architectural Style Other Architectural Styles Can Be Derived From Other Architectural Styles Can Be Derived From

the OO Stylethe OO Style Z Has Been Used to Specify Software Z Has Been Used to Specify Software

ArchitecturesArchitectures Formal Basis for Describing System Mathematically Sound

We’ll Employ both UML and Z!We’ll Employ both UML and Z!

Page 24: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-24

CSE333

II55 : Background and Sources : Background and Sources

OSF’s I4DL- Distributed Systems Defined With 4 OSF’s I4DL- Distributed Systems Defined With 4 Definition Languages (2 Pages):Definition Languages (2 Pages): Interface Inheritance Implementation Instantiation

UML’s Implementation Diagrams:UML’s Implementation Diagrams: Component Diagrams Deployment Diagrams

Page 25: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-25

CSE333

Five Definition LanguagesFive Definition Languages Interface Inheritance Implementation Instantiation Installation

Five Formal Integrated Graphical Languages Five Formal Integrated Graphical Languages Based on UML’s Implementation DiagramsBased on UML’s Implementation Diagrams

The Application, Network, Dependencies and the The Application, Network, Dependencies and the Deployment are Part of an Integrated FrameworkDeployment are Part of an Integrated Framework

new DL

refine and expand DLs

What is What is II55??

Page 26: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-26

CSE333

Interface (I1)Interface (I1) - Types of Components, Nodes and - Types of Components, Nodes and ConnectorsConnectors

Implementation (I2)Implementation (I2) - Classes of Components, - Classes of Components, Nodes and ConnectorsNodes and Connectors

Integration (I3)Integration (I3) - Dependencies Between - Dependencies Between Component and Node ClassesComponent and Node Classes

Instantiation (I4)Instantiation (I4) - Instances of Each Class - Instances of Each Class DefinitionDefinition

Installation (I5)Installation (I5) - Deployment of Each Instance - Deployment of Each Instance (Requirements and Complete Deployment)(Requirements and Complete Deployment)

The Five Levels of The Five Levels of II55

Page 27: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-27

CSE333

TypesTypes - Generic Definition of Components, Nodes, - Generic Definition of Components, Nodes, and Connectors According to Their Roleand Connectors According to Their Role Defined in I1 Used in I2 to Define Classes

ClassesClasses - Different Implementations of the Types - Different Implementations of the Types Defined in I2 Used in I3 to Associate Software Components

and Hardware Artifacts and I4 to Define Instances InstancesInstances - Identical Copies of the Different Classes - Identical Copies of the Different Classes

Defined in I4 Used in I5 to Deploy Instances Across Nodes

Levels of Specification in Levels of Specification in II55

Page 28: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-28

CSE333

UMLUML

UML is a Set of Graphical Specification UML is a Set of Graphical Specification Languages (OMG’s Standard Design Language Languages (OMG’s Standard Design Language Since November, 1997)Since November, 1997)

Implementation DiagramsImplementation Diagrams Component Diagrams:

Show the Physical Structure of the Code in Terms of Code Components and Their Dependencies

Deployment Diagrams: Show the Physical Architecture of the Hardware

and Software in the System.

They Have a Type and an Instance Version.

Page 29: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-29

CSE333

UMLUML

When to Use Deployment Diagrams When to Use Deployment Diagrams “… “… In practice, I haven’t seen this kind of diagram used much. In practice, I haven’t seen this kind of diagram used much.

Most people do draw diagrams to show this kind of Most people do draw diagrams to show this kind of information but they are informal cartoons. On the whole, I information but they are informal cartoons. On the whole, I don’t have a problem with that since each system has its don’t have a problem with that since each system has its own physical characteristics that your want to emphasize. own physical characteristics that your want to emphasize. As we wrestle more and more with distributed systems, As we wrestle more and more with distributed systems, however, I’m sure we will require more formality as we however, I’m sure we will require more formality as we understand better which issues need to be highlighted in understand better which issues need to be highlighted in deployment diagrams.”deployment diagrams.”

From “UML Distilled. Applying the Standard Object From “UML Distilled. Applying the Standard Object Modeling Language”, by Martin Fowler. Addison-Wesley, Modeling Language”, by Martin Fowler. Addison-Wesley, Object Technology Series, 7th. Reprint June, 1998.Object Technology Series, 7th. Reprint June, 1998.

Page 30: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-30

CSE333

Pros and Cons ofPros and Cons ofGraphical ModelingGraphical Modeling

Advantages:Advantages: Clear to Show

Structure Excellent

Communication Vehicle

Addresses Different Aspects of Modeling in an Integrated Fashion

DisadvantagesDisadvantages:: Shows Little (or No)

Details There is a Big Gap

Between Specification and Implementation

Limited by Screen Size & Printable Page

Solution: Associate a Complete Textual Solution: Associate a Complete Textual Specification to Graphical Model that Contains Specification to Graphical Model that Contains the Necessary Details for Each Elementthe Necessary Details for Each Element

Page 31: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-31

CSE333

Design ConceptsDesign Concepts

Interface Interaction With the Outer World Interface Interaction With the Outer World Signature + Requested ServicesSignature + Requested Services

TypeType: Abstract Entity - Interface + Semantics: Abstract Entity - Interface + Semantics SubtypeSubtype: Inherits the Supertype Definition: Inherits the Supertype Definition ClassClass: Implementation of a Type: Implementation of a Type RealizationRealization: Relation Between a Type and a Class : Relation Between a Type and a Class

That Implements ItThat Implements It SubclassSubclass: Inherits the Superclass Implementation: Inherits the Superclass Implementation InstanceInstance: Element of a Class: Element of a Class

Page 32: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-32

CSE333

Design Concepts in UML DiagramsDesign Concepts in UML DiagramsComponent Types and ClassesComponent Types and Classes

T1

T2

C1

C2.1

C2.2

I2

I2

I2

I2

I2

I4 I4

I4

types

classes

realization

subtype

subclass

interface

Page 33: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-33

CSE333

TheThe I I5 5 FrameworkFramework

An An IntegratedIntegrated Specification Framework for Specification Framework for Distributed SystemsDistributed Systems Support for the Architectural Specification of

OO and Component Based Distributed Systems Heterogeneous Network - Platforms

A Five Level Framework for Defining Software A Five Level Framework for Defining Software and Hardware (Platforms) With a and Hardware (Platforms) With a UniformUniform Notation and With Different Levels of AbstractionNotation and With Different Levels of Abstraction

Specified Textually in Z or Graphically in UMLSpecified Textually in Z or Graphically in UML Emphasis on Implementation Diagrams

Please See http://www.engr.uconn.edu/~ceciliaPlease See http://www.engr.uconn.edu/~cecilia

Page 34: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-34

CSE333

Interplay ofInterplay ofGraphical and Textual NotationsGraphical and Textual Notations

Well-formed

Consistent

graphical

textual

Page 35: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-35

CSE333

Benefits of Benefits of II55

Organizes the Design of New Systems and the Organizes the Design of New Systems and the Documentation of Existing Distributed SystemsDocumentation of Existing Distributed Systems

More Traceability, Important for Maintenance More Traceability, Important for Maintenance

Firm Base for Configuration ManagementFirm Base for Configuration Management

The Implicit Methodology Makes Use of the The Implicit Methodology Makes Use of the Knowledge Shared by the Trained UML Users Knowledge Shared by the Trained UML Users CommunityCommunity

We’ll Transition from We’ll Transition from II55 to Optimal Deployment! to Optimal Deployment!

Page 36: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-36

CSE333Interface

Implementation

Integration

Instantiation

InstallationAb

str

acti

on

Deta

il

The Five Levels of The Five Levels of II55

Page 37: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-37

CSE333

A First Look at A First Look at the Interface Levelthe Interface Level

Component and Node Component and Node TypesTypes Are Specified As Are Specified As Well As Their Connections.Well As Their Connections.

PNODE

CITY

PUZZLE

SLIST

PATH

USER BASETCP/IP

TCP/IPTCP/IP

types

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 38: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-38

CSE333

A First Look at A First Look at the Inheritance Levelthe Inheritance Level

Two Types of Inheritance:Two Types of Inheritance: Implementation

Inheritance Interface

Refinement

WINDOW

DIALOGBOX

x_window

x_dialogbox

w_window

w_dialogbox

classes

types

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 39: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-39

CSE333

A First Look at A First Look at the Inheritance Levelthe Inheritance Level

Components Nodes

Types Interfaces andsemantics

Role of the node

ImplementationClasses

Implementationdependencies

Architecture and/orOS of the role

Instances Executableinstance

Instance computer

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 40: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-40

CSE333

A First Look at the A First Look at the Implementation LevelImplementation Level

Implementation Constraints State the Class of Implementation Constraints State the Class of Node Where Each Implementation Class of Node Where Each Implementation Class of Component Should RunComponent Should Run

puzzle slist path

user

<<supports>> <<supports>> <<supports>>

stereotypesclasses

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 41: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-41

CSE333

A First Look at the A First Look at the Instantiation LevelInstantiation Level

Instantiation Identifies the Instance Components Instantiation Identifies the Instance Components and Computers of Each Class That Form Part of and Computers of Each Class That Form Part of the Actual Systemthe Actual System

pnode: PNODE

puzzle:PUZZLE

slist1:SLIST

city:CITY

slist2:SLIST

path:PATH

instances

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 42: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-42

CSE333

A First Look at the A First Look at the Instantiation LevelInstantiation Level

Only Instances of the Only Instances of the Implementation Classes Implementation Classes Already Identified Can Already Identified Can Be Part of the SystemBe Part of the System

Instances Must Preserve Instances Must Preserve the Dependencies the Dependencies Specified in the Interface Specified in the Interface LevelLevel

user1:USER

user2:USER

base1:BASE

base2:BASE

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 43: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-43

CSE333

A First Look at the A First Look at the Installation LevelInstallation Level

Deployment of the Instance Components Over the Deployment of the Instance Components Over the Instance ComputersInstance Computers

Installation Has Two Facets:Installation Has Two Facets: Installation Requirements Complete Installation

All Instances Identified in the Instantiation Level All Instances Identified in the Instantiation Level Must Be Part of the Complete InstallationMust Be Part of the Complete Installation

INTERFACEINHERITANCEIMPLEMENTATIONINSTANTIATIONINSTALLATION

Page 44: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-44

CSE333

Installation RequirementsInstallation Requirements

Types of Requirements:Types of Requirements: Fix the Location

of Certain Instance Components

Two or More ComponentsMust Be Deployed Together

user2:USER

path:PATH

puzzle:PUZZLE

slist1:SLIST

Page 45: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-45

CSE333

CompleteComplete Installation Installation

user1:USER

user2: USER

base2: BASEbase1: BASE

puzzle:PUZZLE

slist1:SLIST

slist2:SLIST

path:PATH

pnode: PNODE

city:CITY

Page 46: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-46

CSE333

Types

Classes

Instances

Soft

ware

Hard

ware

Specification ElementsSpecification Elements

Page 47: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-47

CSE333

Dependencies Between LevelsDependencies Between Levels

Component Types Node Types INTERFACE

IMPLEMENTATION

INTEGRATION

INSTANTIATION

INSTALLATION

Component Classes Node Classes

ImplementationDependencies

Inst. Components Inst. Nodes

Installation Req. (together,separated)

Installation Req. (fix location)

Complete Installation

System Instantiation

Page 48: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-48

CSE333

Components TypesComponents Types Type Supertypes Associated

Interfaces Calls

PropertiesProperties Types are Unique Supertypes Must Be

Part of I1S Calls Must Be

Satisfied in I1S

Interface - Software: I1SInterface - Software: I1S

Page 49: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-49

CSE333 Client

FrontEnd

response

requestreceive

<<call>>

Replicareceivegossip

<<call>>

<<call>><<call>>

<<call>>

Interface - Software: I1SInterface - Software: I1S

Page 50: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-50

CSE333 [COMP_TYPE][INTERFACE] Comp_Typetype : COMP_TYPEsupertypes : P Comp_Typelocal_int, interfaces : P INTERFACElocal_calls, calls : Comp_Type INTERFACE

self supertypesinterfaces = supertypes.interfaces local_intcalls = supertypes.calls local_calls

Interface - Software: I1SInterface - Software: I1S

Page 51: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-51

CSE333

I1_Scomp_types : P Comp_Type

c,c’ comp_types c.type = c’.type c = c’ (ct i) comp_types.calls

ct comp_types i ct.interfaces ct comp_types ct.supertypes comp_types

Interface - Software: I1SInterface - Software: I1S

Page 52: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-52

CSE333

Interface - Hardware: I1HInterface - Hardware: I1H

Node TypesNode Types Connector TypesConnector Types ConnectionsConnections

PropertiesProperties All Node Types Must Be

Connected Only Node and Connector

Types Defined Take Part in the Connections

SUNIntel

Pentium

MPI

Sockets

Page 53: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-53

CSE333

[NODE_TYPE] Node_Typetype: NODE_TYPE

[CONN_TYPE] Conn_Typetype: CONN_TYPE

I1_Hnode_types : P Node_Typeconn_types : P Conn_Typeconnects : Conn_Type P Node_Type

(dom connects) = conn_types n_set (ran connects) n_set node_types nt node_types (ct nt_set) connects | nt nt_set

Interface - Hardware: I1HInterface - Hardware: I1H

Page 54: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-54

CSE333

Implementation - Software: I2SImplementation - Software: I2S

Component ClassesComponent Classes Component Type Class Superclasses Calls to Classes

Interfaces Properties:Properties:

Only Types in I1S are Allowed

Superclasses Are Realizations of the Supertypes

Calls & Inheritance are Satisfied Within I2S

Page 55: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-55

CSE333

XFrontEndrequestreceive

PCCtrClresponse

XCtrCl

response

<<call>> <<call>>

<<call>>

Counterreceivegossip

<<call>>

Implementation - Software: I2SImplementation - Software: I2S

Page 56: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-56

CSE333

[COMP_CLASS]Comp_ClassComp_Typeclass : COMP_CLASSsuperclasses : P Comp_Classcl_call : Comp_Class INTERFACE

cc superclasses cc.Comp_Type supertypes (cc i) cl_call (ct i) calls | cc.Comp_Type = ct

Implementation - Software: I2SImplementation - Software: I2S

Page 57: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-57

CSE333

I2_SI1_Sc_classes : P Comp_Class

cc,cc’ c_classes cc.class = cc’.class cc = cc’c_classes.Comp_Type comp_types cc c_classes cc.superclasses c_classes(cc i) c_classes.cl_call cc c_classes

Implementation - Software: I2SImplementation - Software: I2S

Page 58: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-58

CSE333

Implementation - Hardware: I2HImplementation - Hardware: I2H

Node ClassesNode Classes Node Type Class

Connector ClassesConnector Classes Type Class

Connections Between Connections Between Node ClassesNode Classes

PropertiesProperties Node and Connector

Classes Refine the Types in I1H

Connections are With Connector Classes That Refine Connector Types in I1H

Page 59: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-59

CSE333

SUNIntel

Pentium

MPI

Sockets

SUN OS 4.1.4 Win95

MPI_Impl

CSockets

<<realizes>><<realizes>>

Implementation - Hardware: I2HImplementation - Hardware: I2H

Page 60: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-60

CSE333

[NODE_CLASS]Node_ClassNode_Typeclass : NODE_CLASS

[CONN_CLASS]Conn_ClassConn_Typeclass : CONN_CLASS

I2_HI1_Hnode_classes : P Node_Classconn_classes : P Conn_Classconnects_cl : Conn_Class P Node_Class

node_classes.Node_Type node_typesconn_classes.Conn_Type conn_types (cc nc_set) connects_cl

1 (ct nt_set) connects | cc.Conn_Type = ct nc_set.NodeType nt_set

Implementation - Hardware: I2HImplementation - Hardware: I2H

Page 61: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-61

CSE333

Software and HardwareSoftware and HardwareIntegration: I3Integration: I3

Relation <<supports>>Relation <<supports>> Instances of the Component Class May Run on

Instances of the Node Class Important Step Since it Constrains

Deployment Options PropertiesProperties

Only Node and Component Classes Defined in I2 Can Participate of the <<supports>> Relation

Page 62: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-62

CSE333

XFrontEnd

request

PCCtrClresponse

XCtrClresponse

SUN OS 4.1.4 Win95

MPI_Impl

CSockets

receivegossip

Counter

<<supports>><<supports>>

<<supports>>

<<supports>>

receive

Software and HardwareSoftware and HardwareIntegration: I3Integration: I3

Page 63: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-63

CSE333 I3I2supports : Comp_Class Node_Class

(dom supports) c_classes(ran supports) node_classes

Software and HardwareSoftware and HardwareIntegration: I3Integration: I3

Page 64: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-64

CSE333

Instantiation - Software: I4SInstantiation - Software: I4S

Component InstancesComponent Instances Class Identification Calls

PropertiesProperties Instance Calls Refine

Class Calls Only Classes in I2S May

Be Instantiated

Page 65: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-65

CSE333

c4:XCtrCl

c3:PCCtrCl

c2:PCCtrCl

c1:PCCtrCl

ct1:Counterreceive

gossip

ct2:Counter

ct3:Counter

ct4:Counter

ct5:Counter

receive

gossip

receive

gossip

receive

gossip

receive

gossip

ct6:Counterreceive

gossip

response

response

response

response

fe1:XF

rontE

nd

receiverequest

fe2:XF

rontE

nd

receiverequest

Instantiation - Software: I4SInstantiation - Software: I4S

Page 66: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-66

CSE333

[INST_COMP]Inst_CompComp_Classinst_id : INST_COMPinst_call : Inst_Comp INTERFACE

(ic i) inst_call (cc i) cl_call | ic.Comp_Class = cc

I4_SI2_Si_comp : P Inst_Comp

ic,ic’ i_comp ic.inst_id= ic’.inst_id ic = ic’i_comp.Comp_Class c_classes(dom i_comp.inst_call) i_comp.interface

Instantiation - Software: I4SInstantiation - Software: I4S

Page 67: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-67

CSE333

Instantiation - Hardware: I4HInstantiation - Hardware: I4H

Node Instances Node Instances Class Identification

Connector InstancesConnector Instances Class Identification Set of Connected

Nodes

PropertiesProperties There are Only

Instances of the Node & Connector Classes Defined in I2H

Connectors Refine I2H Connections

Page 68: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-68

CSE333

sun6:SunOS4.1.4

sun7:SunOS4.1.4

sun8:SunOS4.1.4

sun9:SunOS4.1.4

sun10:SunOS4.1.4

sun1:SunOS4.1.4

sun2:SunOS4.1.4

sun3:SunOS4.1.4

sun4:SunOS4.1.4

sun5:SunOS4.1.4

pc1:Win95 pc2:Win95 pc3:Win95 pc4:Win95

sock1 sock2 sock3 sock4

mpi1

Instantiation - Hardware: I4HInstantiation - Hardware: I4H

Page 69: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-69

CSE333

Inst_NodeNode_Classint_id : INST_NODE

Inst_ConnConn_Classinst_id : INST_CONNinst_nodes : P Inst_Node

I4_HI2_Snodes : P Inst_Nodeconns : P Inst_Conn

nodes.Node_Class node_classesconns.Conn_Class conn_classes ic conns ic.inst_nodes nodes in,in’ nodes in.inst_id = in’.inst_id in = in’ ic,ic’ conns ic.inst_id = ic’.inst_id ic = ic’ ci conns (cc nc_set) connects_cl |

ci.Conn_Class = cc (ci.inst_nodes).Node_Class nc_set

Instantiation - Hardware: I4HInstantiation - Hardware: I4H

Page 70: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-70

CSE333I4I3I4_SI4_H

ic i_comp in nodes | (ic.class in.class) supports

Instantiation: I3 + Hardware + SoftwareInstantiation: I3 + Hardware + Software

Page 71: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-71

CSE333

A Set of Component Instances Must Be A Set of Component Instances Must Be Deployed Together or SeparatedDeployed Together or Separated

Fix the Location of Some Component InstancesFix the Location of Some Component Instances

All Installation Requirements Must Be All Installation Requirements Must Be Consistent With the Requirements Imposed by Consistent With the Requirements Imposed by All the Previous Specification LevelsAll the Previous Specification Levels

Installation RequirementsInstallation Requirements

Page 72: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-72

CSE333

Installation - Requirements: Installation - Requirements: IIfix, fix, IIseparatedseparated

RequirementsRequirements Together Separated Fix

Complete DeploymentComplete Deployment PropertiesProperties

All Component, Node and Connector Instances Identified in I4 Must Be Part of the Complete Deployment

Deployment is Consistent With All of Requirements

Nodes “Support” the Component Instances That are There Assigned

Page 73: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-73

CSE333

Installation - Requirements: Installation - Requirements: IIfix, fix, IIseparatedseparated

fe2:XFrontEnd

receive

request

fe1:XFrontEnd

receive

request

sun2:SunOS4.1.4 sun3:SunOS4.1.4

separated = {ct1:Counter, ct2:Counter, ct3:Counter,ct4:Counter, ct5:Counter, ct6:Counter}

Page 74: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-74

CSE333

Complete Installation : I5Complete Installation : I5

All Node and Component Instances Form the All Node and Component Instances Form the Complete InstallationComplete Installation

Each Component Instance is Deployed to One and Each Component Instance is Deployed to One and Only One Node in the NetworkOnly One Node in the Network

Node Classes Must Support the Class of Node Classes Must Support the Class of Components It is AssignedComponents It is Assigned

It Must Satisfy the Installation RequirementsIt Must Satisfy the Installation Requirements

(We Postpone the Graphical Representation(We Postpone the Graphical Representation Until We Calculate the Optimal Deployment) Until We Calculate the Optimal Deployment)

Page 75: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-75

CSE333

I5I4together : P (P Inst_Comp)separated : P (P Inst_Comp)fix : Inst_Comp Inst_Nodedeployment : Inst_Comp Inst_Node

(dom deployment) = i_comp(ran deployment) nodes(c n) deployment (c.class n.class) supportsfix deployment i_set together i_set i_comp i_set separated i_set i_comp i_set together; ic,ic’ i_set deployment(ic) = deployment(ic’) i_set separated; ic,ic’ i_set

deployment(ic) deployment(ic’)

Complete Installation : I5Complete Installation : I5

Page 76: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-76

CSE333

Distributed Systems Deployment GoalDistributed Systems Deployment Goal

Premise:Premise: Distributed Application Comprised of Multiple

Interacting Components Target Platform of Networked Computing

Nodes Problem:Problem:

Is it possible to Deploy Components Onto Targeted Platform in an Optimal Fashion?

Can Optimal Deployment that Satisfies Both Software Requirements and Hardware Limits be Attained?

Approach: Focus on Messages - Both Throughput Approach: Focus on Messages - Both Throughput and Frequencyand Frequency

Page 77: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-77

CSE333

Optimizing with the BIP ModelOptimizing with the BIP Model

An Initial Deployment is Suggested by the ModelAn Initial Deployment is Suggested by the Model Optimization is Only With Respect to the Chosen Optimization is Only With Respect to the Chosen

CriterionCriterion Complexity of the Algorithm Makes the Procedure Complexity of the Algorithm Makes the Procedure

Useful for Small SystemsUseful for Small Systems Fixing the Location of Some Components Fixing the Location of Some Components

Dramatically Reduces the Search SpaceDramatically Reduces the Search Space

We Think That the Most Important Application for We Think That the Most Important Application for Our BIP Model is the Study of What If CasesOur BIP Model is the Study of What If Cases

Page 78: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-78

CSE333

Two Optimization ModelsTwo Optimization Modelsand Their Criteriaand Their Criteria

OptimizationCriteria

SoftwareRequirements

HardwareLimitations

Model 1 MinimizeRemoteCommunicationThroughput

Number OfBytes InRemoteMessages.

Storage NeedForComponents.

ConnectorCapacity.

Node StorageAvailability.

Model 2 Minimize TheNumber OfRemoteMessages

Number OfMessagesBetweenComponents.

ComponentClasses OnlyRun On CertainNode Classes.

Hops BetweenPairs Of Nodes.

Page 79: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-79

CSE333

Model 1: Local vs. Remote Model 1: Local vs. Remote CommunicationCommunication

LocalLocal

Less ExpensiveLess ExpensiveFasterFasterSaferSafer

RemoteRemote

More ExpensiveMore ExpensiveSlowerSlowerFault ProneFault Prone

But Distribution Improves the Opportunities But Distribution Improves the Opportunities for Parallelism and Availability of Resources for Parallelism and Availability of Resources Where They Are NecessaryWhere They Are Necessary

Page 80: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-80

CSE333

Units Storage:Units Storage:

Communication Between Units:Communication Between Units:

Node Storage and Connector CapacityNode Storage and Connector Capacity

Model 1: ParametersModel 1: ParametersStorage and CommunicationStorage and Communication

instancesistateiiUS .*.)(

listexportsjmjm.target

listi.usesm

instancesifrequencymsizemjiCOMM

_.

_

.*.*.),(

jendciendccapacitycjiCONN

storageiiNS

2.,1.|.),(

.)(

Page 81: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-81

CSE333

Model 1: Deployment ConstraintsModel 1: Deployment Constraints

General:General: Each Unit is Deployed to Only One NodeEach Unit is Deployed to Only One Node Storage for All Units Deployed to the Same Node Storage for All Units Deployed to the Same Node

Does Not Exceed the Node’s Available StorageDoes Not Exceed the Node’s Available Storage Communication Occurs Through Direct Communication Occurs Through Direct

Connectors Between NodesConnectors Between Nodes No Connector’s Throughput Exceeds Its CapacityNo Connector’s Throughput Exceeds Its Capacity

Particular:Particular: Any Unit’s Location Can Be Fixed to a Certain Any Unit’s Location Can Be Fixed to a Certain

Node (or a Set of Nodes)Node (or a Set of Nodes)

Page 82: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-82

CSE333

Model 1: BIP Model for Optimal Model 1: BIP Model for Optimal DeploymentDeployment

Decision Variables:Decision Variables:xxij ij = = 1 if component 1 if component ii is assigned to node is assigned to node jj

0 otherwise0 otherwise

1 if component 1 if component aa is assigned to node is assigned to node ii yyaibjaibj = = and component and component bb is assigned to node is assigned to node jj

0 otherwise0 otherwise

Necessary Constraints: (yNecessary Constraints: (yaibj = aibj = xxai ai ** xxbjbj)) yyaibj aibj xxaiai

yyaibj aibj xxbjbj

1 + y1 + yaibjaibj xxai + ai + xxbjbj

{

{

Page 83: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-83

CSE333

Model 1: BIP Model for Optimal Model 1: BIP Model for Optimal DeploymentDeployment

Constraints:Constraints: CompletenessCompleteness

StorageStorage

CommunicationCommunication

N

jijx

1

1

C

iij jNSiUSx

1

)()(*

C

a

C

baibj jiCONNybaCOMM

1 1

),(*),(

Page 84: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-84

CSE333

Model 1: Objective FunctionModel 1: Objective Function

N

i

N

ijj

C

a

C

baibj baCOMMy

1 1 1 1

),(* Min Z

Page 85: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-85

CSE333

Model 1: The ExampleModel 1: The Example

5000

3000

20000

2000

1000

9000

100

12000

100

5000

BASE1 BASE2

USER1 USER2

PUZZLE 10SLIST1 24PNODE 9900PATH 1SLIST2 24CITY 1600

US

PNODE CITYPUZZLE 3500SLIST1 4500PATH 700SLIST2 500

COMM

Page 86: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-86

CSE333

Model 1: The SolutionModel 1: The Solution

XXPATH,USER2PATH,USER2 = 1 = 1

USER1 USER2 BASE1 BASE2PUZZLE 0 1 0 0SLIST1 0 1 0 0PNODE 0 0 1 0PATH 0 1 0 0SLIST2 0 1 0 0CITY 0 0 0 1

Z = 1200 + 8000 = 9200

Page 87: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-87

CSE333

Model 1: The SolutionModel 1: The Solution

PATH can be Located in Any NodePATH can be Located in Any Node

USER1 USER2 BASE1 BASE2PUZZLE 0 1 0 0SLIST1 0 1 0 0PNODE 0 0 1 0PATH 0 0 1 0SLIST2 0 0 1 0CITY 0 0 1 0

USER1 USER2 BASE1 BASE2PUZZLE 0 1 0 0SLIST1 0 1 0 0PNODE 0 0 1 0PATH 0 0 0 1SLIST2 0 0 0 1CITY 0 0 0 1 Z = 8000

Page 88: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-88

CSE333

Optimization CriteriaOptimization Criteria

OptimizationCriteria

SoftwareRequirements

HardwareLimitations

Model 1 MinimizeRemoteCommunicationThroughput

Number OfBytes InRemoteMessages.

Storage NeedForComponents.

ConnectorCapacity.

Node StorageAvailability.

Model 2 Minimize TheNumber OfRemoteMessages

Number OfMessagesBetweenComponents.

ComponentClasses OnlyRun On CertainNode Classes.

Hops BetweenPairs Of Nodes.

Page 89: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-89

CSE333

Model 2: Parameters: Model 2: Parameters: Architecture + Usage PatternsArchitecture + Usage Patterns

SUPP(C x N) - A Component is Supported by a SUPP(C x N) - A Component is Supported by a NodeNode

MSGS(C x C) - Number of Messages Between a MSGS(C x C) - Number of Messages Between a Pair of ComponentsPair of Components

HOPS(N X N) - Hops Between a Pair of NodesHOPS(N X N) - Hops Between a Pair of Nodes

supportsclassjclassijiSUPP )..(),(

la.inst_cal)|(

),(.),(ibi

ibfreqabaMSGS

inst_nodes.},{||)),(max(1),(

0),(

ickiconnsicjkHOPSjiHOPS

iiHOPS

Page 90: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-90

CSE333

Model 2:Model 2: Decision VariablesDecision Variables

C x N Primary Decision VariablesC x N Primary Decision Variables

CC22NN22 Auxiliary Decision Variables Auxiliary Decision Variables

otherwise

node to deployed is component if x ji 0

ji 1{,

otherwise 0

j node todeployed is bcomponent and

i node todeployed is acomponent if 1{,,, jbiay

Page 91: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-91

CSE333

Model 2:Model 2: Derived EquationsDerived Equations

XXijij and and YYaibjaibj Are Related:Are Related:

and This Relationship Can Be Restated Linearly and This Relationship Can Be Restated Linearly

As Follows:As Follows:

bjaiaibj xxy

bjaiaibj

bjaibj

aiaibj

xxy

xy

xy

1

Page 92: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-92

CSE333

Model 2:Model 2: Equations: System’s ConstraintsEquations: System’s Constraints

CompletenessCompleteness - All Instance Components Must - All Instance Components Must Be Deployed & Only Over Instance NodesBe Deployed & Only Over Instance Nodes

SupportabilitySupportability - Instance Nodes Must Support - Instance Nodes Must Support the Components Assignedthe Components Assigned

Requirements Requirements - Complete Deployment Must - Complete Deployment Must Satisfy the Fix, Separated & Together Satisfy the Fix, Separated & Together Installation RequirementsInstallation Requirements

N

jjix

1, 1

),(, jiSUPPx ji

11

,

N

j Tajax

Sa

jax 1,

Page 93: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-93

CSE333

Model 2:Model 2: Objective FunctionObjective Function

C

a

N

i

C

b

N

jaibjyjiHOPSbaMSGSZ

1 1 1 1

),(),(

Page 94: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-94

CSE333

A Second Example in A Second Example in II55 Modeling a SystemModeling a System

Conceptually Based on an Essentially Serializable Conceptually Based on an Essentially Serializable Data Service (ESDS)Data Service (ESDS)

Demonstration ofDemonstration of Modeling Capabilities of I5

Verification of Work Utilizing Genetic Algorithm

Joint Research with Bastarrica and Cabellero Published in Software Engineering/Knowledge

Engineering Conference 01 See Course web page for paper

Page 95: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-95

CSE333

What is ESDS?What is ESDS?

ESDS is a Replicated Data Service Dealing withESDS is a Replicated Data Service Dealing with Replicated Objects Allowing clients of Service

to Relax Consistency Requirements for Improved Responsiveness

Simultaneously Provide Guarantees of Eventual Consistency of Replicated Data

ESDS Implementation IncludesESDS Implementation Includes Parameterizable Number of Client, Front-End,

and Replicated Components Each can have Different Communication

Patterns Each can be Individually Deployed in a Target

Network

Page 96: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-96

CSE333

Modeling ESDS using Modeling ESDS using II55

ESDS Deals with Replicated Objects and Trades ESDS Deals with Replicated Objects and Trades Short-Term Consistency (lack of) for PerformanceShort-Term Consistency (lack of) for Performance

ESDS Guarantees Eventual Consistency of ESDS Guarantees Eventual Consistency of ReplicasReplicas

In ESDS Replicas In ESDS Replicas Keep Order of Known Data Operations Implemented as Individually Deployable

Components Periodically Exchange Knowledge in Gossip

Messages Clients Interact with Users of the ServiceClients Interact with Users of the Service Front-Ends Broker Communication Between Front-Ends Broker Communication Between

Clients and Replicas Clients and Replicas

Page 97: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-97

CSE333

Software Interface : I1SSoftware Interface : I1S

comp_types = {Client, FrontEnd, Replica}

Page 98: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-98

CSE333

Hardware Interface : I1HHardware Interface : I1H

node_types = {Sun, Intel Pentium}conn_types = {MPI, Sockets}connects = {(MPI {Sun, Sun}),

(Sockets {Sun, Intel Pentium})}

Page 99: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-99

CSE333

Software Implementation :I2SSoftware Implementation :I2S

c_classes = {PCCtrCl, XCtrCl, XFrontEnd, Counter} ---- Clients ----------FrontEnd--Replica

Page 100: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-100

CSE333

Hardware Implementation:I2HHardware Implementation:I2H

node_classes = {SUN OS 4.1.4, Win95}conn_classes = {MPI_Impl, CSockets}

connects_cl = {(MPI_Impl {SUN OS 4.1.4, SUN OS 4.1.4}), (CSockets {SUN OS 4.1.4, Win95}}

Page 101: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-101

CSE333

Integration:I3Integration:I3

supports = {(Counter Sun OS 4.1.4), (XFrontEnd Sun OS 4.1.4), (XCtrCl Sun OS 4.1.4), (PCCtrCl Win95)}

Page 102: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-102

CSE333

Software Instantiation: I4SSoftware Instantiation: I4S

i_comp ={c1:PCCtrCl, c2:PCCtrCl, c3:PCCtrCl, c4:PCCtrCl, fe1:XFrontEnd, fe2:XFrontEnd, ct1:Counter, ct2:Counter, ct3:Counter, ct4:Counter, ct5:Counter, ct6:Counter, }

Page 103: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-103

CSE333

Hardware Instantiation: I4HHardware Instantiation: I4H

nodes = {pc1:Win95, pc2:Win95, pc3:Win95, pc4:Win95,sun1:SunOS4.1.4, sun2:SunOS4.1.4, sun3:SunOS4.1.4, sun4:SunOS4.1.4, sun5:SunOS4.1.4, sun6:SunOS4.1.4, sun7:SunOS4.1.4, sun8:SunOS4.1.4, sun9:SunOS4.1.4, sun10:SunOS4.1.4 }

conns = {mpi, sock1, sock2, sock3, sock4}

Page 104: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-104

CSE333

AssumptionsAssumptions

Communication Frequency Between Client and Communication Frequency Between Client and FrontEnd Components in ESDSFrontEnd Components in ESDS

Components that Must be Separated and FixedComponents that Must be Separated and Fixed

Page 105: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-105

CSE333

SUPP MatrixSUPP Matrix

Matrix of Software Components Supported by Matrix of Software Components Supported by Hardware NodesHardware Nodes

Page 106: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-106

CSE333

MSGS MatrixMSGS Matrix

Only One Types of Message Between Every Pair of Only One Types of Message Between Every Pair of Component Instances in ESDSComponent Instances in ESDS

As a Consequence, the Value is the As a Consequence, the Value is the frequencyfrequency of the of the MessageMessage

Page 107: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-107

CSE333

The HOPS MatrixThe HOPS Matrix

Contains the Minimum Number of Hops Between Contains the Minimum Number of Hops Between Every Pair of Modes by Examining the ESDS Every Pair of Modes by Examining the ESDS Hardware Instantiation Previously ShownHardware Instantiation Previously Shown

Page 108: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-108

CSE333

BIP Optimal DeploymentBIP Optimal Deployment

Given the Above Tables, we can Apply the Given the Above Tables, we can Apply the Previously Described Model 2Previously Described Model 2

BIP Performs Exhaustive SearchBIP Performs Exhaustive Search Utilizes Branch and Bound Algorithm Complexity is O(NC) - Exponential

Execution Time:Execution Time: C Program Required 2 Hours of Computation

Time for Optimal Solution on Model 2 GAMS Package Executed for Entire Day

without Results Even for “Small” Problem, Optimal Deployment is Even for “Small” Problem, Optimal Deployment is

a Complex Taska Complex Task

Page 109: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-109

CSE333

Installation: I5Installation: I5What is the Optimal Deployment? What is the Optimal Deployment?

Page 110: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-110

CSE333

Utilize Genetic Algorithm for DeploymentUtilize Genetic Algorithm for Deployment

Genetic Algorithms (GAs) are Stochastic Search Genetic Algorithms (GAs) are Stochastic Search Techniques Inspired by EvolutionTechniques Inspired by Evolution

GAs Used to Find Global or Near Optimal GAs Used to Find Global or Near Optimal Solution for Complex Multi-Dimensional SpacesSolution for Complex Multi-Dimensional Spaces

GA Utilizes Operations for: Selection, Crossover, GA Utilizes Operations for: Selection, Crossover, and Mutation to Simulate the Evolutionary Processand Mutation to Simulate the Evolutionary Process Manipulate Individuals of Population Each Generation of Population is Replaced via

a Fitness Function Fitness Function Evaluates Degree that

Chromosome Meets Solution In Our Case, Fitness Function Evaluates Optimal In Our Case, Fitness Function Evaluates Optimal

Deployment by Focusing on MSGSs/HOPSDeployment by Focusing on MSGSs/HOPS

Page 111: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-111

CSE333

Multiobjective Niching Genetic Algorithm Multiobjective Niching Genetic Algorithm (MNGA)(MNGA)

GA for Evaluating Optimal Deployment of GA for Evaluating Optimal Deployment of Components on NodesComponents on Nodes

Run Multiple Experiments, and For Each Run, Run Multiple Experiments, and For Each Run, May Identify Multiple SolutionsMay Identify Multiple Solutions On Average, First Solution (194 messages)

found in Generation 29 Same Solution as BIP Due to Symmetry of Problem, GA found Many

Other Solutions for 194 Messages Why GA over BIP?Why GA over BIP?

Performance, Performance, Performance Ability to Work on Scaled up Problems

Page 112: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-112

CSE333

Performance of GAPerformance of GA

Table Below Summarizes the Results of Multiple Table Below Summarizes the Results of Multiple GA ExperimentsGA Experiments

Note that 13.1 Seconds (GA) vs. 2 hrs. (BIP)for Note that 13.1 Seconds (GA) vs. 2 hrs. (BIP)for Problem as Presented in this PaperProblem as Presented in this Paper

Other Case Increased Components and/or Increased Other Case Increased Components and/or Increased NodesNodes

Notice that Increasing Nodes with 12 Components Notice that Increasing Nodes with 12 Components Doesn’t Alter Optimal Solution (194 messages)Doesn’t Alter Optimal Solution (194 messages)

Page 113: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-113

CSE333

Conclusion: Model 2 - BIP vs. GAConclusion: Model 2 - BIP vs. GA

BIP vs. GABIP vs. GA BIP Yields Optimal Solutions at a Cost

However, Problem is Intractable as System Grows in Terms of Components and/or Nodes

GA Doesn’t Guarantee Optimality However, Can Provide Solution in Reasonable Time for Larger Scale Problems

MoralMoral Optimal Deployment is an Important Problem

for Distributed Applications However, must use MNGA without Guarantee

of Optimality May be Only Choice as Complexity Grows

Page 114: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-114

CSE333

A Third Example in A Third Example in II55 Modeling a SystemModeling a System

Conceptually Based on the Virginia-class Conceptually Based on the Virginia-class Submarine Data Distribution SystemSubmarine Data Distribution System

Composed of Several SubsystemsComposed of Several Subsystems Consumers Are Decoupled From Suppliers Using Consumers Are Decoupled From Suppliers Using

a Typed Event Channel: a Typed Event Channel: One Supplier Pushes Event Data to Multiple

Consumers Servers Use Typed Event Channels to Distribute Servers Use Typed Event Channels to Distribute

Notifications of Changes to Available DataNotifications of Changes to Available Data Typed Event Channels Are Also Used to Deliver Typed Event Channels Are Also Used to Deliver

Signals and Distribute Periodic UpdatesSignals and Distribute Periodic Updates

Page 115: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-115

CSE333

Software Interface : I1SSoftware Interface : I1S

SettCons

SettEC

SettSupp

SettingsUpdate_ev

SettingsSignal_ev

SettingsUpdate_ev

SettingsSignal_ev

Settings_cs

comp_types = {SettCons, SettEc, SettSupp}

Page 116: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-116

CSE333

Hardware Interface : I1HHardware Interface : I1H

ConsNode

EthernetHub

ECNode

ATMSwitch SuppNode

10BaseT Fiber Fiber

Fiber Fiber

Fiber

node_types = {ConsNode, ECNode, EthernetHub, ATMSwitch, SuppNode}conn_types = {10BaseT, Fiber}connects = {(Fiber {ConsNode, ATMSwitch}), (Fiber {ECNode, ATMSwitch}),

(Fiber {SuppNode, ATMSwitch}), (Fiber {ATMSwitch, EthernetHub}), (Fiber {ATMSwitch}), (10BaseT {ConsNode, EthernetHub})}

Page 117: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-117

CSE333

Software Implementation :I2SSoftware Implementation :I2S

SettConsIC1 SettConsIC2

SettECIC

SettSuppIC

SettingsUpdate_ev

SettingsSignal_ev

SettingsUpdate_ev

SettingsSignal_ev

SettingsUpdate_ev

SettingsSignal_ev

Settings_cs

c_classes = {SettConsIC1, SettConsIC2,SettECIC, SettSuppIC}

Page 118: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-118

CSE333

Hardware Implementation:I2HHardware Implementation:I2H

ConsNodeIC2

EthernetHubIC

ECNodeIC

ATMSwitchIC

SuppNodeIC

10BaseTIC FiberIC FiberIC

FiberIC

FiberICFiberIC

ConsNodeIC1

node_classes = {ConsNodeIC1, ConsNodeIC2, ECNodeIC,EthernetHubIC, ATMSwitchICm SuppNodeIC}

conn_classes = {10BaseTIC, FiberIC}connects_cl = {(10BaseTIC ConsNodeIC2, EthernetHubIC}),

(FiberIC {ConsNodeIC1, ATMSwitchIC}), (FiberIC {ECNodeIC, ATMSwitch}),(FiberIC {EthernetHubIC, ATMSwitchIC}),(FiberIC {ATMSwitch, SuppNodeIC}),(FiberIC {ATMSwitch})}

Page 119: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-119

CSE333

Integration:I3Integration:I3

ConsNodeIC2

EthernetHubICECNodeIC

ATMSwitchICSuppNodeIC

10BaseTIC FiberIC

FiberICFiberIC

FiberIC

FiberIC

ConsNodeIC1

SettConsIC2

SettConsIC1

SettECIC

SettSuppIC

<<supports>>

<<supports>>

<<supports>>

<<supports>>

supports = {(SettConsIC1 ConsNodeIC1), (SettConsIC2 ConsNodeIC2), (SettECIC ECNodeIC), (SettSuppIC SuppNodeIC)}

Page 120: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-120

CSE333

Software Instantiation: I4SSoftware Instantiation: I4S

:SettConsIC1

host1:SettConsIC2

host2:SettConsIC2

:SettECIC

:SettSuppIC

i_comp = {:SettConsIC1, :SettECIC,host1:SettConsIC2, host2:SettConsIC2,:SettSuppIC}

Page 121: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-121

CSE333

Hardware Instantiation: I4HHardware Instantiation: I4H

host1:ConsNodeIC2

:EthernetHubIC

:ECNodeIC

switch2:ATMSwitchIC

env:SuppNodeIC

10BaseTIC1 FiberIC1 FiberIC3

FiberIC2

FiberIC4FiberIC5

:ConsNodeIC1

switch1:ATMSwitchIC

host2:ConsNodeIC2

sett:SuppNodeIC

10BaseTIC2

FiberIC6

nodes = {:ConsNodeIC1, :ECNodeIC,host1:ConsNodeIC2, :EthernetHubIC,host2:ConsNodeIC2, switch1:ATMSwitchIC,

switch2:ATMSwitchIC,env:SuppNodeIC, sett:SuppNodeIC}

conns = {10BaseTIC1, 10BaseTIC2, FiberIC1, FiberIC2, FiberIC3,FiberIC4, FiberIC5, FiberIC6}

Page 122: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-122

CSE333

Installation: I5Installation: I5

host1:ConsNodeIC2

:EthernetHubIC

:ECNodeIC

switch2:ATMSwitchIC

env:SuppNodeIC

10BaseTIC1 FiberIC1 FiberIC3

FiberIC2

FiberIC4FiberIC5

:ConsNodeIC1

switch1:ATMSwitchIC

host2:ConsNodeIC2

sett:SuppNodeIC

10BaseTIC2

FiberIC6

host1:SettConsIC2

host2:SettConsIC2

:SettConsIC1 :SettECIC

:SettSuppIC

Deployment = {(:SettConsIC1 :ConsNodeIC1), (host1:SettConsIC2 host1:ConsNodeIC2), (host2:SettConsIC2 host2:ConsNodeIC2), (:SettECIC :ECNodeIC), (:SettSuppIC sett:SuppNodeIC)}

Page 123: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-123

CSE333

Conclusions on this Example Conclusions on this Example

The The II55 Textual Notation Was Used to Specify a Textual Notation Was Used to Specify a Corba-based Distributed SystemCorba-based Distributed System

Documenting the Design of New and Existing Documenting the Design of New and Existing Distributed SystemsDistributed Systems

Precision in Inheritance Hierarchy SpecificationsPrecision in Inheritance Hierarchy Specifications Traceability -- Important for Maintenance Traceability -- Important for Maintenance

Configuration ManagementConfiguration Management

Leveraging UMLLeveraging UML

Page 124: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-124

CSE333

Prototyping ExamplePrototyping Example

Current UML Tools Have Weak Support for Current UML Tools Have Weak Support for Diagrams Used for the Diagrams Used for the II55 Graphical Notation Graphical Notation

Developed a Graphical Tool to Support Developed a Graphical Tool to Support II55 Prototype Tool with Basic I5 Capabilities Revealed Limitations in the Ability of UML to

Capture All Aspects of the Textual Notation Work was HaltedWork was Halted Still Interested in Pursuing Given Current Still Interested in Pursuing Given Current

Capabilities of UML Tools and their ExtensibilityCapabilities of UML Tools and their Extensibility

Page 125: OD-1 CSE333 Architectural Specification and Optimal Deployment of Distributed Systems Profs. S. Demurjian and A. Shvartsman Computer Science & Engineering

OD-125

CSE333

Conclusions and Future WorkConclusions and Future Work

An Integrated Framework for Designing and An Integrated Framework for Designing and Deploying Distributed SystemsDeploying Distributed Systems

A Consistent Methodology for Using UML’s A Consistent Methodology for Using UML’s Implementation DiagramsImplementation Diagrams

A Concrete Measure of Performance for a A Concrete Measure of Performance for a Distributed SystemDistributed System

Utilizing the Prediction of Performance of a Utilizing the Prediction of Performance of a Distributed System to Assist in its DeploymentDistributed System to Assist in its Deployment