September 2000 WOSP’2000 1 Deriving Performance Models from UML Models by Graph Transformations Dr. Dorina Petriu Carleton University Department of Systems and Computer Engineering Ottawa, Canada, K1S 5B6 http://www.sce.carleton.ca/faculty/petriu.html
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
September 2000 WOSP’2000 1
Deriving Performance Models from UMLModels by Graph Transformations
Dr. Dorina PetriuCarleton University
Department of Systems and Computer EngineeringOttawa, Canada, K1S 5B6
Graph Transformations and PROGRES■ We are using a known graph rewriting tool named PROGRES
(PROgramming with Graph Rewriting Systems) [Schürr90, 94, 97]■ The essential idea of all implemented graph grammars or graph
rewriting systems is that they are generalization of string grammars(used in compilers) or term rewriting systems.
■ The terms “graph grammars” and “graph rewriting systems” areoften considered synonymous, however:
● a graph grammar is a set of production rules that generates alanguage of terminal graphs and produces nonterminal graphsas intermediate results.
● a graph rewriting system is a set of rules that transforms oneinstance of a given class of graphs into another instance of thesame class of graphs without distinguishing terminal andnonterminal results.
■ The literature identifies a relatively small number ofarchitectural patterns which describe the collaborationbetween high-level concurrent components:
Transformation of the basic Client-Server patternto LQN
service1()service2()
server
<<process>>
client2
1..n<<process>>
client1
1..n
Client Client
Server
CLIENT SERVER
ClientServer
service1() service2 ()service2 ()
client1 client2
server
service1 service2
● Each software process (client or server) is modelled as an LQN task● Each server operation is modelled as an entry● A client may request more than one server operation; each request is modelled
as an LQN synchronous message arc.● Auxiliary performance information: average execution time for each client and
server entry; average number of requests associated with each LQN message arc.
Transformation of the Client-Server pattern withForwarding Broker
service1()service2()
server
<<process>>
client2
1..n<<process>>
client1
1..n
Client Client
Server
FWD_BROKER
service1() service2 ()service2 ()
client1 client2
forwardingbroker
server
service1 service2
ClientServerBroker
Note 1: the broker (a midware component) isnot explicitly represented in the architectureof the software under development (it ishidden inside the collaboration, as it isprovided by the underlying middleware).
Note 2:the LQN model represents allthe system layers used by the software.In this case, the broker is explicitlyrepresented as a multi-server that hasan entry for every server entry called.
Graph rewriting approach with PROGRES■ The graph schema (see next slide) describes the valid node
types/classes, node attributes and edge types.■ Each architectural component (instance) is converted to an
LQN task, but the mapping is not bijective because:● an instance may generate more than one task (ex. critical section)● instances may be hidden by some collaborations (ex. brokers)
■ Instance operations are converted to entries.■ Processors and devices obtained from the deployment
diagrams become full-fledged nodes in LQN.■ Collaboration nodes have no LQN correspondent, but help
deciding what kind of transaction to perform.■ A PROGRES transaction was defined for the translation of
each architectural pattern into LQN (a transaction is atomic)■ Each transaction is composed of one or more production
rules, which formally define the basic steps of graph trans-formations (left-hand-side is replaced by right-hand-side).
● Obtained by graph transformation from the following UML diagrams● high-level system architecture (described by UML collaborations)● deployment diagram showing the allocation of softwarecomponents to physical devices.
Conclusions■ We have defined and implemented separate PROGRES
graph transformation for:● generating activity diagrams from sequence diagrams● generating the LQN model structure from the high-level
architecture (defined by collaborations and deploymentdiagrams)
● partitioning the activity diagrams in areas corresponding todifferent LQN tasks, entries and phases
● aggregating the resource demands for different activitydiagram areas (as in the SPE methodology).
■ Currently working on:● Integrating the previous separate PROGRES transformations● Extending the graph transformations for newer LQN features● Tool interoperability (UML tool, PROGRES, LQN solver):
▼ obtain PROGRES input graphs from XML descriptions ofUML diagrams produced by a UML tool, and vice-versa.
References[Allen+97] R.Allen, D. Garlan, “A Formal Basis for Architectural Connection”, ACM Transactionson Software Engineering Methodology, Vol.6, No.3, pp 213-249, July 1997.
[Booch+99] G.Booch, J.Rumbaugh, I.Jacobson, The Unified Modeling Language User Guide,Addison-Wesley, 1999.
[Buchmann+96] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Orientedsoftware architecture: A System of Patterns, Wiley Computer Publishing, 1996.
[Cortellessa+00] V. Cortellessa, R. Mirandola, “Deriving a Queueing Network based PerformanceModel from UML Diagrams”, Proceedings of the Second International Workshop on Software andPerformance,Ottawa, Sept. 2000.
[Franks+95] G. Franks, A. Hubbard, S. .Majumdar, D. Petriu, J. Rolia, C.M. Woodside, “A toolsetfor Performance Engineering and Software Design of Client-Server Systems”, PerformanceEvaluation, Vol. 24, Nb. 1-2, pp 117-135, November 1995.
[Petriu+98] D.C. Petriu, X. Wang "Deriving Software Performance Models from ArchitecturalPatterns by Graph Transformations", in Theory and Applications of Graph Transformations,TAGT'98 (H.Ehrig, G.Engels, H.J. Kreowski, G. Rozenberg, Eds.) Lecture Notes in ComputerScience 1764, pp.475-488, Springer Verlag, 2000.
[Petriu+99] D.C. Petriu, X. Wang "From UML description of high-level software architecture toLQN performance models", in "Applications of Graph Transformations with Industrial RelevanceAGTIVE'99" (eds. M.Nagl, A. Schuerr, M. Muench), Lecture Notes in Computer Science 1779,pp. 47-62, Springer Verlag, 2000.
[Petriu+00b] D.C.Petriu, Y. Sun, “Consistent Behaviour Representation in Activity and SequenceDiagrams”, to appear in Proc. of UML’2000, York, GB, October 2000.
[Petriu+00b] D.C.Petriu, C.Shousha, A. Jalnapurkar, "Architecture-Based Performance AnalysisApplied to a Telecommunication System", to apper in I.E.E.E. Transactions on SoftwareEng.(special issue Workshop on Software and Performance), 2000.
[Pooley+99] Pooley, R., Stevens, P.: Using UML: Software Engineering with Objects andComponents, Addison Wesley Longman, 1999.
[Ramesh+98] S.Ramesh, H.G.Perros, “A Multi-Layer Client-Server Queueing Network Modelwith Synchronous and Asynchronous Messages”, Proceedings of the First InternationalWorkshop on Software and Performance, Santa Fe, USA, pp.107-119, Oct. 1998.
[Rolia+95] J.A. Rolia, K.C. Sevcik, “The Method of Layers”, IEEE Trans. On SoftwareEngineering, Vol. 21, Nb. 8, pp 689-700, August 1995.
[Shaw96] M. Shaw, “Some Patterns for Software Architecture” in Pattern Languages of ProgramDesign 2 (J.Vlissides, J. Coplien, and N. Kerth eds.), pp.255-269, Addison Wesley, 1996.
[Schürr90] Schürr, A., “Introduction to PROGRES, an attributed graph grammar-basedspecification language”, In: M. Nagl (ed): Graph-Theoretic Concepts in Computer Science,Lecture Notes in Computer Science, Vol. 411, pp. 151-165, 1990.
[Schürr94] Schürr, A., “PROGRES: A Visual Language and Environment for PROgramming withGraph Rewrite Systems, Technical Report AIB 94-11, RWTH Aachen, Germany, 1994.
[Schürr97] Schürr, A.,: “Programmed Graph Replacement Systems”, In: G. Rozenberg (ed):Handbook of Graph Grammars and Computing by Graph Transformation, pp. 479-546, 1997.
[Smith+97] C.U.Smith and L.G.Williams, “Performance Engineering Evaluation of OO Systemswith SPE.ED”, in R. Marie et al.(eds), Computer Performance Evaluation - Modelling Techniquesand Tools, Springer LNCS, pp.12-45, 1997.
[UML1.3] OMG: Unified Modeling Language Specification, Version 1.3,1999.
[Williams+98] L.G Williams, C.U.Smith, “Performance Evaluation of Software Architectures”,Proceedings of the First International Workshop on Software and Performance, Santa Fe, USA,pp.164-177, Oct. 1998.
[Woodside89] C.M. Woodside, “Throughput Calculation for Basic Stochastic RendezvousNetworks”, Performance Evaluation, Vol. 9, Number 2, pp.143-160, April 1989.
[Woodside+95] C.M. Woodside, J.E. Neilson, D.C. Petriu, S. Majumdar, “The StochasticRendezvous Network Model for Performance of Synchronous Client-Server-like DistributedSoftware”, IEEE Transactions on Computers, Vol.44, Nb.1, pp 20-34, January 1995.