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

modeling complex user behavior with the palladio
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

fortiss GmbH An-Institut Technische Universität München 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

slide-2
SLIDE 2

pmw.fortiss.org München, 2015-11-06 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)

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

Simulation Throughput Workload Intensity Workload Specification Behavior Models Workload Intensity Behavior Mix

slide-3
SLIDE 3

pmw.fortiss.org München, 2015-11-06 3

Modeling Complex User Behavior

1) Modeling of backward edges

  • e.g. view_items to add_to_cart

2) Modeling of nested loops is difficult

  • e.g. view_items_quantity, add_to_cart,

shoppingcart, clear_cart 3) Linking elements of one branchTransition to elements of another branchTransitions

  • e.g. remove to purchase_cart or defer_order

Limitations

login view Items quantity add to cart shopping

  • cart

clear cart remove defer

  • rder

purchase cart home logout

0.67 0.11 0.12 0.10 0.66 0.34 0.61 0.18 0.21

purchase

1.0 1.0 1.0 1.0 1.0

SPECjEnterprise2010 purchase transaction as probabilistic Behavior Model

slide-4
SLIDE 4

pmw.fortiss.org München, 2015-11-06 4

Reusability

Limitations

Activity B Activity C Activity A Activity A

1) Modeling of business processes (BPs) is difficult 2) BPs are a set of one or more linked activities where each activity itself is composed of one

  • re more linked steps

3) The PCM Usage Model do not allow to model multiple connected usage scenarios

login view Items quantity add to cart shopping

  • cart

clear cart remove defer

  • rder

purchase cart home logout

0.67 0.11 0.12 0.10 0.66 0.34 0.61 0.18 0.21

purchase

1.0 1.0 1.0 1.0 1.0

slide-5
SLIDE 5

pmw.fortiss.org München, 2015-11-06 5

Probabilistic Conditions

Limitations

itemCount > 0

1) In case a combination of probabilistic and guarded conditions is needed, e.g. – remove an item from the shoppingcart with a probability of 34 % when itemCount > 0 2) The probability of the edges must be recalculated during simulation – When itemCount = 0 then the probability

  • f clear cart is 100% (not 66%)

login view Items quantity add to cart shopping

  • cart

clear cart remove defer

  • rder

purchase cart home logout

0.67 0.11 0.12 0.10 0.66 0.34 0.61 0.18 0.21

purchase

1.0 1.0 1.0 1.0 1.0

slide-6
SLIDE 6

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

Workarounds

Limitations

slide-7
SLIDE 7

pmw.fortiss.org München, 2015-11-06 7

1 / 4

Extension of PCM Usage Model meta model

AbstractUserAction VariableEvaluation

  • expression: EString
  • variableName: EString

Stop Start Delay MergeBranch EntryLevelSystemCall

  • priority: EInt

DecisionBranchTransition

  • probability: EDouble
  • expression: EString

1..* successor 1

Loop

1..1

ScenarioBehaviourCall Branch BranchTransition

  • branchProbability: EDouble

0..* 1..1 0..*

UsageScenarioPart

1..1 1..1

UsageScenario

0..1

VariableContainer

0..*

AbstractVariable

  • name: EString

1..1 0..* 0..* 0..1 successor predecessor 0..1

Workload

1..1

OpenWorkload ClosedWorkload

  • population: EInt

VariableExpression

  • expression: EString
  • priority: EInt

1..1 0..*

BooleanVariable

  • booleanValue: EBoolean

IntegerVariable

  • integerValue: EInt

VoidVariable StringVariable

  • stringValue: EString

DoubleVariable

  • doubleValue: EDouble

DecisionBranch UsageModel AbstractUsageScenario ScenarioBehaviour

slide-8
SLIDE 8

pmw.fortiss.org München, 2015-11-06 8

2 / 4

Extension of PCM Usage Model meta model

AbstractUserAction VariableEvaluation

  • expression: EString
  • variableName: EString

Stop Start Delay MergeBranch EntryLevelSystemCall

  • priority: EInt

DecisionBranchTransition

  • probability: EDouble
  • expression: EString

1..* successor 1

Loop

1..1

ScenarioBehaviourCall Branch BranchTransition

  • branchProbability: EDouble

0..* 1..1 0..*

UsageScenarioPart

1..1 1..1

UsageScenario

0..1

VariableContainer

0..*

AbstractVariable

  • name: EString

1..1 0..* 0..* 0..1 successor predecessor 0..1

Workload

1..1

OpenWorkload ClosedWorkload

  • population: EInt

VariableExpression

  • expression: EString
  • priority: EInt

