back-annotation of simulation traces with change-driven model transformations
DESCRIPTION
Back-annotation of simulation traces using the VIATRA model transformation framework (http://viatra.inf.mit.bme.hu) presented at the SEFM 2010 conference (http://www.sefm2010.isti.cnr.it/)TRANSCRIPT
![Page 1: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/1.jpg)
Budapest University of Technology and Economics Software Engineering and Formal Methods 2010, Pisa, Italy
Back-annotation of Simulation Traces with Change-driven Model Transformations
Ábel Hegedüs, Gábor Bergmann, István Ráth, Dániel Varró
Budapest University of Technology and Economics
Fault Tolerant Systems Research Group
![Page 2: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/2.jpg)
Motivation - BPEL
Requirement: Every received request must result in a reply! Will the business process assure this?
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Rollback changes
Throw Error
Event: Cancel
Yes No
Yes No
![Page 3: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/3.jpg)
Outline of the talk
Motivation
Introduction – BPEL verification
Back-annotation problem
Transformation-driven Back-annotation
Summary
Future Work
![Page 4: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/4.jpg)
Introduction
Quality of processes checked design-time to avoid malfunctioning due to design errors
o using formal methods
Processes can not be checked directly
o formal semantics not defined
o model checking support missing
Transformation to some formal model is required
o Petri Nets, Process algebra, Transition systems, etc.
![Page 5: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/5.jpg)
Business Process
Requirement
Verification of BPEL
![Page 6: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/6.jpg)
Business Process
Requirement
Verification of BPEL
Receive request
![Page 7: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/7.jpg)
Business Process
Requirement
Verification of BPEL Every received request must result in a reply!
![Page 8: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/8.jpg)
Business Process
Requirement
Verification of BPEL
Model
Transform
![Page 9: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/9.jpg)
Business Process
Requirement
Verification of BPEL
Model
Transform
Formal model (Petri Nets)
![Page 10: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/10.jpg)
Business Process
Requirement
Verification of BPEL
Model
Transform
Formal model (Petri Nets)
Transition Place Token
![Page 11: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/11.jpg)
Business Process
Requirement
Verification of BPEL
Model Theorem
Formalize Transform
![Page 12: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/12.jpg)
Business Process
Requirement
Verification of BPEL
Model Theorem
Formalize Transform
Linear Temporal Logic formula
G [ Request => F (Reply) ]
![Page 13: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/13.jpg)
Business Process
Requirement
Verification of BPEL
Model Theorem
Model checker
Formalize Transform
Check
![Page 14: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/14.jpg)
Business Process
Requirement
Verification of BPEL
Model Theorem
Model checker
Formalize Transform
Result
Check
![Page 15: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/15.jpg)
Business Process
Requirement
Verification of BPEL
Model Theorem
Model checker
Formalize Transform
Result
Proved / Counter-example
Check
![Page 16: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/16.jpg)
Counter-example
![Page 17: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/17.jpg)
Counter-example
![Page 18: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/18.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
![Page 19: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/19.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
![Page 20: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/20.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
Transition firing
![Page 21: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/21.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
Transition firing
Model change
![Page 22: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/22.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
How can we use these textual results?
o Model changes of dynamic properties – state change
Convert textual trace automatically into model
o Integration of analysis and modeling tools
![Page 23: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/23.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
How can we use these textual results?
o Model changes of dynamic properties – state change
Convert textual trace automatically into model
o Integration of analysis and modeling tools
Often several 100s of steps, multiple changes/step
![Page 24: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/24.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
How can we use these textual results?
o Model changes of dynamic properties – state change
Convert textual trace automatically into model
o Integration of analysis and modeling tools
Transition
PNFiring
trans
![Page 25: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/25.jpg)
Processing results
Counter-example = Execution Trace
o Sequence of steps representing changes of the model
How can we use these textual results?
o Model changes of dynamic properties – state change
Convert textual trace automatically into model
o Integration of analysis and modeling tools
Bind output of simulator/model checker to the modeling
framework using importers
![Page 26: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/26.jpg)
Business Process Execution Traces
Missing dynamic semantics
Describe dynamic state of a process
o Activity / Variable states
o Events, triggers, variable manipulations
Semantics definition driven by structural modeling approach
Dynamic and trace metamodels for BPEL
![Page 27: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/27.jpg)
Business Process Execution Traces
Missing dynamic semantics
Describe dynamic state of a process
o Activity / Variable states
o Events, triggers, variable manipulations
Semantics definition driven by structural modeling approach
Dynamic and trace metamodels for BPEL
BPEL Activity • Not Startable • Startable • Running • Finished • Interrupted
![Page 28: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/28.jpg)
Business Process Execution Traces
Missing dynamic semantics
Describe dynamic state of a process
o Activity / Variable states
o Events, triggers, variable manipulations
Semantics definition driven by structural modeling approach
Dynamic and trace metamodels for BPEL
BPEL Activity Runs
BPEL Activity Executed
BPEL Activity Startable
![Page 29: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/29.jpg)
Business Process Execution Traces
Missing dynamic semantics
Describe dynamic state of a process
o Activity / Variable states
o Events, triggers, variable manipulations
Semantics definition driven by structural modeling approach
Dynamic and trace metamodels for BPEL
Static Metamodel
Trace Metamodel
Dynamic Metamodel
<<uses>>
<<uses>>
<<uses>>
![Page 30: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/30.jpg)
Abstraction gap
Lost information
o Decision conditions
o Variable values, parts
o Timing (event ordering)
Granularity mismatch
o NOT 1-to-1 mapping
o Non-trivial mapping problems (interleaving)
Traceability requirements
o PN elements grouped into subnets for simplifying the traceability model
![Page 31: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/31.jpg)
Abstraction gap
Lost information
o Decision conditions
o Variable values, parts
o Timing (event ordering)
Granularity mismatch
o NOT 1-to-1 mapping
o Non-trivial mapping problems (interleaving)
Traceability requirements
o PN elements grouped into subnets for simplifying the traceability model
Add Tokens
Delete Tokens
![Page 32: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/32.jpg)
Abstraction gap
Lost information
o Decision conditions
o Variable values, parts
o Timing (event ordering)
Granularity mismatch
o NOT 1-to-1 mapping
o Non-trivial mapping problems (interleaving)
Traceability requirements
o PN elements grouped into subnets for simplifying the traceability model
Fire Transition
Select Transition
Fire Transition
Select Transition
Add Tokens
Delete Tokens
![Page 33: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/33.jpg)
Abstraction gap
Lost information
o Decision conditions
o Variable values, parts
o Timing (event ordering)
Granularity mismatch
o NOT 1-to-1 mapping
o Non-trivial mapping problems (interleaving)
Traceability requirements
o PN elements grouped into subnets for simplifying the traceability model
Fire Transition
Select Transition
Fire Transition
Select Transition
Add Tokens
Delete Tokens
BPEL Activity Executed
BPEL Activity Runs
BPEL Activity Startable
![Page 34: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/34.jpg)
Abstraction gap
Lost information
o Decision conditions
o Variable values, parts
o Timing (event ordering)
Granularity mismatch
o NOT 1-to-1 mapping
o Non-trivial mapping problems (interleaving)
Traceability requirements
o PN elements grouped into subnets for simplifying the traceability model
Petri Net subnet
initial
final
stop
stopped
failed
BPEL Element
B2PN
Traceability link
![Page 35: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/35.jpg)
Trace mapping – simple changes
1. Identification of BPEL process elements which are affected by the PN change o Static traceability model generated during the
structural transformation
2. Decide BPEL change type represented by the PN change o Inspect the structure of the static model
• Graph patterns defined for matching to structure parts
3. Persist BPEL change into the hierarchy of the trace model o Use dynamic traceability model to record BPEL-PN
trace correspondence
![Page 36: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/36.jpg)
Trace mapping – simple changes
1. Identification of BPEL process elements which are affected by the PN change o Static traceability model generated during the
structural transformation
2. Decide BPEL change type represented by the PN change o Inspect the structure of the static model
• Graph patterns defined for matching to structure parts
3. Persist BPEL change into the hierarchy of the trace model o Use dynamic traceability model to record BPEL-PN
trace correspondence
PNF: PNFiring Tr: Transition
BA: BPEL Activity B2PN : Subnet
trans trans
![Page 37: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/37.jpg)
Trace mapping – simple changes
1. Identification of BPEL process elements which are affected by the PN change o Static traceability model generated during the
structural transformation
2. Decide BPEL change type represented by the PN change o Inspect the structure of the static model
• Graph patterns defined for matching to structure parts
3. Persist BPEL change into the hierarchy of the trace model o Use dynamic traceability model to record BPEL-PN
trace correspondence
![Page 38: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/38.jpg)
Trace mapping – simple changes
1. Identification of BPEL process elements which are affected by the PN change o Static traceability model generated during the
structural transformation
2. Decide BPEL change type represented by the PN change o Inspect the structure of the static model
• Graph patterns defined for matching to structure parts
3. Persist BPEL change into the hierarchy of the trace model o Use dynamic traceability model to record BPEL-PN
trace correspondence
initial
start stop
stopped
failed
final
![Page 39: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/39.jpg)
Trace mapping – simple changes
1. Identification of BPEL process elements which are affected by the PN change o Static traceability model generated during the
structural transformation
2. Decide BPEL change type represented by the PN change o Inspect the structure of the static model
• Graph patterns defined for matching to structure parts
3. Persist BPEL change into the hierarchy of the trace model o Use dynamic traceability model to record BPEL-PN
trace correspondence
![Page 40: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/40.jpg)
Trace mapping – simple changes
1. Identification of BPEL process elements which are affected by the PN change o Static traceability model generated during the
structural transformation
2. Decide BPEL change type represented by the PN change o Inspect the structure of the static model
• Graph patterns defined for matching to structure parts
3. Persist BPEL change into the hierarchy of the trace model o Use dynamic traceability model to record BPEL-PN
trace correspondence
BPEL Trace
BPEL step BPEL step
Activity Startable
Activity Runs
Activity Executed
next
next next
Change State
Change State
next
![Page 41: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/41.jpg)
initial
inner trans
stop
stopped
failed
final
initial
inner trans
stop
stopped
failed
final
![Page 42: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/42.jpg)
Trace mapping – complex changes
Many-to-one:
o Multiple PN changes one BPEL change
o Transition firing represents internal behavior of a BPEL activity
o Identify whether a PN change should be mapped
One-to-many
o One PN change multiple BPEL changes
o Persisted as substeps of a macro step in the trace
Interleaving
o Parallel execution, relevant changes have to be selected
o Petri Net subnets separate transitions
![Page 43: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/43.jpg)
Trace mapping – complex changes
Many-to-one:
o Multiple PN changes one BPEL change
o Transition firing represents internal behavior of a BPEL activity
o Identify whether a PN change should be mapped
One-to-many
o One PN change multiple BPEL changes
o Persisted as substeps of a macro step in the trace
Interleaving
o Parallel execution, relevant changes have to be selected
o Petri Net subnets separate transitions
initial
inner trans
stop
failed
final
stopped
![Page 44: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/44.jpg)
Trace mapping – complex changes
Many-to-one:
o Multiple PN changes one BPEL change
o Transition firing represents internal behavior of a BPEL activity
o Identify whether a PN change should be mapped
One-to-many
o One PN change multiple BPEL changes
o Persisted as substeps of a macro step in the trace
Interleaving
o Parallel execution, relevant changes have to be selected
o Petri Net subnets separate transitions
![Page 45: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/45.jpg)
Change-Driven Model Transformations
Transformation design pattern
o Execution driven by changes in the model
• Simulation trace – Sequence of model changes
o Handles external models
• Simulator / model checker with only notification of changes
• Process editor with only manipulation interface
MPN MBPEL
MPN’
CHMPN
MBPEL’
CHMBPEL
IF
map
TR
TR
![Page 46: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/46.jpg)
Change-Driven Model Transformations
Transformation design pattern
o Execution driven by changes in the model
• Simulation trace – Sequence of model changes
o Handles external models
• Simulator / model checker with only notification of changes
• Process editor with only manipulation interface
MPN MBPEL
MPN’
CHMPN
MBPEL’
CHMBPEL
IF
map
TR
TR
Record model changes
![Page 47: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/47.jpg)
Change-Driven Model Transformations
Transformation design pattern
o Execution driven by changes in the model
• Simulation trace – Sequence of model changes
o Handles external models
• Simulator / model checker with only notification of changes
• Process editor with only manipulation interface
MPN MBPEL
MPN’
CHMPN
MBPEL’
CHMBPEL
IF
map
TR
TR
Traceability model
![Page 48: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/48.jpg)
Change-Driven Model Transformations
Transformation design pattern
o Execution driven by changes in the model
• Simulation trace – Sequence of model changes
o Handles external models
• Simulator / model checker with only notification of changes
• Process editor with only manipulation interface
MPN MBPEL
MPN’
CHMPN
MBPEL’
CHMBPEL
IF
map
TR
TR
Execute back-annotation
![Page 49: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/49.jpg)
Change-Driven Model Transformations
Transformation design pattern
o Execution driven by changes in the model
• Simulation trace – Sequence of model changes
o Handles external models
• Simulator / model checker with only notification of changes
• Process editor with only manipulation interface
MPN MBPEL
MPN’
CHMPN
MBPEL’
CHMBPEL
IF
map
TR
TR
Apply changes
![Page 50: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/50.jpg)
Change history and trace metamodels
o Low-level model manipulations are grouped to form micro and macro steps
Mapping issues easier to handle
o Rules trigger only when appropriate changes occur in the model
o Transformation is executed when changes happen, instead of manual initialization
Back-annotation with CDT
![Page 51: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/51.jpg)
Change history and trace metamodels
o Low-level model manipulations are grouped to form micro and macro steps
Mapping issues easier to handle
o Rules trigger only when appropriate changes occur in the model
o Transformation is executed when changes happen, instead of manual initialization Step 1
PNF: PNFiring Tr: Transition trans
Appear
Back-annotation with CDT
![Page 52: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/52.jpg)
Change history and trace metamodels
o Low-level model manipulations are grouped to form micro and macro steps
Mapping issues easier to handle
o Rules trigger only when appropriate changes occur in the model
o Transformation is executed when changes happen, instead of manual initialization Step 1
PNF: PNFiring Tr: Transition trans
Appear Step 2 PNF: PNFiring Tr: Transition
BA: BPEL Activity
B2PN : Subnet trans
trans
Match
Back-annotation with CDT
![Page 53: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/53.jpg)
Change history and trace metamodels
o Low-level model manipulations are grouped to form micro and macro steps
Mapping issues easier to handle
o Rules trigger only when appropriate changes occur in the model
o Transformation is executed when changes happen, instead of manual initialization Step 1
PNF: PNFiring Tr: Transition trans
Appear Step 2 PNF: PNFiring Tr: Transition
BA: BPEL Activity
B2PN : Subnet trans
trans
Match
Step 3 PNF: PNFiring Tr: Transition
BA: BPEL Activity
B2PN : Subnet trans
BAR: BPELActivityRuns
trans
activity
Create
Back-annotation with CDT
![Page 54: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/54.jpg)
Presentation of BPEL traces
Dynamic behavior requires dynamic presentation
![Page 55: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/55.jpg)
Presentation of BPEL traces
Dynamic behavior requires dynamic presentation
BPEL Trace
BPEL step BPEL step
Activity Startable
Activity Runs
Activity Executed
next
next next
Change State
Change State
next
![Page 56: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/56.jpg)
Presentation of BPEL traces
Dynamic behavior requires dynamic presentation
![Page 57: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/57.jpg)
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
Presentation of BPEL traces
![Page 58: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/58.jpg)
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
Presentation of BPEL traces
![Page 59: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/59.jpg)
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
Presentation of BPEL traces
![Page 60: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/60.jpg)
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
Presentation of BPEL traces
![Page 61: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/61.jpg)
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
Presentation of BPEL traces
![Page 62: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/62.jpg)
Presentation of BPEL traces
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
![Page 63: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/63.jpg)
Presentation of BPEL traces
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
![Page 64: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/64.jpg)
Presentation of BPEL traces
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
![Page 65: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/65.jpg)
Presentation of BPEL traces
Hidden formal methods
Dynamic behavior requires dynamic presentation
Overlay dynamic information on static view
o Graphical BPEL editor
o Use colors/labels to display current state
o Provide intuitive navigation in the trace
Integrate with analysis functionality
![Page 66: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/66.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update? Yes No
Yes No
![Page 67: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/67.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update? Yes No
Yes No
![Page 68: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/68.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update? Yes No
Yes No
![Page 69: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/69.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Event: Cancel
Yes No
Yes No
![Page 70: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/70.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Rollback changes
Event: Cancel
Yes No
Yes No
![Page 71: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/71.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Rollback changes
Throw Error
Event: Cancel
Yes No
Yes No
![Page 72: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/72.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Rollback changes
Throw Error
Event: Cancel
Yes No
Yes No
![Page 73: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/73.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Rollback changes
Throw Error
Event: Cancel
Yes No
Yes No
Returns with a web-service error
![Page 74: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/74.jpg)
Motivating scenario (cont.)
Requirement: Every received request must result in a reply!
Receive request
Calculate Rating
Send offer
Accept?
Receive answer
Send reply
Send rejection
Receive update request
Update?
Rollback changes
Throw Error
Event: Cancel
Yes No
Yes No
Returns with a web-service error
Not executed = No reply
![Page 75: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/75.jpg)
Outlook: Scaling to large traces
Great part of the trace is irrelevant to the error
Process too complex for reasonable model checking resources (time, memory)
o Decompose the process into smaller, interacting processes
o Analysis of cooperating BPEL processes through abstraction of behavior
![Page 76: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/76.jpg)
Summary
Reusable dynamic back-annotation approach:
oWith generic modeling framework for dynamic traces
o Joint dynamic traceability metamodels
o Transformation library
• using the CDT design pattern
Motivating scenarios:
o End-to-end verification approaches
o BPEL to PN and Back
o BPEL to SAL and Back (Tool demo)
![Page 77: Back-annotation of Simulation Traces with Change-Driven Model Transformations](https://reader033.vdocument.in/reader033/viewer/2022052907/558e49851a28ab56518b470f/html5/thumbnails/77.jpg)
Future work
Automatic generation of trace persistence rules from simulation rules
On-the-fly back-annotation
Derive mapping rules from forward transformation
...
Thank you! Questions?
Come see our Tool Demo in Room 28!