SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
Back-annotation of Simulation Traces
                with Change-driven Model Transformations
                  Ábel Hegedüs, Gábor Bergmann, István Ráth, Dániel Varró
                                 (hegedusa@mit.bme.hu)

                           Budapest University of Technology and Economics
                               Fault Tolerant Systems Research Group




Budapest University of Technology and Economics
Software Engineering and Formal Methods 2010, Pisa, Italy
Motivation - BPEL
               Receive request


                                                       Event: Cancel
               Calculate Rating
                                                       Rollback changes

                   Accept?
  Yes                                 No                 Throw Error

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?
                                                     Will the business
                                                     process assure this?
                 Send reply
Outline of the talk
   Motivation
   Introduction – BPEL verification
   Back-annotation problem
   Transformation-driven Back-annotation
   Summary
   Future Work
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.
Verification of BPEL


Business
                Requirement
Process
Verification of BPEL

              Receive request
Business
                 Requirement
Process
Verification of BPEL
                        Every received
                        request must result
                        in a reply!
Business
                Requirement
Process
Verification of BPEL


Business
                  Requirement
Process
      Transform

 Model
Verification of BPEL


     Business
                       Requirement
     Process
           Transform

      Model




Formal model
 (Petri Nets)
Verification of BPEL


     Business
                                    Requirement
     Process
           Transform

      Model




Formal model           Token   Transition   Place
 (Petri Nets)
Verification of BPEL


Business
                  Requirement
Process
      Transform          Formalize

 Model             Theorem
Verification of BPEL


Business
                  Requirement
Process
                            G [ Request =>
      Transform          Formalize F (Reply) ]

 Model             Theorem



                                Linear Temporal
                                 Logic formula
Verification of BPEL


Business
                             Requirement
Process
      Transform                     Formalize

 Model                        Theorem


            Check


             Model checker
Verification of BPEL


Business
                             Requirement
Process
      Transform                     Formalize

 Model                        Theorem


            Check


             Model checker
                              Result
Verification of BPEL


Business
                             Requirement
Process
      Transform                     Formalize

 Model                        Theorem


            Check


             Model checker
                              Result

                         Proved /
                      Counter-example
Counter-example
Counter-example
Processing results
 Counter-example = Execution Trace
  o Sequence of steps representing changes of the model
Processing results
 Counter-example = Execution Trace
  o Sequence of steps representing changes of the model
Processing results
 Counter-example = Execution Trace
   o Sequence of steps representing changes of the model

Transition firing
Processing results
 Counter-example = Execution Trace
   o Sequence of steps representing changes of the model

Transition firing




Model change
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
Processing results
 Counter-example = Execution Trace 100s of steps,
                          Often several
                                multiple changes/step
  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
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

                                                 PNFiring
                                                      trans
                                                 Transition
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
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
Business Process Execution Traces
 Missing dynamic semantics                    BPEL Activity
                                               •   Not Startable
 Describe dynamic state of a process          •   Startable
                                               •   Running
  o Activity / Variable states                 •   Finished
                                               •   Interrupted
  o Events, triggers, variable manipulations
 Semantics definition driven by structural modeling
  approach
 Dynamic and trace metamodels for BPEL
Business Process Execution Traces
 Missing dynamic semantics         BPEL Activity Startable

                                      BPEL Activity Runs
 Describe dynamic state of a process Activity Executed
                                    BPEL
   o Activity / Variable states
   o Events, triggers, variable manipulations
 Semantics definition driven by structural modeling
  approach
 Dynamic and trace metamodels for BPEL
Business Process Execution Traces
 Missing dynamic semantics
              Static
            Metamodel
 Describe dynamic state of a process
  o Activity / Variable states
           <<uses>>        <<uses>>

  o Events, triggers, variable manipulations
     Trace                Dynamic
   Metamodel              Metamodel
 Semantics definition driven by structural modeling
               <<uses>>

  approach
 Dynamic and trace metamodels for BPEL
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
Abstraction gap
 Lost information
                   Delete Tokens
  o Decision conditions
                   Add Tokens
  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
