Comprehensive Monitor-Oriented Compensation Programming
نویسندگان
چکیده
Compensation programming is typically used in the programming of web service compositions whose correct implementation is crucial due to their handling of security-critical activities such as financial transactions. While traditional exception handling depends on the state of the system at the moment of failure, compensation programming is significantly more challenging and dynamic because it is dependent on the runtime execution flow — with the history of behaviour of the system at the moment of failure affecting how to apply compensation. To address this dynamic element, we propose the use of runtime monitors to facilitate compensation programming, with monitors enabling the modeller to be able to implicitly reason in terms of the runtime control flow, thus separating the concerns of system building and compensation modelling. Our approach is instantiated into an architecture and shown to be applicable to a case study.
منابع مشابه
Monitor-Oriented Compensation Programming Through Compensating Automata
Compensations have been used for decades in areas such as flow management systems, long-lived transactions and more recently in the service-oriented architecture. Since compensations enable the logical reversal of past actions, by their nature they crosscut other programming concerns. Thus, intertwining compensations with the rest of the system not only makes programs less well-structured, but ...
متن کاملRuntime Verification and Compensations
As systems grow more complex, it becomes increasingly difficult to ensure their correctness. One approach for added assurance is to monitor a system’s execution so that if a specification violation occurs, it is detected and potentially rectified at runtime. Known as runtime verification, this technique has been gaining popularity with its main drawback being that it uses system resources to pe...
متن کاملDelta-Oriented Monitor Specification
Delta-oriented programming allows software developers to define software product lines as variations of a common code base, where variations are expressed as so-called program deltas. Monitor-oriented programming (MOP) provides a mechanism to execute functionality based on the execution history of the program; this is useful, e.g., for the purpose of runtime verification and for enforcing secur...
متن کاملSeparating Compensation Concerns and Programming them with Compensating Automata
Compensations have been used for decades in areas such as flow management systems, long-lived transactions and more recently in the service-oriented architecture. Since compensations enable the logical reversal of past actions, by their nature they cross-cut other programming concerns. Thus, intertwining compensations with the rest of the system not only makes programs less well-structured, but...
متن کاملAn Aspect-Oriented Model to Monitor Misuse
The efficacy of the aspect-oriented paradigm has been well established within several areas of software security as aspect-orientation facilitates the abstraction of these security-related tasks to reduce code complexity. The aim of this paper is to demonstrate that aspect-orientation may be used to monitor the information flows between objects in a system for the purposes of misuse detection. ...
متن کامل