Command actions are _(start)stopWorkflow_, _replaceService_, {color:#0000ff}{_}removeBranch{_}{color}, {color:#0000ff}{_}executeFScript{_}{color} (blue ones are work in progress).
In the case of a more complex adaptation action (that would consists in a combination of these unitary actions), a BPEL workflow appears well suited to orchestrate the reconfiguration. These reconfiguration BPELs are executed by a dedicated BPEL engine located on the FCL node of Petals ESB.
This look-up table can be filled at deployment or, in a more interesting way, it can be fed along the workflow execution, thanks to the second FCL. Indeed, in case of a unknown SLA violation, for which no reconfiguration action is foreseen, an indirection is made on the second FCL. In this higher level adaptation process, an expert can design (or select or configure) a particular BPEL in order to add a tuple in the first FCL table.
Finally, if a violation is detected (a partner down for instance), a reconfiguration action or BPEL is selected, stored and executed in order to adapt the running workflow (replace a missing partner for instance).
h1. Current scenario specification
h2. Adaptation for a non responding service
In this scenario, an agreement is defined, that indicates a Web Service (fireman) MUST answers in less than X seconds. Thanks to an enhancement of the WSDM implementation,
timestamps are sent at T ~2~ and T ~4~ (at the moment, timestamps are sent only at T ~4~). Thanks to the intermediate T ~2~ report, a too high latency can be detected during the invocation.
Then the violation implies a replacement of the invoke activity endpoint (see the following figure).