1..1 0..*

BooleanVariable

  • booleanValue: EBoolean

IntegerVariable

  • integerValue: EInt

VoidVariable StringVariable

  • stringValue: EString

DoubleVariable

  • doubleValue: EDouble

DecisionBranch UsageModel AbstractUsageScenario ScenarioBehaviour

slide-9
SLIDE 9

pmw.fortiss.org München, 2015-11-06 9

3 / 4

Extension of PCM Usage Model meta model

AbstractUserAction VariableEvaluation

  • expression: EString
  • variableName: EString

Stop Start Delay MergeBranch EntryLevelSystemCall

  • priority: EInt

DecisionBranchTransition

  • probability: EDouble
  • expression: EString

1..* successor 1

Loop

1..1

ScenarioBehaviourCall Branch BranchTransition

  • branchProbability: EDouble

0..* 1..1 0..*

UsageScenarioPart

1..1 1..1

UsageScenario

0..1

VariableContainer

0..*

AbstractVariable

  • name: EString

1..1 0..* 0..* 0..1 successor predecessor 0..1

Workload

1..1

OpenWorkload ClosedWorkload

  • population: EInt

VariableExpression

  • expression: EString
  • priority: EInt

1..1 0..*

BooleanVariable

  • booleanValue: EBoolean

IntegerVariable

  • integerValue: EInt

VoidVariable StringVariable

  • stringValue: EString

DoubleVariable

  • doubleValue: EDouble

DecisionBranch UsageModel AbstractUsageScenario ScenarioBehaviour

slide-10
SLIDE 10

pmw.fortiss.org München, 2015-11-06 10

4 / 4

Extension of PCM Usage Model meta-model

AbstractUserAction VariableEvaluation

  • expression: EString
  • variableName: EString

Stop Start Delay MergeBranch EntryLevelSystemCall

  • priority: EInt

DecisionBranchTransition

  • probability: EDouble
  • expression: EString

1..* successor 1

Loop

1..1

ScenarioBehaviourCall Branch BranchTransition

  • branchProbability: EDouble

0..* 1..1 0..*

UsageScenarioPart

1..1 1..1

UsageScenario

0..1

VariableContainer

0..*

AbstractVariable

  • name: EString

1..1 0..* 0..* 0..1 successor predecessor 0..1

Workload

1..1

OpenWorkload ClosedWorkload

  • population: EInt

VariableExpression

  • expression: EString
  • priority: EInt

1..1 0..*

BooleanVariable

  • booleanValue: EBoolean

IntegerVariable

  • integerValue: EInt

VoidVariable StringVariable

  • stringValue: EString

DoubleVariable

  • doubleValue: EDouble

DecisionBranch UsageModel AbstractUsageScenario ScenarioBehaviour

slide-11
SLIDE 11

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

Example

Extension of PCM Usage Model meta-model

login view items quantity add to cart clear cart shopping-cart remove purchase cart defer order home logout

1.0 1.0 1.0 1.0 1.0 0.67 0.11 0.10 0.12 0.34 0.66 0.61 0.18 0.21

Merge node Decision Node

login view Items quantity add to cart shopping

  • cart

clear cart remove defer

  • rder

purchase cart home logout

0.67 0.11 0.12 0.10 0.66 0.34 0.61 0.18 0.21

purchase

1.0 1.0 1.0 1.0 1.0

slide-12
SLIDE 12

pmw.fortiss.org München, 2015-11-06 12

Extraction of Extended PCM Usage Models

  • 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.

WESSBAS2PCM

slide-13
SLIDE 13

pmw.fortiss.org München, 2015-11-06 13

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

Evaluation

slide-14
SLIDE 14

pmw.fortiss.org München, 2015-11-06 14

Results

Evaluation

MRC: Measured Request Count SRC: Simulated Request Count PE: Prediction Accuracy

Orig. 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% without guards and action with guards and actions

slide-15
SLIDE 15

pmw.fortiss.org München, 2015-11-06 15

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

Future Work

slide-16
SLIDE 16

pmw.fortiss.org München, 2015-11-06 16

  • Is the proposed concept interesting for SEFF as well?
  • Are there further use cases for usage models?

 Depending on extended observations

Discussion

slide-17
SLIDE 17

pmw.fortiss.org München, 2015-11-06 17

Q&A

Christian Vögele, Robert Heinrich, Robert Heilein, André van Hoorn, Helmut Krcmar voegele@fortiss.org, robert.heinrich@kit.edu, andre.van.hoorn@acm.org, heilein@in.tum.de, krcmar@in.tum.de