External Transaction Logic: reasoning and executing transactions involving external domains

Tracking #: 570-1776

Authors: 
Ana Sofia Gomes
José Júlio Alferes

Responsible editor: 
Guest Editors RR2013 Special Issue

Submission type: 
Full Paper
Abstract: 
In this work we present External Transaction Logic, a logic that extends Transaction logic with the ability to model and execute transactions requiring interactions with external entities, as e.g. external web-source, web-services or agents. Transactions are defined in a logic programming style by the composition of internal and external primitives. These primitives are incorporated in a quite general manner, as a parameter of the External Transaction Logic theory, allowing the specification of transactions integrating knowledge and actions from multiple sources and semantics. Since one has different control over internal and external domains, different transaction properties are ensured depending on where actions are executed. Namely, internal actions executed in a knowledge base that we fully control, follow the standard ACID model of transactions. Contrarily, transactional properties over actions executed externally need to be relaxed, as it is impossible to rollback actions executed in a domain that is external. To deal with this, external actions can be defined along with compensating operations. If a transaction fails after executing some external action, then these compensations are executed in a backward order to achieve a relaxed model of atomicity. We provide a model theory for External Transaction Logic, that can be used to reason about the conditions of execution of transactions that require the issuing of both internal and external actions on abstract knowledge bases with potentially different state semantics. We also present here a corresponding proof theory (sound and complete w.r.t. the model theory) that provides means to execute such transactions in a top-down manner.
Full PDF Version: 
Tags: 
Reviewed

Decision/Status: 
Major Revision

Solicited Reviews:
Click to Expand/Collapse
Review #1
Anonymous submitted on 13/Dec/2013
Suggestion:
Minor Revision
Review Comment:

* Summary of the Review and Overall Assessment:

The present submission reports on the definition of a logical framework called External Transaction Logic (ETR), an extension of Transaction Logic dealing with the presence of external actions. The authors motivate and point out the limitations of standard Transaction Logic and propose ETR as a conservative extension thereof with which one can represent and reason with external actions, i.e., actions that take place on external domains and resources, a challenging problem for existing frameworks.

The main feature of ETR is that it allows for both reasoning about and executing actions that are performed in both internal and external knowledge bases. In particular, ETR allows for a simple yet elegant formalization and execution of rolling back actions performed in external knowledge bases (external actions that have failed and therefore have to be rolled back as though nothing had happened).

The main contributions of the paper can be summarized as follows: (i) the definition of a proper extension of the logic TR with an intuitive semantics; (ii) the provision of a proof procedure for ETR that is shown to be sound and complete with respect to the given semantics, and (iii) an assessment of several action formalisms as the component for specifying action effects. In particular, the authors show that in the absence of external transactions, both logics ETR and TR coincide.

The paper addresses a topic that is interesting on its own right, but that is also relevant to a class of different yet interrelated communities such as knowledge representation and reasoning, business processes modeling, semantic web and logic programming, to mention but a few. Overall the paper looks good, the contributions interesting, the results are significant and the examples insightful. As far as I could check, all authors' claims and technical results are correct. My overall recommendation is therefore to accept the paper for publication in this special issue of the Semantic Web Journal after minor revisions mentioned below.

* Specific Comments:

- Definition 20: Strictly speaking, you cannot say that (4) is "true", since \models-statements, which are statements in the meta-language, are not assigned truth values. One can say these statements "hold" (cf. discussion after Definition 20).

- In Theorem 3, could you make the construction of \pi' from \pi more formal?

- Related to update operators for updating and revising knowledge bases, in particular in action contexts, are the References [1] and [5] provided below.

- To make Section 4 more comprehensive, the authors could also provide instantiations for modal-based logics of action like those in References [3,6,7] below as external oracle definitions.

- I haven't thought it through carefully yet, but I have a feeling that ETR could be a nice framework within which to deal with the problem of ontology versioning [2,4]. This might be an application worthy of exploration.

* Comments about Presentation, Typos, etc.:

Overall, the text is well written, structured and well presented. Below are just a few suggestions on how to improve the presentation and readability of the paper:

