Default Compensation Order by icf1n7h


									Default Compensation Order

   Satish Thatte
   Dieter Roller
Current Statement is Imprecise
   Current Statement is
       Run all available compensation handlers for
        immediately enclosed scopes in the reverse order
        of completion of the corresponding scopes
   Implies stack unraveling order to most people
       Problematic implications in the presence of
        concurrency and control links
   We need to define a partial order that
    respects completion at leaf scopes
Restatement of the Problem
   Default compensation traverses a tree of
    compensation handlers for successfully completed
    scopes starting from the original fault handler
   Real compensation occurs at the leaves where
    custom handlers are
   The order among these leaf scopes is the
    semantically significant question
   The reverse order could be about respecting
       Modeled order imposed by the process definition
       Contingent order imposed by resource contention
   Contingent order is hard to keep track of
       Must account for potential as well as actual contention
S3                         Arrows indicate
              I            control
                           such as
                           sequence or link
     S1               S2
          A       E

          B   D   F

          C       G

                             Bold activity
                             circles have
              H              compensation
Needs Flipping Between “Stacks”

   The operation of custom compensation
    handlers depends on a “stack” of parent
    scope handlers for shared state
       Per resolution of Issue#3
   Multiple of these “stacks” will need to be
    simultaneously active during default
    compensation as shown on the next slide
Compensation Order for the example


       S1           I                    S2

   A   B    C                            F    H
   5   4    2                            3    1

                Compensation order
                indicated by numbering

To top