Abstraction gap
 Lost information                 Select Transition
                   Delete Tokens
  o Decision conditions             Fire Transition
                   Add Tokens
  o Variable values, parts         Select Transition

  o Timing (event ordering)         Fire Transition

 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
Abstraction gap
 Lost information                 Select Transition   BPEL Activity
                                                        Startable
                   Delete Tokens
  o Decision conditions             Fire Transition
                                                       BPEL Activity
                   Add Tokens
                                                          Runs
  o Variable values, parts         Select Transition
                                                       BPEL Activity
  o Timing (event ordering)         Fire Transition     Executed

 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
Abstraction gap
 Lost information
  o Decision conditions
                                        initial
  o Variable values, parts
                               stop
  o Timing (event ordering)stopped
                                        Petri Net
                                                         B2PN
                                                                          BPEL
                                         subnet                         Element
 Granularity mismatch         failed               Traceability link


  o NOT 1-to-1 mapping          final


  o Non-trivial mapping problems (interleaving)
 Traceability requirements
  o PN elements grouped into subnets for simplifying the
    traceability model
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
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
                            Tr: Transition
    change                         trans   trans
                                                 PNF: PNFiring

  o Inspect the structure of the static model
                                     : Subnet              B2PN
     • Graph patterns defined forBA: BPEL Activity
                                  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
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
Trace mapping – simple changes
                         initial
1. Identification of BPEL process elements which
   are affected by the PNstart
            stop           change
  o Staticstopped
           traceability model generated during the
    structural transformation
           failed
2. Decide BPEL change type represented by the PN
    change          final

  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
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
Trace mapping – simple changes
1. Identification of BPEL process elements which
           BPEL Trace

   are affected by the PN change
                         next
   o BPEL steptraceability model generated during the
     Static            BPEL step
     structural transformation
  Activity    Activity        Activity
2. Decide BPEL change type represented by the PN
 Startable
     next
               Runs          Executed
                           next
    change
         Change          Change
   o Inspect the structure of the static model
          State           State
                  next
        • 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                initial



   stop                   stop

stopped        inner   stopped        inner
               trans                  trans
  failed                 failed



           final                  final
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
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
                                                   initial
 One-to-many
  o One PN change          multiple BPEL changes
                                     stop
  o Persisted as substeps of a macro step in the trace
                                   stopped             inner
 Interleaving                                         trans
                                     failed
  o Parallel execution, relevant changes have to be selected
  o Petri Net subnets separate transitions
                                                    final
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
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                 TR                MBPEL

                             map
                    CHMPN            CHMBPEL
                                                        IF
         MPN’                TR                MBPEL’
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
                Record model
     • Process editor with only manipulation interface
                   changes
         MPN                 TR                MBPEL

                             map
                    CHMPN            CHMBPEL
                                                        IF
         MPN’                TR                MBPEL’
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
                             Traceability model
     • Process editor with only manipulation interface

         MPN                 TR                MBPEL

                             map
                    CHMPN            CHMBPEL
                                                        IF
         MPN’                TR                MBPEL’
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
                                 Execute back-
     • Process editor with only manipulation interface
                                  annotation
         MPN                 TR                MBPEL

                             map
                    CHMPN            CHMBPEL
                                                        IF
         MPN’                TR                MBPEL’
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
                                                        Apply
          MPN                TR               MBPEL    changes
                             map
                    CHMPN            CHMBPEL
                                                        IF
         MPN’                TR                MBPEL’
Back-annotation with CDT
 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
 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,
     Step 1                       Appear
    instead of manual initialization PNF: PNFiring
             Tr: Transition    trans
Back-annotation with CDT
 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,
     Step 1
          2                       Appear
    instead of manual initialization PNF: PNFiring
             Tr: Transition   trans
                               trans
                     trans
      B2PN          : Subnet
                                 Match
             BA: BPEL Activity
Back-annotation with CDT
 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,
          3
     Step 1
          2                       Appear PNF: PNFiring
    instead of manual initialization PNF: PNFiring
              Tr: Transition
             Tr: Transition    trans
                              trans
                               trans
                       trans
                      trans       Create
       B2PN
      B2PN          ::Subnet
                       Subnet
                                   Match
                                     activity
              BA: BPEL Activity
              BA: BPEL Activity                 BAR: BPELActivityRuns
