Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automatic Inclusion of Middleware Performance Attributes into Architectural UML Software Models by Tom Verdickt, Bart Dhoedt, and Piet Demeester Senior.

Similar presentations


Presentation on theme: "Automatic Inclusion of Middleware Performance Attributes into Architectural UML Software Models by Tom Verdickt, Bart Dhoedt, and Piet Demeester Senior."— Presentation transcript:

1 Automatic Inclusion of Middleware Performance Attributes into Architectural UML Software Models by Tom Verdickt, Bart Dhoedt, and Piet Demeester Senior Member,IEEE Presented by AYŞEGÜL TÜYSÜZ CmpE 550 – Advanced Topics in Software Engineering

2 Ayşegül Tüysüz / 23 November 2005 Outline z Introduction z UML for Schedulability, Performance and Time z Model Driven Architecture (MDA) z CORBA z Input to the Transformation z The Model Transformation z Conclusion

3 Ayşegül Tüysüz / 23 November 2005 Motivation of the article z Development of a framework for the automatic modeling of the impact of the middleware on the architecture and the performance of distributed systems z Software Modeling Language  UML z System Design  MDA z Middleware  CORBA

4 Ayşegül Tüysüz / 23 November 2005 UML : a cocktail of well-known ingredients A stereotype > Tagged value PAdemand

5 Ayşegül Tüysüz / 23 November 2005 MDA’s Y cycle PIMs (Platform Independent Models) PSMs (Platform Specific Models) Merging/binding phase (TRANSFORMATION ALGORITHM) PDMs (Platform Description Models) M Model Driven Architecture (MDA)

6 Ayşegül Tüysüz / 23 November 2005 The middleware war is over COM+ DCOM CORBA IIOP Microsoft C# & DotNet XML SOAP Java RMI HTTP HTM L zThere is no clear winner nor loser zThe next battlefield will be model transformation zThe MDA initiative is aimed at using modelling to drive the design and implementation of distributed systems. Sun's reaction to C# & DotNet? Sun's Java EJB IIOP ORB Client Machine Client Object ORB Server Machine Stub Remote Object Skeleton Additional CORBA services: - Naming Service (NS) - Security Service - Event Service

7 Ayşegül Tüysüz / 23 November 2005 Approach: MDA’s cycle Transformation algorithm UML Activity Diagram UML Deployment Diagram Middleware-independent model UML Collaboration Diagram Middleware usage description UML Activity Diagram UML Deployment Diagram Middleware-aware model UML Collaboration Diagram CORBA Java RMI Web Services Middleware model library High-level PIM Lower-level PSM

8 Ayşegül Tüysüz / 23 November 2005 Input to the Transformation z UML Deployment Diagram Client PC client Server PC server z UML Collaboration Diagram client-server clientserver

9 Ayşegül Tüysüz / 23 November 2005 Input to the Transformation zUML Activity Diagram server client make call continue waiting undefined process asynchronous client server make call continue waiting undefined process synchronous deferred synchronous client server make call continue waiting undefined process do something wait

10 Ayşegül Tüysüz / 23 November 2005 Input to the Transformation zMiddleware usage description The specifics of the middleware (its type, some performance information, etc.) are given in a seperate XML input file to the transformation Describes middleware instances Type of middleware Initialization time Time needed to clean up and destroy describes groups of calls between a client and a server specifies server and client side overhead of using the middleware All communication between the components should use the middleware

11 Ayşegül Tüysüz / 23 November 2005 The Model Transformation zLocating the involved components zThe deployment diagram zThe collaboration diagram zThe activity diagram & Performance attributes zAdditional middleware (CORBA) services

12 Ayşegül Tüysüz / 23 November 2005 Locating the involved components function find involved components { for each element in Middleware Usage Description XML { if has child { find partitions by looking “client” and “server” attributes of ; } else { take first element; find transition referenced by “cref”; get names of source and target partitions; } //end else } //end for } // end function

13 Ayşegül Tüysüz / 23 November 2005 Transformation of the Deployment Diagram function transform deployment diagram { for each element { find nodes that contain source and target; add corba_client and stub to source node; find orb referenced in “mwref” attribute; if orb not yet added to source node { add orb to source node; } //end if add skeleton to target node; } //end for } // end function Server PC server Client PC client stub orb corba_client skeleton

14 Ayşegül Tüysüz / 23 November 2005 Transformation of the Collaboration Diagram function transform collaboration diagram { for each element { find source and target roles; find collaboration between source and target roles; create roles corba_client, stub and skeleton; find orb referenced in “mwref” attribute; if orb not yet added { create role orb; } //end if create client—server collaboration between corba-client and orb, corba-client and client, client and stub, stub and skeleton, skeleton and server; } //end for delete collaborations between orijinal source and target roles; } // end function clientstubskeletonserver client- server client- server client- server client- server orb corba_client client- server

15 Ayşegül Tüysüz / 23 November 2005 Transformation of the Activity Diagram (synchronous) process make call call_client initialize client server corba_client orbstubskeleton call_init waiting skeleton_reply stub_reply stub_request destroy continue return_client dummy call_destroy skeleton_request waiting > {PAdemand = (‘assm’, ‘mean’, (36.549, ‘ms’))} > {PAdemand = (‘assm’, ‘mean’, (3.3646, ‘ms’))} > {PAdemand = (‘assm’, ‘mean’, (1.8413, ‘ms’))} > {PAdemand = (‘assm’, ‘mean’, (0.1021, ‘ms’))} Middleware Usage Description

16 Ayşegül Tüysüz / 23 November 2005 Transformation Limitations zNaming convention: Model elements that occur in different diagrams need to have the same name which should be unique in the model zNo handling of interactions (e.g forwarding servers) clientServer AServer B 21 3

17 Ayşegül Tüysüz / 23 November 2005 Conclusion zMDA Transformation includes: structural impact of the middleware overhead generated by the middleware zThe resulting UML model contains information for: modeling and analyzing the performance of the system how the performance is affected by the middleware zCombination of MDA and SPE allows: obtaining performance estimates as early as possible redesigning the system without excessive costs

18 Ayşegül Tüysüz / 23 November 2005 Questions ???


Download ppt "Automatic Inclusion of Middleware Performance Attributes into Architectural UML Software Models by Tom Verdickt, Bart Dhoedt, and Piet Demeester Senior."

Similar presentations


Ads by Google