- In many places the text contains bad citations (wrong form of citing/referring to a citation). For example, the authors sometimes use a citation as a noun or an object, which makes the reading a bit unnatural.

- Replace the space before a \cite command with a tilde (~) to prevent a line breaking just before the reference.

- In some places, the word "semantic" should be replaced with "semantics".

- "Sound and complete with the semantics" should be "sound and complete with respect to the semantics" (more than once in the text).

- "is able infer" => "is able to infer".

- "a SLD" => "an SLD". Also "a XML" => "an XML".

- Second paragraph of Section 2 (Background): "while \phi\land\psi define the non-deterministic choice…" I think it should be \phi\lor\psi.

- "Formulas consider to be true" => "considered". In the same sentence, where it says "true in d" I think it should be "true in i".

- "to a Herbrand structures" => "structure".

- "an TR formula" => "a TR formula".

- "sound and complete with the executional" => "with" should be "with respect to".

- There should be a comma (,) after every occurrence of "i.e.".

- "a giving state" => "a given state".

- In Definition 7: "let a and be an atomic formula".

- Many occurrences of "were" should be replaced with "where".

- "in a implementation" => "in an implementation".

- "This is is no longer".

- "Recovers form" => "recovers from".

- "are not use to satisfy" => "are not used to satisfy".

- "and and update"

- "battle of tests" => "battery of tests".

- "will use the the terms".

- "force" => "enforce" ?

- "this not the case in ETR".

- "deals with with failures".

- "use the the primitive".

- Last sentence before Section 3.4: \land is a symbol in the object language, not in the meta language.

- "is inherit from" => "is inherited from".

- "Thend".

- In the References list, please capitalize DL, ABoxes, etc. Your Reference [48] should read "in the situation calculus".

* Relevant Literature:

[1] Eiter, T.; Erdem, E.; Fink, M.; and Senko, J. 2005. Updating action domain descriptions. In Proc. 19th Intl. Joint Conf. on Artificial Intelligence (IJCAI'05), 418-423. Morgan Kaufmann.

[2] E. Franconi, T. Meyer, I. Varzinczak. Semantic Diff as the Basis for Knowledge Base Versioning. Workshop on Non-Monotonic Reasoning, 2010.

[3] A. Herzig and I. Varzinczak. Metatheory of actions: beyond consistency. Artificial Intelligence, 171:951-984, 2007.

[4] B. Konev, D. Walther, and F. Wolter. The logical difference problem for description logic terminologies. In A. Armando, P. Baumgartner, and G. Dowek, editors, Proceedings of the 4th International Joint Conference on Automated Reasoning (IJCAR), number 5195 in LNAI, pages 259-274. Springer-Verlag, 2008.

[5] I.J. Varzinczak. On action theory change. Journal of Artificial Intelligence Research (JAIR), 37:189-246, 2010.

[6] D. Zhang and N. Foo. EPDL: A logic for causal reasoning. In B. Nebel, editor, Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI), pages 131-138. Morgan Kaufmann Publishers, 2001.

[7] D. Zhang and N. Foo. Interpolation properties of action logic: Lazy-formalization to the frame problem. In S. Flesca, S. Greco, N. Leone, and G. G. Ianni, editors, Proceedings of the 8th European Conference on Logics in Artificial Intelligence (JELIA), number 2424 in LNCS, pages 357-368. Springer-Verlag, 2002.

Review #2
Anonymous submitted on 22/Jan/2014
Suggestion:
Reject
Review Comment:

This paper is about extending transaction logic to deal with
external domains/sources/dbs

This paper is rather puzzling. The paper is not clear about the concrete
and precise problems in this direction. Nor is it about the results obtained.
All this should be clear in the introduction. Why should someone
read the paper without knowing more or less what is to be found later, in
the body in it?

For me, and I have read several of the early papers on transaction
logic and attended several presentation on it, is about specifying
transactions in connection with a database

