modeling complex user behavior with the palladio
play

Modeling Complex User Behavior with the Palladio Component Model - PowerPoint PPT Presentation

Mnchen, 2015-11-06 Modeling Complex User Behavior with the Palladio Component Model Symposium on Software Performance 2015 Christian Vgele, Robert Heinrich, Robert Heilein, Andr van Hoorn, Helmut Krcmar fortiss GmbH An-Institut


  1. München, 2015-11-06 Modeling Complex User Behavior with the Palladio Component Model Symposium on Software Performance 2015 Christian Vögele, Robert Heinrich, Robert Heilein, André van Hoorn, Helmut Krcmar fortiss GmbH An-Institut Technische Universität München

  2. Motivation Situation • Workload specification and execution/simulation essential to evaluate performance properties of application systems (e.g., Krishnamurthy et al. 2006, Menascé et al. 1999, Arlitt et al. 2001) Throughput Behavior Models Workload Simulation Behavior Mix Specification Workload Intensity Workload Intensity Complication • Modeling of complex and representative user behavior (Behavior Model) can be difficult or even unfeasible solely with the PCM usage model • Workarounds are available, but: – Violates the separation of concerns – Increases the complexity of the performance models Resolution • Extension of PCM usage model meta-model 2 pmw.fortiss.org München, 2015-11-06

  3. Limitations Modeling Complex User Behavior purchase 1) Modeling of backward edges login • e.g. view_items to add_to_cart 1.0 view 1.0 Items quantity 0.67 1.0 2) Modeling of nested loops is difficult add to clear cart • cart e.g. view_items_quantity, add_to_cart, 0.66 0.11 shoppingcart, clear_cart shopping -cart 0.61 3) Linking elements of one branchTransition to 0.34 remove elements of another branchTransitions 0.10 0.18 0.21 0.12 • e.g. remove to purchase_cart or defer_order purchase defer cart order 1.0 home 1.0 logout SPECjEnterprise2010 purchase transaction as probabilistic Behavior Model 3 pmw.fortiss.org München, 2015-11-06

  4. Limitations Reusability 1) Modeling of business processes (BPs) is difficult Activity A 2) BPs are a set of one or more linked activities where each activity itself is composed of one Activity B Activity C ore more linked steps purchase login Activity A 1.0 3) The PCM Usage Model do not allow to model view 1.0 Items quantity 0.67 1.0 multiple connected usage scenarios add to clear cart cart 0.66 0.11 shopping -cart 0.61 0.34 remove 0.10 0.18 0.21 0.12 purchase defer cart order 1.0 home 1.0 logout 4 pmw.fortiss.org München, 2015-11-06

  5. Limitations Probabilistic Conditions purchase 1) In case a combination of probabilistic and login guarded conditions is needed, e.g. 1.0 view 1.0 – remove an item from the shoppingcart Items quantity 0.67 1.0 with a probability of 34 % when add to clear cart cart itemCount > 0 0.66 0.11 2) The probability of the edges must be shopping -cart recalculated during simulation itemCount > 0 0.61 0.34 – When itemCount = 0 then the probability remove of clear cart is 100% (not 66%) 0.10 0.18 0.21 0.12 purchase defer cart order 1.0 home 1.0 logout 5 pmw.fortiss.org München, 2015-11-06

  6. Limitations Workarounds 6 pmw.fortiss.org München, 2015-11-06

  7. Extension of PCM Usage Model meta model 1 / 4 BooleanVariable -booleanValue: EBoolean StringVariable IntegerVariable -stringValue: EString -integerValue: EInt OpenWorkload DoubleVariable VoidVariable -doubleValue: EDouble ClosedWorkload VariableExpression VariableContainer AbstractVariable 1..1 -population: EInt -expression: EString 0..* -name: EString -priority: EInt 0..1 Workload 0..* AbstractUsageScenario 1..1 UsageScenario UsageModel UsageScenarioPart 0..* 0..* VariableEvaluation 1..1 -expression: EString 1..1 1..1 -variableName: EString ScenarioBehaviour ScenarioBehaviourCall Start 1..1 1..1 BranchTransition Stop -branchProbability: EDouble Loop 0..* 0..* Delay Branch AbstractUserAction successor 1 0..1 0..1 MergeBranch successor predecessor DecisionBranchTransition EntryLevelSystemCall -probability: EDouble -priority: EInt -expression: EString DecisionBranch 1..* 7 pmw.fortiss.org München, 2015-11-06

  8. Extension of PCM Usage Model meta model 2 / 4 BooleanVariable -booleanValue: EBoolean StringVariable IntegerVariable -stringValue: EString -integerValue: EInt OpenWorkload DoubleVariable VoidVariable -doubleValue: EDouble ClosedWorkload VariableExpression VariableContainer AbstractVariable 1..1 -population: EInt -expression: EString 0..* -name: EString -priority: EInt 0..1 Workload 0..* AbstractUsageScenario 1..1 UsageScenario UsageModel UsageScenarioPart 0..* 0..* VariableEvaluation 1..1 -expression: EString 1..1 1..1 -variableName: EString ScenarioBehaviour ScenarioBehaviourCall Start 1..1 1..1 BranchTransition Stop -branchProbability: EDouble Loop 0..* 0..* Delay Branch AbstractUserAction successor 1 0..1 0..1 MergeBranch successor predecessor DecisionBranchTransition EntryLevelSystemCall -probability: EDouble -priority: EInt -expression: EString DecisionBranch 1..* 8 pmw.fortiss.org München, 2015-11-06

  9. Extension of PCM Usage Model meta model 3 / 4 BooleanVariable -booleanValue: EBoolean StringVariable IntegerVariable -stringValue: EString -integerValue: EInt OpenWorkload DoubleVariable VoidVariable -doubleValue: EDouble ClosedWorkload VariableExpression VariableContainer AbstractVariable 1..1 -population: EInt -expression: EString 0..* -name: EString -priority: EInt 0..1 Workload 0..* AbstractUsageScenario 1..1 UsageScenario UsageModel UsageScenarioPart 0..* 0..* VariableEvaluation 1..1 -expression: EString 1..1 1..1 -variableName: EString ScenarioBehaviour ScenarioBehaviourCall Start 1..1 1..1 BranchTransition Stop -branchProbability: EDouble Loop 0..* 0..* Delay Branch AbstractUserAction successor 1 0..1 0..1 MergeBranch successor predecessor DecisionBranchTransition EntryLevelSystemCall -probability: EDouble -priority: EInt -expression: EString DecisionBranch 1..* 9 pmw.fortiss.org München, 2015-11-06

  10. Extension of PCM Usage Model meta-model 4 / 4 BooleanVariable -booleanValue: EBoolean StringVariable IntegerVariable -stringValue: EString -integerValue: EInt OpenWorkload DoubleVariable VoidVariable -doubleValue: EDouble ClosedWorkload VariableExpression VariableContainer AbstractVariable 1..1 -population: EInt -expression: EString 0..* -name: EString -priority: EInt 0..1 Workload 0..* AbstractUsageScenario 1..1 UsageScenario UsageModel UsageScenarioPart 0..* 0..* VariableEvaluation 1..1 -expression: EString 1..1 1..1 -variableName: EString ScenarioBehaviour ScenarioBehaviourCall Start 1..1 1..1 BranchTransition Stop -branchProbability: EDouble Loop 0..* 0..* Delay Branch AbstractUserAction successor 1 0..1 0..1 MergeBranch successor predecessor DecisionBranchTransition EntryLevelSystemCall -probability: EDouble -priority: EInt -expression: EString DecisionBranch 1..* 10 pmw.fortiss.org München, 2015-11-06

  11. Extension of PCM Usage Model meta-model Example login 1.0 purchase login 1.0 view items 1.0 quantity clear cart view 1.0 1.0 Items quantity 0.66 0.67 add to cart 0.67 1.0 add to clear cart cart 0.66 0.11 0.11 shopping shopping-cart -cart 0.61 0.34 remove 0.34 remove 0.10 0.18 0.21 0.12 purchase defer 0.61 0.10 cart order 0.12 0.18 0.21 1.0 home purchase cart defer order 1.0 logout 1.0 Merge node home 1.0 Decision Node logout 11 pmw.fortiss.org München, 2015-11-06

  12. Extraction of Extended PCM Usage Models WESSBAS2PCM • Integrate extraction of PCM usage models into the WESSBAS approach (van Hoorn et al. 2014, Vögele et al. 2015) • Transform WESSBAS-DSL instances into the extended PCM usage model • A transformation of WESSBAS-DSL instances to „original“ PCM usage model already but workarounds are needed. 12 pmw.fortiss.org München, 2015-11-06

  13. Evaluation Methodology • Execute SPECjEnterprise2010 run and collect standard Apache HTTP web logs • Transform web logs to session log format • Extraction of WESSBAS-DSL instances (includes clustering and guards and actions) • Transformation of WESSBAS-DSL instances to the extended PCM usage model 13 pmw.fortiss.org München, 2015-11-06

  14. Evaluation Results Orig. without guards and action with guards and actions Request MRC SRC PE% SRC PE% 1 add to cart 21.376 20.766 2,94% 21.490 0,53% 2 cancel order 342 350 2,29% 285 20,00% 3 clear cart 2.043 2.005 1,90% 2.194 6,88% 4 defer order 2.273 2.237 1,61% 2.249 1,07% 5 home 19.409 19.039 1,94% 19.009 2,10% 6 inventory 19.960 19.452 2,61% 19.609 1,79% 7 login 19.913 19.514 2,04% 19.527 1,98% 8 logout 19.194 18.838 1,89% 18.812 2,03% 9 purchase cart 2.811 2.716 3,50% 2.728 3,04% 10 remove 947 901 5,11% 736 28,67% 11 sell inventory 43.375 42.741 1,48% 42.089 3,06% 12 shopping cart 2.991 2.906 2,92% 2.932 2,01% 13 view items quantity 21.300 20.706 2,87% 21.408 0,50% 14 view items 67.886 66.518 2,06% 65.112 4,26% Sum 243.820 238.689 2,15% 238.180 2,37% MRC: Measured Request Count SRC: Simulated Request Count PE: Prediction Accuracy 14 pmw.fortiss.org München, 2015-11-06

  15. Future Work Conceptual Aspects • Modeling of asynchronous communications • Modeling of multiple start and end notes • Integration of extended PCM usage model with Integrated Business IT Impact Simulation (IntBIIS) (Heinrich et al. 2015) Technical Aspects • Migrate from 3.4.1  to PCM 4.0 • Graphical editors for extended usage model 15 pmw.fortiss.org München, 2015-11-06

Recommend


More recommend