KLAPER: an Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability



Similar documents
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

Integrating Performance Characterization with Software Development

Performance Evaluation of Component-based Software Systems: A Survey

Revel8or: Model Driven Capacity Planning Tool Suite

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Programma della seconda parte del corso

How To Predict Performance From A Network Model In Unminer (Uml)

Simonetta Balsamo, Moreno Marzolla. Dipartimento di Informatica, Università Ca' Foscari di Venezia

Tool Support for Model Checking of Web application designs *

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Layered Queuing networks for simulating Enterprise Resource Planning systems

The Future of Software Performance Engineering

Survey on Models to Investigate Data Center Performance and QoS in Cloud Computing Infrastructure

Chapter 4 Software Lifecycle and Performance Analysis

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

Business Process Modeling and Standardization

Comparison of Web Server Architectures: a Measurement Study

Introducing Performance Engineering by means of Tools and Practical Exercises

A Software Development Platform for SOA

Recent Advances in Eclipse QVTO!

Model-Driven Performance Evaluation of Web Application Portals

A Framework of Model-Driven Web Application Testing

Multi-objective Design Space Exploration based on UML

EMF Compare. EMF Compare. Summary : Table des mises à jour Version Date Auteur(s) Mises à jour v1.0 06/10/11 Laurent Goubet Initial Version

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Enterprise Integration: operational models of business processes and workflow systems *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Dagstuhl seminar on Service Oriented Computing. Service design and development. Group report by Barbara Pernici, Politecnico di Milano

TPCalc : a throughput calculator for computer architecture studies

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead

Cloud Cruiser and Azure Public Rate Card API Integration

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Web Server Software Architectures

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Application of Predictive Analytics for Better Alignment of Business and IT

Business Process Modeling Information Systems in Industry ( )

The Art of Workload Selection

Origins of Operating Systems OS/360. Martin Grund HPI

LBPerf: An Open Toolkit to Empirically Evaluate the Quality of Service of Middleware Load Balancing Services

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Capacity Planning for Event-based Systems using Automated Performance Predictions

Evaluating the Performance. of Software Architectures

Semantic Variability Modeling for Multi-staged Service Composition

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Introduction to Workflow

Lesson 18 Web Services and. Service Oriented Architectures

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Approach to Service Management

Aplicando enfoque MDE a aplicaciones WEB-SOA

A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing

A HW/SW Codesign Methodology based on UML

Metamodels and Modeling Multiple Kinds of Information Systems

An MDA Approach for the Development of Web applications

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

Developing SOA solutions using IBM SOA Foundation

Introduction to the NI Real-Time Hypervisor

An Approach to Software Architecture Description Using UML

Windows Server Performance Monitoring

The Service Revolution software engineering without programming languages

To introduce software process models To describe three generic process models and when they may be used

Development of Tool Extensions with MOFLON

SysML Modelling Language explained

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

Enterprise Application Performance Management: An End-to-End Perspective

A SoC design flow based on UML 2.0 and SystemC

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Dynamic Resource allocation in Cloud

Continual Verification of Non-Functional Properties in Cloud-Based Systems

Transcription:

KLAPER: an Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability Vincenzo Grassi Dipartimento di Informatica, Sistemi e Produzione, Università di Roma Tor Vergata Raffaela Mirandola Dipartimento di Elettronica e Informazione, Politecnico di Milano Enrico Randazzo Dipartimento di Informatica, Sistemi e Produzione, Università di Roma Tor Vergata Intecs S.p.A., Roma, Italy Antonino Sabetta ISTI-CNR, Pisa, Italy

Our contribution automatic transformation? Executable implementation Design level model based on some Component Model automatic transformation? intermediate model (KLAPER) Kernel LAnguage for PErformance and Reliability analysis Performance/reliability model (QN, Markov model, )

QoS-driven component/connectors selection and composition Non obvious correlation between the QoS of the assembled architecture and the individual component/connector QoS assembly QoS monitoring to assess the fulfillment of some QoS goal, after the components/connectors selection and composition assembly QoS prediction to drive the selection of components/connectors need of QoS prediction methodologies compositional (to exploit the architecture structure) automatic (to make predictive analysis really effective)