Presentation of BPEL traces
 Dynamic behavior requires dynamic presentation
Presentation of BPEL traces
 Dynamic behavior requires dynamic presentation
                                   BPEL Trace

                                         next
               BPEL step                              BPEL step

          Activity            Activity          Activity
         Startable             Runs            Executed
                     next                  next


                     Change              Change
                      State               State
                               next
Presentation of BPEL traces
 Dynamic behavior requires dynamic presentation
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
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
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
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
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
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
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
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
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


                 Hidden formal methods
Motivating scenario (cont.)




                  Accept?
  Yes                                 No

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                      No                       Yes
                                 Update?

                 Send reply
Motivating scenario (cont.)
               Receive request




                  Accept?
  Yes                                 No

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                      No                       Yes
                                 Update?

                 Send reply
Motivating scenario (cont.)
               Receive request



               Calculate Rating


                   Accept?
  Yes                                 No

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?

                 Send reply
Motivating scenario (cont.)
               Receive request


                                                       Event: Cancel
               Calculate Rating


                   Accept?
  Yes                                 No

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?

                 Send reply
Motivating scenario (cont.)
               Receive request


                                                       Event: Cancel
               Calculate Rating
                                                       Rollback changes

                   Accept?
  Yes                                 No

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?

                 Send reply
Motivating scenario (cont.)
               Receive request


                                                       Event: Cancel
               Calculate Rating
                                                       Rollback changes

                   Accept?
  Yes                                 No                 Throw Error

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?

                 Send reply
Motivating scenario (cont.)
               Receive request


                                                       Event: Cancel
               Calculate Rating
                                                       Rollback changes

                   Accept?
  Yes                                 No                 Throw Error

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?

                 Send reply
Motivating scenario (cont.)
               Receive request
                                                 Returns with a web-
                                                    service error
                                                        Event: Cancel
               Calculate Rating
                                                        Rollback changes

                   Accept?
  Yes                                 No                  Throw Error

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?

                 Send reply
Motivating scenario (cont.)
               Receive request
                                                 Returns with a web-
                                                    service error
                                                        Event: Cancel
               Calculate Rating
                                                        Rollback changes

                   Accept?
  Yes                                 No                  Throw Error

  Send offer                  Send rejection
                                                     Requirement:
Receive answer
                                 Receive             Every received request
                              update request         must result in a reply!
                       No                      Yes
                                  Update?
                                            Not executed =
                 Send reply                    No reply
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
Summary
 Reusable dynamic back-annotation approach:
  o With 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)
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!

Weitere ähnliche Inhalte

Was ist angesagt?

NG BB 23 Measurement System Analysis - Introduction
NG BB 23 Measurement System Analysis - IntroductionNG BB 23 Measurement System Analysis - Introduction
NG BB 23 Measurement System Analysis - IntroductionLeanleaders.org
 
NG BB 05 Roles and Responsibilities
NG BB 05 Roles and ResponsibilitiesNG BB 05 Roles and Responsibilities
NG BB 05 Roles and ResponsibilitiesLeanleaders.org
 
NG BB 36 Simple Linear Regression
NG BB 36 Simple Linear RegressionNG BB 36 Simple Linear Regression
NG BB 36 Simple Linear RegressionLeanleaders.org
 
NG BB 39 IMPROVE Roadmap
NG BB 39 IMPROVE RoadmapNG BB 39 IMPROVE Roadmap
NG BB 39 IMPROVE RoadmapLeanleaders.org
 
NG BB 28 MEASURE Tollgate
NG BB 28 MEASURE TollgateNG BB 28 MEASURE Tollgate
NG BB 28 MEASURE TollgateLeanleaders.org
 
NG BB 06 Project Charter
NG BB 06 Project CharterNG BB 06 Project Charter
NG BB 06 Project CharterLeanleaders.org
 
