Runtime Operations Clause Samples
Runtime Operations. For this part of our work, we are assuming a monitoring subsystem that can capture service execution-related events from various sources and detect if some SLA term is being violated. The process actually starts much earlier, during negotiation. At that time already, we must verify that terms of an agreement can actually be monitored [20]. Following this verification step, as part of the negotiation process, a SLA may be formally established, perhaps relying on other SLAs for its existence. While the service is being consumed, incoming events are processed and terms (in the form of boolean variables of the BDD) are examined to see if a violation has occurred. The ordering of the variables allows the linear-time confirmation, starting from the root and traversing the diagram towards terminal nodes. As each variable evaluates to true or false, the respective child (then/else) is followed until a terminal node is reached. If that node is 0, then there exists a violation, and the reason of failing at that specific part of the SLA must be assessed. Depending on whether this failure happened on a path which was outsourced, or not, there may be a re-negotiation initiated, penalties claimed, or simply adjust the method to estimate success probabilities for different paths. Additionally to corrective actions, such an event must be logged to be reused in next negotiation cycles. The exact methodology to use in order to avoid unnecessary evaluations of the complete diagram, depends on the monitoring system, the way to evaluate each variable, and the acceptable time thresholds for reaction to violations. A complete definition of such methodologies is out of scope for this work.
