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

Slides:



Advertisements
Similar presentations
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
Advertisements

COM vs. CORBA.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
SOAP.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Distributed Systems Architectures
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
CSE298 CSE300 OV-1.1 CSE300 Distributed Object Computing using XML-SOAP Kevin White James Kebinger Fall 2000.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
Introduction to MDA (Model Driven Architecture) CYT.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
A Comparison of Java RMI, CORBA, and Web Services Technologies for Distributed SIP Applications Mark D. Hanes Stanley C. Ahalt Ashok K. Krishnamurthy Department.
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Web Development 2 1 And Franchise Colleges Name :MANSHA NAWAZ room :G 0/32 Modelling for Web Development - 2.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Lecture 22: Client-Server Software Engineering
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Shuman Guo CSc 8320 Advanced Operating Systems
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Tom Meyer, Iowa State SCT/Pixel Online Workshop June, 2001 CORBA Common Object Request Broker Architecture.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Topic 5: CORBA RMI Dr. Ayman Srour
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Computing
Distributed Computing
Java Distributed Computing
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Inventory of Distributed Computing Concepts
Quality Assurance for Component-Based Software Development
Design Yaodong Bi.
Presentation transcript:

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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