NG BB 22 Process Measurement
NG BB 22 Process MeasurementNG BB 22 Process Measurement
NG BB 22 Process MeasurementLeanleaders.org
 
Value Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge MgtValue Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge MgtArnaldo Colombo
 
Improvement in Production Processes in a Company in the Electronics Sector us...
Improvement in Production Processes in a Company in the Electronics Sector us...Improvement in Production Processes in a Company in the Electronics Sector us...
Improvement in Production Processes in a Company in the Electronics Sector us...Thomas Schulz
 
Sample project requirements_checklist
Sample project requirements_checklistSample project requirements_checklist
Sample project requirements_checklistsrinivastadela
 
Altreonic methodology and solutions
Altreonic methodology and solutionsAltreonic methodology and solutions
Altreonic methodology and solutionsomaraltreonic
 
NG BB 20 Data Collection
NG BB 20 Data CollectionNG BB 20 Data Collection
NG BB 20 Data CollectionLeanleaders.org
 
NG BB 31 Cause and Effect (XY) Matrix
NG BB 31 Cause and Effect (XY) MatrixNG BB 31 Cause and Effect (XY) Matrix
NG BB 31 Cause and Effect (XY) MatrixLeanleaders.org
 
NG BB 27 Process Capability
NG BB 27 Process CapabilityNG BB 27 Process Capability
NG BB 27 Process CapabilityLeanleaders.org
 
NG BB 12 High-Level Process Map
NG BB 12 High-Level Process MapNG BB 12 High-Level Process Map
NG BB 12 High-Level Process MapLeanleaders.org
 

Was ist angesagt? (19)

Op ex blueprint
Op ex blueprintOp ex blueprint
Op ex blueprint
 
NG BB 23 Measurement System Analysis - Introduction
NG BB 23 Measurement System Analysis - IntroductionNG BB 23 Measurement System Analysis - Introduction
NG BB 23 Measurement System Analysis - Introduction
 
NG BB 05 Roles and Responsibilities
NG BB 05 Roles and ResponsibilitiesNG BB 05 Roles and Responsibilities
NG BB 05 Roles and Responsibilities
 
NG BB 36 Simple Linear Regression
NG BB 36 Simple Linear RegressionNG BB 36 Simple Linear Regression
NG BB 36 Simple Linear Regression
 
NG BB 39 IMPROVE Roadmap
NG BB 39 IMPROVE RoadmapNG BB 39 IMPROVE Roadmap
NG BB 39 IMPROVE Roadmap
 
NG BB 28 MEASURE Tollgate
NG BB 28 MEASURE TollgateNG BB 28 MEASURE Tollgate
NG BB 28 MEASURE Tollgate
 
NG BB 06 Project Charter
NG BB 06 Project CharterNG BB 06 Project Charter
NG BB 06 Project Charter
 
NG BB 22 Process Measurement
NG BB 22 Process MeasurementNG BB 22 Process Measurement
NG BB 22 Process Measurement
 
NG BB 11 Power Steering
NG BB 11 Power SteeringNG BB 11 Power Steering
NG BB 11 Power Steering
 
Value Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge MgtValue Reference Model - Information and Knowledge Mgt
Value Reference Model - Information and Knowledge Mgt
 
Improvement in Production Processes in a Company in the Electronics Sector us...
Improvement in Production Processes in a Company in the Electronics Sector us...Improvement in Production Processes in a Company in the Electronics Sector us...
Improvement in Production Processes in a Company in the Electronics Sector us...
 
NG BB 26 Control Charts
NG BB 26 Control ChartsNG BB 26 Control Charts
NG BB 26 Control Charts
 
NG BB 17 Takt Time
NG BB 17 Takt TimeNG BB 17 Takt Time
NG BB 17 Takt Time
 
Sample project requirements_checklist
Sample project requirements_checklistSample project requirements_checklist
Sample project requirements_checklist
 
Altreonic methodology and solutions
Altreonic methodology and solutionsAltreonic methodology and solutions
Altreonic methodology and solutions
 
NG BB 20 Data Collection
NG BB 20 Data CollectionNG BB 20 Data Collection
NG BB 20 Data Collection
 
