External Transaction Logic (ETR) is an extension of logic programming useful to reason about the behavior of agents that have to operate in a two-fold environment in a transactional way: an internal knowledge base defining the agent’s internal knowledge and rules of behavior, and an external world where it executes actions and interact with other entities. Actions performed by the agent in the external world may fail, e.g. because their preconditions are not met or because they violate some norm of the external environment. The failure to execute some action must lead, in the internal knowledge base, to its complete rollback, following the standard ACID transaction model. Since it is impossible to rollback external actions performed in the outside world, external consistency must be achieved by executing compensating operations (or repairs) that revert the effects of the initial executed actions. In ETR, repairs are stated explicitly in the program. With it, every performed external action is explicitly associated with its corresponding compensation or repair. Such user defined repairs provide no guarantee to revert the effects of the original action. In this paper we define how ETR can be extended to automatically calculate compensations in case of failure. For this, we start by explaining how the semantics of Action Languages can be used to model the external domain of ETR, and how we can use it to reason about the reversals of actions.
|Title of host publication||Lecture Notes in Artificial Intelligence|
|Publication status||Published - 1 Jan 2013|
|Event||CLIMA XIV: 14th International Workshop on Computational Logic in Multi-Agent Systems - |
Duration: 1 Jan 2013 → …
|Conference||CLIMA XIV: 14th International Workshop on Computational Logic in Multi-Agent Systems|
|Period||1/01/13 → …|