Execution is another thing; and the classic ACID conditions are
more about implementation and running transactions than about
specifying them. However, this paper starts by repeating several
times that they want to take care of the ACID conditions. They
never clarify what they are or mean in this setting (let alone that
they do not even mention what they are in the classic setting). For
example, what is "consistency" here? They do not even mention
constraints or what they appear.

As opposed to what the author's several claims at the beginning of the paper,
the original papers on transaction logic hardly, if ever, mention the ACID
properties.

The examples in the introduction do not convey what a transaction (or specification
of it) is in transaction logic. There is not high-level description of what transaction
logic is about.

Actually, several early claims make things even more confusing. For
example, (bottom of page 1, beginning of pare 2), the authors say
something about "independence from state and update semantics". It
is not clear what they mean. A bit later, they emphasize a couple
of reasoning tasks that were never among the main and early ones in
the context of transaction logic, namely reasoning about
equivalence and implication of transactions. Things become ene more
confusing later on the same column: several semantics are mentioned
here, even well-founded semantics! I guess those semantics refer to
the external domains, because transaction logic (TRL) as we know it
already has a semantics. For someone who does not know this, the
claim here must be beyond comprehension.

Later in the same column (page 2, col. 1), there is a program. What is that exactly? A
transaction? The basis for specifying and running a transaction (which is something different).
If you combine this with a statement in the middle of col. 2, page 2 about a "transaction
statement being of the form P, (D1,D2, ...Dn) \models t", nothing can be understood. The
latter is a meta-statement, not one in TRL!

I understand that Kifer, one of the creators of TRL, applied it rather recently to web service
composition. I would assume that he should somehow address the issue of external domains in this
context. I do not see an early discussion of this.

I should say that I have seen better materializations of this kind of work, namely extensions
of a logic formalism (as TRL is) to handle interaction with external domains. For example, the work
done by Thomas Eiter's group on extensions of answer set programs that allow to access external data
sources.

Bottom line: this paper is not properly selling:

(a) the relevance, novelty and need of (for) this research.
(b) what TRL is about and what for, and what it would be after the extension promised by the authors.
(c) the precise scientific and technical problems.
(d) the scientific/technical results obtained.

Furthermore, many claims have to be revised, because they are
misleading, unclear or simply wrong.

Making all this clear should guide the writing of the rest, the
main body of the paper. After such a revision, I would be happy to
go through the details of the paper. Hence my suggestion to "reject and
resubmit".

Review #3
By Michael Kifer submitted on 04/Feb/2014
Suggestion:
Major Revision
Review Comment:

[editorial note: this review was converted from a pdf file; bold face text was emulated by _text_, sub- and superscript using the LaTeX notation; some formatting was lost in the conversion (e.g. \varphi vs \phi, {\cal K}) but were left as is for clarity; one item was described verbally using a LaTeX-like notation (arrow with text above it)]

1 General

The paper proposes an extension of Transaction Logic (TR), called External Transaction Logic (ETR), which incorporates external actions. The main difference with the actions used in TR is that the external actions cannot be rolled back if they fail. The main contributions are the extended semantics, which is not a trivial extension, and an extended proof theory that can handle external actions.

All in all, the paper definitely deserves to be published, but only after a major revision. The main problems in the current version is poor English, and the proofs in the appendixes are subpar to put it mildly. A big problem with the proofs is that sloppy and inadequate English, which is already felt as a major problem in the main part of the paper, gets in the way of understanding the proofs. I only got through 20% of the proofs and the last straw that caused me to stop reading was a reference to Lemma 19 in the proof of Lemma 8.

As far as English is concerned, the quality is very uneven, which leads me to think that the problem is sloppiness rather than the inadequate command of the language. The authors must spend time to fix innumerable issues in the English department. I marked only a small fraction of the lapses I found but even this amount is considerable. These include missing/incorrect articles, missing/wrong endings for the plural, tense, and the like. Lapses like “rollbacked” and “rollbacking” instead of “rolled back” and “rolling back,” “composed by” instead of “composed of,” missing propositions and, sometimes, entire phrases. In some other places all these are used correctly, so it is not the case that the authors don’t know the correct forms of these phrases.