NG BB 31 Cause and Effect (XY) Matrix
NG BB 31 Cause and Effect (XY) MatrixNG BB 31 Cause and Effect (XY) Matrix
NG BB 31 Cause and Effect (XY) Matrix
 
NG BB 27 Process Capability
NG BB 27 Process CapabilityNG BB 27 Process Capability
NG BB 27 Process Capability
 
NG BB 12 High-Level Process Map
NG BB 12 High-Level Process MapNG BB 12 High-Level Process Map
NG BB 12 High-Level Process Map
 

Ähnlich wie Back-annotation of Simulation Traces with Change-driven Model Transformations

Design Time Validation for the Correct Execution of BPMN Collaborations
Design Time Validation for the Correct Execution of BPMN CollaborationsDesign Time Validation for the Correct Execution of BPMN Collaborations
Design Time Validation for the Correct Execution of BPMN CollaborationsJonas Anseeuw
 
Business Process Simulation - How to get value out of it (bpm portugal 2013)
Business Process Simulation - How to get value out of it (bpm portugal 2013)Business Process Simulation - How to get value out of it (bpm portugal 2013)
Business Process Simulation - How to get value out of it (bpm portugal 2013)Denis Gagné
 
Static and Adaptive Bug Fix Patterns
Static and Adaptive Bug Fix PatternsStatic and Adaptive Bug Fix Patterns
Static and Adaptive Bug Fix PatternsSung Kim
 
Developing and Visualizing Live Model Queries
Developing and Visualizing Live Model QueriesDeveloping and Visualizing Live Model Queries
Developing and Visualizing Live Model QueriesZoltán Ujhelyi
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsOscar Chaparro
 
Linking Data and BPMN Processes to Achieve Executable Models
Linking Data and BPMN Processes to Achieve Executable ModelsLinking Data and BPMN Processes to Achieve Executable Models
Linking Data and BPMN Processes to Achieve Executable ModelsXavier Oriol
 
Steps in Simulation Study
Steps in Simulation StudySteps in Simulation Study
Steps in Simulation StudyNalin Adhikari
 
Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationTowards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationAng Chen
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementJeyanthiR
 
Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...
Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...
Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...Mazzara1976
 
Process capability
Process capabilityProcess capability
Process capabilitypadam nagar
 
Innovative Engineering Workshop Npi 30march10
Innovative Engineering Workshop   Npi   30march10Innovative Engineering Workshop   Npi   30march10
Innovative Engineering Workshop Npi 30march10mccall1966
 
Innovation framework
Innovation frameworkInnovation framework
Innovation frameworkJames Basker
 
Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...
Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...
Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...guest78b81
 
1 Ads
1 Ads1 Ads
1 Adslcbj
 
Flexible business processes using jBPM5
Flexible business processes using jBPM5Flexible business processes using jBPM5
Flexible business processes using jBPM5Kris Verlaenen
 
What Nobody's Telling You About Agile and DevOps
What Nobody's Telling You About Agile and DevOpsWhat Nobody's Telling You About Agile and DevOps
What Nobody's Telling You About Agile and DevOpsTasktop
 
Data Analysis and Planning
Data Analysis and PlanningData Analysis and Planning
Data Analysis and Planningiswaarlc
 

Ähnlich wie Back-annotation of Simulation Traces with Change-driven Model Transformations (20)

Design Time Validation for the Correct Execution of BPMN Collaborations
Design Time Validation for the Correct Execution of BPMN CollaborationsDesign Time Validation for the Correct Execution of BPMN Collaborations
Design Time Validation for the Correct Execution of BPMN Collaborations
 
Business Process Simulation - How to get value out of it (bpm portugal 2013)
Business Process Simulation - How to get value out of it (bpm portugal 2013)Business Process Simulation - How to get value out of it (bpm portugal 2013)
Business Process Simulation - How to get value out of it (bpm portugal 2013)
 
Static and Adaptive Bug Fix Patterns
Static and Adaptive Bug Fix PatternsStatic and Adaptive Bug Fix Patterns
Static and Adaptive Bug Fix Patterns
 