Predictive analysis of componentbased systems Useful to drive the selection and composition of components late problem fixing may be too costly Focus on extra-functional attributes performance throughput completion time reliability Predictive analysis must be carried out on models of the system!

Predictive analysis of componentbased systems: main issues analysis-oriented model building is a complex activity: Extraction of relevant Performance/Reliability oriented information from a design oriented model which information? how is it represented? Construction of performance/reliability/performability analysis-oriented models MDD based approach Model solution (not an issue here)

generating a performance/reliability model: the what & the how What factors affect the extra-functional attribute: description issue How they are taken into account: solution issue intermediate language more separation what C-B application model + context information what our focus all-in-one approach (what+how) LQN, SPA, StoCharts,... separation of concerns how performance reliability performability measures (context = usage profile, competing appls., platform (.NET, J2EE, ), OS, Hw,... considering factors such as: contention, layered architecture,...

So far design-oriented model analysis-oriented model model transformation methodology

tower of Babel problem (1) "tower of Babel" problem specific issue for CB systems heterogeneous component and composition description languages acme, etc... several target languages queueing networks, Petri Nets, Markov Processes, Bayesian models,... solution?

tower of Babel problem MxN transformation methodologies? M design-oriented notations N analysis-oriented notations

Intermediate languages: KLAPER...... UML OWL-S Design notations KLAPER Petri Nets Markov Proc. EQN Analysis notat ions Analysis tools

KLAPER KLAPER : an intermediate kernel language to support performance and reliability analysis of CB systems based on model transformations kernel : compact language (only CB design level information that is relevant for performance and reliability analysis is represented) transformation methodologies from/to design/analysis models made simpler, thanks to the reduced semantic gap intermediate : neither a design language nor an analysis language from MxN to M+N transfomation methodologies model transformation : MOF based, to exploit tools developed within model-driven approaches to software design (MDA) transformation rules defined at metamodel level

Shifting-upwards the focus MOF based on QVT based on based on based on Design metamodel from Transformation rules to Analysis metamodel based on exec based on Design model from Transformation engine to Analysis model KLAPER is based on this phylosophy

Shifting-upwards the focus

KLAPER: the basic concepts The system modeled as a set of Resources and related Services no basic distinction between hw/sw, active/passive,... Services are offered by Resources Services can be used by other Services Services are characterized by an abstraction of their functional (constructive) behavior Related concept : analytical interfaces vs. constructive interfaces for components ( see PECT initiative from CMU-SEI) KLAPER distills analytic interfaces from CB design models and models analogously platform interfaces

More about distillation (1) "abstract" representation of an offered service what should be abstracted? the service behavior is dependent on : input parameters used in a service invocation abstract representation of : behavior input parameters of other required services flow of requests addressed to other components (and connectors)

More about distillation (2) stochastic abstractions to support stochastic analysis of performance and reliability input parameters : original input domain abstract input domain flow of requests : probabilistic representation of : flow of control (modeled by probabilistic branching and loops) actual parameters (modeled by random variables)

The KLAPER metamodel KlaperModel Resource offeredservice Workload Service Binding Behavior has has 1.. in 0.. to nested behavior resource Step 1.. Transition 0.. out 0.. from Activity End Start Release Acquire ServiceCall Control Join Fork Branch ActualParam

The KLAPER metamodel KlaperModel Resource resource Resource Workload Transition Control offeredservice has in to 0.. out 0.. from Start Service has Behavior 1.. Step End nested behavior Activity Binding Attributes: name type capacity schedpolicy description Associations offeredservice Branch Fork Join Acquire Release ServiceCall ActualParam

The KLAPER metamodel KlaperModel Workload Transition in 0.. out 0.. has offeredservice to from Resource Service has Behavior 1.. Step resource nested behavior Binding Service Attributes: name formalparams speedattr failattr description Control Start End Activity Associations behavior Branch Fork Join Acquire Release ServiceCall resource binding ActualParam

The KLAPER metamodel KlaperModel Resource resource Behavior Workload in 0.. offeredservice has Service has Behavior nested behavior Binding Associations step transition to 1.. service workload Transition out 0.. from Step Control Start End Activity Branch Fork Join Acquire Release ServiceCall ActualParam

The KLAPER metamodel KlaperModel Workload in has to offeredservice Resource Service has Behavior resource nested behavior Binding Workload Attributes: workloadtype arrivalprocess 0.. 1.. population Transition Step out 0.. from Associations behavior Control Start End Activity Branch Fork Join Acquire Release ServiceCall ActualParam

The KLAPER metamodel KlaperModel Resource resource Step Workload offeredservice has in to 0.. Service has Behavior 1.. nested behavior Binding Attributes: name repetition internalexectime Transition Control out 0.. from Start Step End Activity internalfailprob completionmodel Associations transition Branch Fork Join Acquire Release ServiceCall ActualParam

The KLAPER metamodel KlaperModel Workload has offeredservice in to 0.. Resource Service has Behavior resource nested behavior Binding ServiceCall Attributes: resourcetype servicename issync 1.. Associations activity Transition Control out 0.. from Start Step End Activity actualparam binding Branch Fork Join Acquire Release ServiceCall ActualParameter ActualParam Attributes: value

The KLAPER metamodel KlaperModel Resource resource Workload Transition offeredservice has in to 0.. out 0.. from Service has Behavior 1.. Step nested behavior Binding Binding Branch Control Fork Join Start End Acquire Activity Release ServiceCall Associations: ServiceCall Service ActualParam

KLAPER-based model generation

Shifting again

Modelling CoCoME What do we model? UC1 Process Sale Bar Payment only (Card Payment not modeled) Main flow only (not secondary or exception flows) UC3 Order Products Completely modeled

From design models to KLAPER models A case study: from UML to KLAPER. examples of MDA-based transformations from a particular design model notation to KLAPER....... Petri Nets UML KL APER Ma rkov P roc. OWL -S EQN D esign notations Ana lysis notati ons An alysis tool s

Transformation rules from UML to KLAPER Each UML use case is mapped onto a KLAPER workload whose steps are taken from the corresponding sequence diagrams.

Transformation rules from UML to KLAPER KLAPER Resources are built from the UML deployment diagram.

Transformation rules from UML to KLAPER Network connections of the UML deployment diagram are mapped onto KLAPER resources offering connection services.

Transformation rules from UML to KLAPER These are only some examples of the transformation rules from UML to KLAPER. There are many other transformation rules! (but it would take too much time to see all of them)

A KLAPER Workload modelling the UC1 main operation

A KLAPER Workload modelling the UC1 main operation

A KLAPER Workload modelling the UC3 main operation

A KLAPER Workload modelling the UC3 main operation

KLAPER model of the UC3 Store getproducts operation (pre-deployment)

KLAPER model of the UC3 Store getproducts operation (post-deployment)

KLAPER model of the JDBC Resource

KLAPER model of the JDBC Resource

From KLAPER models to analysis models A case study: from KLAPER to LQN. examples of MDA-based transformations from KLAPER to a particular analysis notation....... Petri Nets UML KL APER Ma rkov P roc. OWL -S EQN D esign notations Ana lysis notati ons An alysis tool s

The LQN MOF Meta-Model Extracted directly from the XMLSchema used by the Carleton University lqns simulator (see the files lqn.xsd and lqn-core.xsd )

Transformation rules from KLAPER to LQN Each KLAPER workload is mapped onto an LQN Task with an Entry where the workload type is specified.

Transformation rules from KLAPER to LQN Each KLAPER Resource is mapped onto an LQN Task

Transformation rules from KLAPER to LQN and each KLAPER Resource that models an hardware device originates an LQN Processor.

Transformation rules from KLAPER to LQN Each KLAPER Service becomes an Entry of a LQN Task.

Transformation rules from KLAPER to LQN Each KLAPER ServiceCall is mapped onto an Activity (making a call ) of an LQN Entry. Call to a service

Transformation rules from KLAPER to LQN Each KLAPER Activity is mapped into an LQN Activity.

Transformation rules from KLAPER to LQN Each KLAPER condition (or, and, loop) is directly mapped onto the corresponding LQN condition.

The LQN model for the CoCoME UC1 use case

The LQN model for the CoCoME UC1 use case

The LQN model for the CoCoME UC3 use case

The LQN model for the CoCoME UC3 use case

Results of the analysis 4 different simulation configurations Base configuration: Processors: Pentium III at 500 Mhz (1354 MIPS). Networks: bandwidth of 100 Mbps Database disk: average rate of 300 MBps

Results of the analysis other configurations : Cpu 2x configuration: Processors: double frequence. Internet configuration: Network: bandwith of 4 Mbps (was 100 Mbps). Slow disk configuration: Database disk: average rate of 100 MBps (was 300 MBps).

Results of the analysis UC1 is characterized by a lot of human interactions. Service times registered at the main workflow level A lot of time is spent in human actions (scanproductbarcode, handingovermoney, handleamount) The most expensive activity is scanproductbarcode, which is also repeated many times.

Results of the analysis Very low utilization values : the arrival rate of customers to the store is very small compared to the capacity of the system. Very low utilization of Network and RS232. CashDeskLine and BarcodeScannerCPU are the most used processors (the last one is where the scanproductbarcode service runs, see previous slide).

Results of the analysis UC3 is characterized by a smaller human interaction than UC1 Cpu 2x: EnterpriseServerCPU and StoreServerCPU have a lower utilization due to the increased cpu frequency. Internet: less bandwith means higher time for transmission and therefore an increse of the utilization. Slow disk: all unchanged except for the disk utilization, which is increased due to the reduced transfer rate.

Results of the analysis Cpu 2x: a more powerful cpu means best performance in all the tasks (except for the disk one). Internet: all tasks need more time to execute except for RMI that receives less service requests for second (because we spent more time on the other tasks). Slow disk: network tasks are unchanged but all the other tasks have an higher utilization due to the fact that the disk in UC3 is used in every action. Throughput is the same for all the cases because the system load is very low.

Results of the analysis Cpu 2x: more powerful cpu's mean less execution time. Internet: more time for transmission means higher service times (see the ManagerWorkload Entry). Slow disk: a lower rate means more time for each read. All as expected!

Results of the analysis Green line: simulated value. Red line: requisite bound. T31-1: time until showing the lists of all products and missing products. T34-1: time for queryng the inventory data store

Results of the analysis Fuchsia line: simulated value. Red line: requisite bound. t34-2: time for creating a new order entry T34-3: time for creating a ne product order

Results of the analysis 1 Store vs 200 Stores Simulated measures: Utilization Global Service Time Entry Wait Time Throughput

Results of the analysis 1 Store vs 200 Stores Simulated mesures: getproducts service time orderproducts service time

The KLAPER environment Source modelling Tools (UML) Performance results LQN Model Solver UML model (XMI) KLAPER Model generator Result Converter LQN Model (XMI) LQN Editor (plug-in) KLAPER Editor (plug-in) KLAPER model (XMI) Performance model Generetor (LQN)

The KLAPER environment KLAPER tools developed on the EMF (Eclipse) platform: KLAPER metamodel plugin KLAPER editor plugin LQN metamodel plugin LQN editor plugin KLAPER to LQN transformation plugin (work in progress)

Conclusions Need of automatic tools for the transformation from design models of component-based application to analysis models A transformation framework centered around a kernel language called KLAPER Captures the relevant information for the analysis of non-functional characteristics of component-based systems. Facilitates (hopefully ) the transformation definition. CoCoME: KLAPER has been used to derive a Layered Queueing Network, starting from the UML model annotated according to the SPT profile. Definition of a (partially) automated environment

Future works The long-term goal of our research is: to enhance the implementation of this framework, (e.g., automatic model transformations using QVT-based languages) to provide system designers with a richer toolkit that allows to generate automatically different performance and reliability models starting from design models. For additional information see: http://klaper.sf.net