There is also fair amount of words that are used completely out of place, like “enunciation of results,” “definition retrieves a path.”

The authors can find the specific places where these lapses occur via simple search, so, for the most part, I will not be pointing them out below.

2 Details

The following is a list of detailed comments in the order that corresponds to the flow of the text. The importance of these comments varies. The comments are identified either by a line number within the page/column or by a line number within a numbered example, lemma, and the like.
p.2,c.1,l.6: with _respect to_ the semantics
Ex1,l.1: As _an_ illustration
p.2,c.2,par2. The semantic of TR talks about _how_ ... To remind: this is just one of the uses of TR: [5,49] talk about reasoning about actions rather than the details of execution.
p.4,c.2,line above Sec 2 heading: “proofs of the anunciated results” −−> ... our results ...
Sec 2,par3,l.7: while φ ∧ ψ −−−> φ ∨ ψ
p.5,c.1,l.1: condidere_d_
l.4: denoted as −−> , called
+3 lines: under −−> in
Def 4: is a model of _a_ TR formula
p.7,c.2,ex8,l.12: consider −−> suppose
p.8,c.1,l.6: Thus, in a implementation −−> Thus, from the implementation ...
+3 lines: the umpteenth occurrence of the aforesaid nonexistent verb “rollback.”
+2 lines: alternative branching in a proof −−> ... branch from the proof theory perspective
+4 lines: double “is”
+4 lines: branching −−> branch.
p.8,c.1,l-8: use −−> used
Sec 3.1 minus 1 line: with _respect to_ ETR
Definition 8: Shouldn’t you say that ext(a,noop) cannot change the external state? Also, right after that definition, expand on the _ext_ primitive. Talk about the novelty of the semantics only after you explained the notation in Def 8.
Next paragraph: the stuff about the restrictions on the negation. This is not a proper way to define things. Here you are defining the syntax of your language and this important aspect cannot be crammed into one broken paragraph. The issue here is not that you are limiting negation to atoms, but that you are now limiting the syntax explicitly to statements of the form f oo ← bar1 ⊗ bar2 ⊗ .... This deserves a much more conspicuous place in that section.
Ex9, l.11: a treatment cannot be eligible – people can be: eligible −−> suitable.
p.9,c.2,l.22: delete “seen”
p.10, c.1,l-1: mapping from _pairs_ of external states _to_ formulas ...
c.2,l.3: execute _at_ state _identified by_ E_1 yielding the state _identified by_ E_2.
+4 lines: delete “at all”
c.2,bottom: Thus, we assume ... states. You already said this at the top of that column. I noticed a number of this kind of unhelpful repetitions.
p.11,c.1,l.11: how _it_ can be ...
Def9: he path notation is weird, is confusing, and is hard to parse in some contexts (e.g., when commas separate unrelated things). I strongly suggest to use something like S_1 \over{A_1}{−→} S_2 \over{A_2}{−→} ... \over{A_{k-1}}{−→} S_k. [editorial note: \over{A}{-->} denotes an arrow over which A is typeset]
+1 line: help the semantics _deal with_ recovery ...
+5 lines: allow −−> allows
+2 lines: advent −−> event
+3 lines: but now _they cater_ also _to_ the external oracle. Even better to say “but now they incorporate
the external oracle” or something like that.
Def 10: Is φ an atom? You said it is an arbitrary formula, but in items 2,3 in that definition you are writing (D_1, E), φ, (D_2, E), which has been defined only if φ is an oracle atom.
c.2, 1st par: Poor English here stands in the way of understanding. Just say that oracle atoms cannot occur in the rule heads and that this is not a limitation of the expressive power. Then give your explanation.
Def 11: Very badly written definition. On top of it, I don’t think you are actually using it.
par above Def 13: with...state −−> consisting of... state_s_
p.12,c.1,par 3: You already said this couple of times, but the third time isn’t a charm: English has deteriorated significantly compared to the previous two mentions of this trivial point. Delete the paragraph.
Ex 10: but where ... replaced −−> but now expressions like ... are replaced with external ...
c.2,par 3: In partial .... You already said this before.
c.2, l-11: so that _previously executed_ external actions can be ...
l-9: that either φ succeeds _classically_ (|=_c) _on_ path ...
p.13,c.1,l.6: obtained by −−> composed of
ll.11-12: double “with”
l.12: of −−> to
+2 lines: in case (no “the”). Same in the next line.
+4 lines: points −−> items. This occurs several times later in the same column
+1 line: _a_ “legitimate” _failure as one_ where ...
+2 lines: such −−> this
+2 lines: point −−> claim
+1 line: constrain_ed_
Next in Proposition 1 ... point: delete this part. Instead: “Claim 2 in the proposition states that ...”
a few lines below: “where a φ” – delete “a”. Same line: “executed, then” −−> executed, it is the case that ...
+2 lines: delete “the” in front of “partial”
+1 line: point −−> claim
Prop 1, claim 1: This claim seems very sloppy and even vacuous. First, how is “a” related to φ in that claim? Second, _failop_ seens to always satisfy this claim. Since you never related the “a” to φ, you have not really stated anything in this claim.
Def 15: give a clarifying example after the definition.
Definition 16. Previously you were using b1 ⊗ ... ⊗ b_k for compensation and now you are suddenly introducing new notation like A^{−1}? Choose one notation and stick with it.
General question about Defs 15-17. You never really said that compensation cannot fail, did you? It is a conjunction of oracle actions, but these actions might not stack together. What does such a failure mean to the theory? In practical terms?
p.14,c.1,l.8,9: the path as follows −−> the following path
c.1, l.-1: definition “retrieves” path. Definitions don’t “retrieve” anything. They “define” things. A dog may retrieve a ball, a query may retrieve data. But definitions don’t.
c.2, l.4: what −−> which
l.9 after Def 18: rollback for the initial state −−> roll back to the initial state
+1 line: branching −−> branch
c.2,l-2: formalize −−> state
p.15, par after Th2: Due to .... This is related to my previous comment about your restriction on negation. You should define the restriction properly. Maybe here so as to not split the description. In any case, this whole sentence “Due ...rule” is poorly written both mathematically and grammatically. Clearly, satisfying the rule bodies is not enough to satisfy rules, despite what this sentence says. You can drop this sentence without any harm.
c.1,l.-6: logical account _of execution of_ ETR
+1 line: inherite_d_
Th 3: paths π and π'. Give an inline example to show how one is obtained from the other. Will make the statement of the theorem much clearer.
p.16,c.1,par6: relate these rules to Fig 1, i.e., say that they correspond to rules 1-4. But don’t restate the meaning in English. At least, don’t restate the meaning in that kind of English.
Next par: contrarily. Not “contrarily” but “in addition.” Something like “Moreover, in addition to the TR proof rules, ETR includes a rule to deal ...”
+2 lines: handle −−> deal
+3 lines: “to rollback.” need to roll internal actions back, compensate the executed external actions,...
c.2, l.-3,4: “Contrarily ....” There is really no such a word. At best, it is a very clumsy word. Say this: “On the other hand, open world reasoning assumes that ...”
Fig 1: if all conditions hold −−> if all of the following conditions hold
The 4 items at the bottom of Fig 1: This is very terse and obscure. You need to explain this much better and _give an example_! I suggest not to use a figure here, but itemize the rules and provide an explanation immediately after each item.
p. 18, c.1, l.-16: of the following _form_
c.2, l.20: query q over _the KB_ K
c.2,l-4: as −−> a
p.19, Def 23. What does it mean “iff q ← ∃y conj(c, y)?” Such a rule is supposed to be true always. What you must have meant was K |= ∃y conj(c, y). Moreover, all that stuff about conjunctive queries on p.18 is not needed, including Eq (5). All you need are the statements like K |= ∃y conj(c, y) in your definitions and claims.
p.20, par 4, “To achieve...” Again, q drops in out of nowhere. As I said, you don’t need these q’s and the stuff about conjunctive queries on p.18.
General comment on Sec 4. I found this section not particularly useful or insightful. You give a bunch of obvious definitions and then don’t follow up on them to explain the consequences of using this or that oracle. So what if you gave some Holds-statements in Example 14 or in the event calculus part? What difference does it make if you use sitcalc or some other formalism? You have not shown anything interesting that illustrates how the choice of the oracle affects things. Without such considerations, the reader is left with the feeling that s/he was dragged through a series of tedious definitions without getting any reward. Same issue with Examples 15 and the DL oracle.
p.23,c.1,l-6: consider−−>considered
c.2,l-3: receives −−> uses
p.24,c.1, middle: “However, these solutions ...” What does “these” refer to?
c.2, middle: the discussion of TR-PAD, “oracles are abandoned” etc. TR-PAD is a strict extension of TR and oracles are not abandoned. Partially defined actions and oracle-defined actions live together happily. PADs are used for completely different purposes and your external actions are used for yet other purposes. So your comparison misses the point: you are comparing apples and oranges.
p. 28,c.1, l.11: .. splits ... −−> there is a split π_1 o π_2 = π ...
+4 lines: it exists −−−> there is
+7 lines: Then −−> Therefore,
+10lines: “is impossible” is missing before “for”
c.2, Lemma4, par 1, skeptical models. This whole explanation is inadequate. Explain in precise terms and symbolically whenever possible.
Lemma5: “both valid in TR and ETR.” Valid means true in all models. You want to say “that
is well-formed both in TR and CTR.” Now, when it comes to interpretations in the next sentence, “valid” makes no sense whatsoever. There (in the next line you want to say something like “such that M is also an interpretation for P in ETR.”
+6 lines: say −−> saying
+2 lines: with −−> to. Also: model_s_
+5 lines: “obtained from π' adding the” −−> obtained from π' _by_ adding _a_
same line: in connection with E_0 , what is this constant state? You are adding it where exactly? How?
+2 lines: “coincide with definitions”. Here you lost me completely. What does it mean?
+1 line: contain external _actions_ then ...
+1 line: this line (which is the last in the proof of L5), you are claiming that it follows from Th2, but this is not what Th2 says.
Same page, L6, last line of the proof: this is a non-sequitur. You are obviously relying on the fact that π = (S_0, S_1) ◦ π_2 , where π_1 = (S_0, S_1), but you neglected to mention this.
p.29, c.1,l.12: _a_ complete unfold_ing_ of formula
Lemma 7, last line before the proof: then −−> it is the case that. Otherwise you have too many “thens” and your text becomes unreadable. This problem occurs multiple times, so watch it.
Proof, base case, k = 1. What is k? Shouldn’t you state what the induction is based on?
Inductive case: Assume it is true: What is it that you are assuming to be true? You have not set up the inductive assumption properly and not even the base case. There are rules in formulating inductive proofs and you should follow them.
End of the 1st paragraph in the inductive case: This seems like an overkill. You have not stated it, but it seems you are assuming that each φ_1 is defined by an oracle, so π_2 must be the terminal 1-path of π.
p.29,c.2,l.14: “this case is only true” −−> then π must be a ...
+2 lines: missing _holds by assumption_, before “then”
+7 lines: then L_1 ∈ M ... −−> _it is the case that_ L_1 ∈ M ...
+9 lines: it exists −−> there is
Same line: L_i ⊗ L_{k+1} . Did you mean L_i ⊗ . . . ⊗ L_{k+1}?
+1 line: Then there −−> There
+2 lines: _I.H._ Spell out!!
+4 lines: it exists −−> there is
+2 lines: Lemma 19. Really? While proving Lemma 8 you are relying on Lemma 19? Who is going
to read this kind of proofs?
p.29,c.2,l-2: L_1 ⊗ L_k ⊗ L_{k+1}. Did you mean L_1 ⊗ . . . ⊗ L_k ⊗ L_{k+1} ?
last line: what is “a split for |=_c ”?
At this point, the accumulation of poorly constructed proofs, bad English, and sloppiness overwhelmed me to the extent that further reading became counter-productive. The burden is on the authors to revise the paper and make it readable.