Developing and Visualizing Live Model Queries
Developing and Visualizing Live Model QueriesDeveloping and Visualizing Live Model Queries
Developing and Visualizing Live Model Queries
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
 
Linking Data and BPMN Processes to Achieve Executable Models
Linking Data and BPMN Processes to Achieve Executable ModelsLinking Data and BPMN Processes to Achieve Executable Models
Linking Data and BPMN Processes to Achieve Executable Models
 
Steps in Simulation Study
Steps in Simulation StudySteps in Simulation Study
Steps in Simulation Study
 
Towards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and IntegrationTowards Service-based Business Process Modeling, Prototyping and Integration
Towards Service-based Business Process Modeling, Prototyping and Integration
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Harton-Presentation
Harton-PresentationHarton-Presentation
Harton-Presentation
 
Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...
Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...
Toward Design, Modelling and Analysis of Dynamic Workflow Reconfiguration: a ...
 
Process capability
Process capabilityProcess capability
Process capability
 
Innovative Engineering Workshop Npi 30march10
Innovative Engineering Workshop   Npi   30march10Innovative Engineering Workshop   Npi   30march10
Innovative Engineering Workshop Npi 30march10
 
Innovation framework
Innovation frameworkInnovation framework
Innovation framework
 
Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...
Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...
Multi-criteria meta-parameter tuning for mono-objective stochastic metaheuris...
 
Dill may-2008
Dill may-2008Dill may-2008
Dill may-2008
 
1 Ads
1 Ads1 Ads
1 Ads
 
Flexible business processes using jBPM5
Flexible business processes using jBPM5Flexible business processes using jBPM5
Flexible business processes using jBPM5
 
What Nobody's Telling You About Agile and DevOps
What Nobody's Telling You About Agile and DevOpsWhat Nobody's Telling You About Agile and DevOps
What Nobody's Telling You About Agile and DevOps
 
Data Analysis and Planning
Data Analysis and PlanningData Analysis and Planning
Data Analysis and Planning
 

Mehr von Ábel Hegedüs

Patching the gap in collaborating on models
Patching the gap in collaborating on modelsPatching the gap in collaborating on models
Patching the gap in collaborating on modelsÁbel Hegedüs
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseÁbel Hegedüs
 
VIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation PlatformVIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation PlatformÁbel Hegedüs
 
Query-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF modelsQuery-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF modelsÁbel Hegedüs
 
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011Ábel Hegedüs
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLsÁbel Hegedüs
 
Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010Ábel Hegedüs
 

Mehr von Ábel Hegedüs (7)

Patching the gap in collaborating on models
Patching the gap in collaborating on modelsPatching the gap in collaborating on models
Patching the gap in collaborating on models
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
 
VIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation PlatformVIATRA 3: A Reactive Model Transformation Platform
VIATRA 3: A Reactive Model Transformation Platform
 
Query-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF modelsQuery-driven soft interconnection of EMF models
Query-driven soft interconnection of EMF models
 
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011Model-driven framework for Guided Design Space Exploration presented at ASE 2011
Model-driven framework for Guided Design Space Exploration presented at ASE 2011
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLs
 
Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010Guided Trajectory Exploration of GT systems presented at PNGT 2010
Guided Trajectory Exploration of GT systems presented at PNGT 2010
 

