Propagation of incremental changes to performance model due to SOA design pattern application

Design patterns for Service Oriented Architecture (SOA) provide solutions to architectural, design and implementation problems, involving software models in different layers of a SOA design. For performance analysis, a performance model can be generated from the SOA design and used to predict its performance. The impact of the design patterns is also reflected in the performance model. It is helpful to be able to trace the causality from the design pattern to its predicted performance impact. This paper describes a technique for automatically refactoring a SOA design model by applying a design pattern and for propagating the incremental changes to its LQN performance model. A SOA design model is expressed in UML extended with two standard profiles: SoaML for expressing SOA solutions and MARTE for performance annotations. The SOA design pattern is specified using a Role Based Modeling Language (RBML) and their application is automated using QVT-O. Automated incremental transformations are explored and evaluated for effectiveness on a case study example.

[1]  Thomas Erl,et al.  SOA Design Patterns , 2008 .

[2]  Dorina C. Petriu,et al.  Studying the Impact of Design Patterns on the Performance Analysis of Service Oriented Architecture , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[3]  José Merseguer,et al.  Performance by unified model analysis (PUMA) , 2005, WOSP '05.

[4]  Vittorio Cortellessa,et al.  Antipattern-based model refactoring for software performance improvement , 2012, QoSA '12.

[5]  Dorina C. Petriu,et al.  Software Model‐based Performance Analysis , 2013 .

[6]  Vittorio Cortellessa,et al.  Digging into UML models to remove performance antipatterns , 2010, QUOVADIS '10.

[7]  John Murphy,et al.  Detecting Performance Antipatterns in Component Based Enterprise Systems , 2008, J. Object Technol..

[8]  Dorina C. Petriu,et al.  Applying the UML Performance Profile: Graph Grammar-Based Derivation of LQN Models from UML Specifications , 2002, Computer Performance Evaluation / TOOLS.

[9]  Sam Malek,et al.  A framework for utility-based service oriented design in SASSY , 2010, WOSP/SIPEW '10.

[10]  Svein G. Johnsen,et al.  Model-driven Service Engineering with SoaML , 2011 .

[11]  Jing Xu,et al.  Performance analysis of security aspects by weaving scenarios extracted from UML models , 2009, J. Syst. Softw..

[12]  S. J. Goldsack,et al.  Formalising design patterns , 1996, FME 1996.

[13]  S. Mohan,et al.  Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software [Book Review] , 2003, IEEE Software.

[14]  Amnon H. Eden,et al.  Precise specification and automatic application of design patterns , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[15]  Raffaela Mirandola,et al.  Deriving a queueing network based performance model from UML diagrams , 2000, WOSP '00.

[16]  Jing Xu,et al.  Rule-based automatic software performance diagnosis and improvement , 2008, WOSP '08.

[17]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.