Kürzlich hochgeladen

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Kürzlich hochgeladen (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

Back-annotation of Simulation Traces with Change-driven Model Transformations

  • 1. Back-annotation of Simulation Traces with Change-driven Model Transformations Ábel Hegedüs, Gábor Bergmann, István Ráth, Dániel Varró (hegedusa@mit.bme.hu) Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Software Engineering and Formal Methods 2010, Pisa, Italy
  • 2. Motivation - BPEL Receive request Event: Cancel Calculate Rating Rollback changes Accept? Yes No Throw Error Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Will the business process assure this? Send reply
  • 3. Outline of the talk  Motivation  Introduction – BPEL verification  Back-annotation problem  Transformation-driven Back-annotation  Summary  Future Work
  • 4. 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.
  • 5. Verification of BPEL Business Requirement Process
  • 6. Verification of BPEL Receive request Business Requirement Process
  • 7. Verification of BPEL Every received request must result in a reply! Business Requirement Process
  • 8. Verification of BPEL Business Requirement Process Transform Model
  • 9. Verification of BPEL Business Requirement Process Transform Model Formal model (Petri Nets)
  • 10. Verification of BPEL Business Requirement Process Transform Model Formal model Token Transition Place (Petri Nets)
  • 11. Verification of BPEL Business Requirement Process Transform Formalize Model Theorem
  • 12. Verification of BPEL Business Requirement Process G [ Request => Transform Formalize F (Reply) ] Model Theorem Linear Temporal Logic formula
  • 13. Verification of BPEL Business Requirement Process Transform Formalize Model Theorem Check Model checker
  • 14. Verification of BPEL Business Requirement Process Transform Formalize Model Theorem Check Model checker Result
  • 15. Verification of BPEL Business Requirement Process Transform Formalize Model Theorem Check Model checker Result Proved / Counter-example
  • 18. Processing results  Counter-example = Execution Trace o Sequence of steps representing changes of the model
  • 19. Processing results  Counter-example = Execution Trace o Sequence of steps representing changes of the model
  • 20. Processing results  Counter-example = Execution Trace o Sequence of steps representing changes of the model Transition firing
  • 21. Processing results  Counter-example = Execution Trace o Sequence of steps representing changes of the model Transition firing Model change
  • 22. 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
  • 23. Processing results  Counter-example = Execution Trace 100s of steps, Often several multiple changes/step 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
  • 24. 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 PNFiring trans Transition
  • 25. 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
  • 26. 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
  • 27. Business Process Execution Traces  Missing dynamic semantics BPEL Activity • Not Startable  Describe dynamic state of a process • Startable • Running o Activity / Variable states • Finished • Interrupted o Events, triggers, variable manipulations  Semantics definition driven by structural modeling approach  Dynamic and trace metamodels for BPEL
  • 28. Business Process Execution Traces  Missing dynamic semantics BPEL Activity Startable BPEL Activity Runs  Describe dynamic state of a process Activity Executed BPEL o Activity / Variable states o Events, triggers, variable manipulations  Semantics definition driven by structural modeling approach  Dynamic and trace metamodels for BPEL
  • 29. Business Process Execution Traces  Missing dynamic semantics Static Metamodel  Describe dynamic state of a process o Activity / Variable states <<uses>> <<uses>> o Events, triggers, variable manipulations Trace Dynamic Metamodel Metamodel  Semantics definition driven by structural modeling <<uses>> approach  Dynamic and trace metamodels for BPEL
  • 30. 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
  • 31. Abstraction gap  Lost information Delete Tokens o Decision conditions Add Tokens 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
  • 32. Abstraction gap  Lost information Select Transition Delete Tokens o Decision conditions Fire Transition Add Tokens o Variable values, parts Select Transition o Timing (event ordering) Fire Transition  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
  • 33. Abstraction gap  Lost information Select Transition BPEL Activity Startable Delete Tokens o Decision conditions Fire Transition BPEL Activity Add Tokens Runs o Variable values, parts Select Transition BPEL Activity o Timing (event ordering) Fire Transition Executed  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
  • 34. Abstraction gap  Lost information o Decision conditions initial o Variable values, parts stop o Timing (event ordering)stopped Petri Net B2PN BPEL subnet Element  Granularity mismatch failed Traceability link o NOT 1-to-1 mapping final o Non-trivial mapping problems (interleaving)  Traceability requirements o PN elements grouped into subnets for simplifying the traceability model
  • 35. 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
  • 36. 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 Tr: Transition change trans trans PNF: PNFiring o Inspect the structure of the static model : Subnet B2PN • Graph patterns defined forBA: BPEL Activity 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
  • 37. 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
  • 38. Trace mapping – simple changes initial 1. Identification of BPEL process elements which are affected by the PNstart stop change o Staticstopped traceability model generated during the structural transformation failed 2. Decide BPEL change type represented by the PN change final 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
  • 39. 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
  • 40. Trace mapping – simple changes 1. Identification of BPEL process elements which BPEL Trace are affected by the PN change next o BPEL steptraceability model generated during the Static BPEL step structural transformation Activity Activity Activity 2. Decide BPEL change type represented by the PN Startable next Runs Executed next change Change Change o Inspect the structure of the static model State State next • 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
  • 41. initial initial stop stop stopped inner stopped inner trans trans failed failed final final
  • 42. 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
  • 43. 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 initial  One-to-many o One PN change multiple BPEL changes stop o Persisted as substeps of a macro step in the trace stopped inner  Interleaving trans failed o Parallel execution, relevant changes have to be selected o Petri Net subnets separate transitions final
  • 44. 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
  • 45. 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 TR MBPEL map CHMPN CHMBPEL IF MPN’ TR MBPEL’
  • 46. 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 Record model • Process editor with only manipulation interface changes MPN TR MBPEL map CHMPN CHMBPEL IF MPN’ TR MBPEL’
  • 47. 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 Traceability model • Process editor with only manipulation interface MPN TR MBPEL map CHMPN CHMBPEL IF MPN’ TR MBPEL’
  • 48. 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 Execute back- • Process editor with only manipulation interface annotation MPN TR MBPEL map CHMPN CHMBPEL IF MPN’ TR MBPEL’
  • 49. 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 Apply MPN TR MBPEL changes map CHMPN CHMBPEL IF MPN’ TR MBPEL’
  • 50. Back-annotation with CDT  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
  • 51. Back-annotation with CDT  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, Step 1 Appear instead of manual initialization PNF: PNFiring Tr: Transition trans
  • 52. Back-annotation with CDT  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, Step 1 2 Appear instead of manual initialization PNF: PNFiring Tr: Transition trans trans trans B2PN : Subnet Match BA: BPEL Activity
  • 53. Back-annotation with CDT  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, 3 Step 1 2 Appear PNF: PNFiring instead of manual initialization PNF: PNFiring Tr: Transition Tr: Transition trans trans trans trans trans Create B2PN B2PN ::Subnet Subnet Match activity BA: BPEL Activity BA: BPEL Activity BAR: BPELActivityRuns
  • 54. Presentation of BPEL traces  Dynamic behavior requires dynamic presentation
  • 55. Presentation of BPEL traces  Dynamic behavior requires dynamic presentation BPEL Trace next BPEL step BPEL step Activity Activity Activity Startable Runs Executed next next Change Change State State next
  • 56. Presentation of BPEL traces  Dynamic behavior requires dynamic presentation
  • 57. 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
  • 58. 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
  • 59. 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
  • 60. 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
  • 61. 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
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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 Hidden formal methods
  • 66. Motivating scenario (cont.) Accept? Yes No Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 67. Motivating scenario (cont.) Receive request Accept? Yes No Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 68. Motivating scenario (cont.) Receive request Calculate Rating Accept? Yes No Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 69. Motivating scenario (cont.) Receive request Event: Cancel Calculate Rating Accept? Yes No Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 70. Motivating scenario (cont.) Receive request Event: Cancel Calculate Rating Rollback changes Accept? Yes No Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 71. Motivating scenario (cont.) Receive request Event: Cancel Calculate Rating Rollback changes Accept? Yes No Throw Error Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 72. Motivating scenario (cont.) Receive request Event: Cancel Calculate Rating Rollback changes Accept? Yes No Throw Error Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 73. Motivating scenario (cont.) Receive request Returns with a web- service error Event: Cancel Calculate Rating Rollback changes Accept? Yes No Throw Error Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Send reply
  • 74. Motivating scenario (cont.) Receive request Returns with a web- service error Event: Cancel Calculate Rating Rollback changes Accept? Yes No Throw Error Send offer Send rejection Requirement: Receive answer Receive Every received request update request must result in a reply! No Yes Update? Not executed = Send reply No reply
  • 75. 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
  • 76. Summary  Reusable dynamic back-annotation approach: o With 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)
  • 77. 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!