Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hekate:xtt2 [2008/11/26 12:19]
ligeza
hekate:xtt2 [2019/06/27 15:49] (current)
Line 9: Line 9:
 It is aimed to be as the final version for the official HeKatE project (grant). It is aimed to be as the final version for the official HeKatE project (grant).
  
 +//Please put bigger remarks/​discussusion,​ to the [[hekatedev:​xtt2|XTT2 development page]]//
 ===== Introduction ===== ===== Introduction =====
  
Line 16: Line 16:
  
 In contrast to traditional rulebases design approaches allowing for a //flat// (single-level) set of rules (e.g. using the Rete-based inference engines) XTT introduces an explicit //​structure//​ in the rulebase, by introducing:​ In contrast to traditional rulebases design approaches allowing for a //flat// (single-level) set of rules (e.g. using the Rete-based inference engines) XTT introduces an explicit //​structure//​ in the rulebase, by introducing:​
-  * //tables//, used to represent groups of rules working in the same context ​and hence having similar structure of preconditions,​+  * //tables//, used to represent groups of rules working in the same context ​(having similar structure of preconditions),
   * //​intertable links//, used to provide explicit specification of inference control, namely switching between tables, that allow for decision-tree like structure.   * //​intertable links//, used to provide explicit specification of inference control, namely switching between tables, that allow for decision-tree like structure.
  
Line 29: Line 29:
  
 XTT is a formal method based on an expressive logical calculus called //​Attributive Logic// (or //Attribute Logic//). XTT is a formal method based on an expressive logical calculus called //​Attributive Logic// (or //Attribute Logic//).
- 
 ==== History and Related Documents ==== ==== History and Related Documents ====
 FIXME FIXME
Line 67: Line 66:
 However, in the future the ARD+ shall be replaced by more advanced methods. However, in the future the ARD+ shall be replaced by more advanced methods.
  
-Basing ​on the above experiences,​ the current version of XTT known as XTT^2 has been proposed for the HeKatE project by Grzegorz J. Nalepa and Antoni Ligęza in 2008.+Based on the above experiences,​ the current version of XTT known as XTT^2 has been proposed for the HeKatE project by Grzegorz J. Nalepa and Antoni Ligęza in 2008.
 XTT^2 uses ALSV(FD) (//​Attributive Logic with Set Variables over Finite Domains//) as the formal foundation. XTT^2 uses ALSV(FD) (//​Attributive Logic with Set Variables over Finite Domains//) as the formal foundation.
  
Line 101: Line 100:
  
 ==== XTT Constraints ==== ==== XTT Constraints ====
-Rule prototypes ​these hint for XTT tables:+Rule prototypes ​provide hints for XTT tables:
   * structure -> what attributes are in the condidtion and conclusion   * structure -> what attributes are in the condidtion and conclusion
   * state changes in conclusion -> in the value modification only attributes present in the given table may be used   * state changes in conclusion -> in the value modification only attributes present in the given table may be used
Line 167: Line 166:
  
 See [[hekate:​xtt2#​Inference]] for more details. See [[hekate:​xtt2#​Inference]] for more details.
- 
 ==== Rule RHS ==== ==== Rule RHS ====
  
Line 177: Line 175:
  
 The rule RHS can contain: The rule RHS can contain:
-  * state changes, that is attribute values modifications (with use of retract/​assert),​ possibly with use of any predefined predicates/​functions etc. for now we assume all the results are explicitly represented in state!+  * state changes, that is attribute values modifications (with use of retract/​assert, FIXME by iw: there is no assert/​retract anymore, assuming that attributes can be multivalued,​ there are only set operations, an assert is represented as a sum: assert(A(1)) <=> A =  A u {1}), possibly with use of any predefined predicates/​functions etc. for now we assume all the results are explicitly represented in state!
   * external actions execution, that do not change attribute values, thus do not change the system state; these include output values definition and export,   * external actions execution, that do not change attribute values, thus do not change the system state; these include output values definition and export,
   * link that specifies inference control (e.g. a switch/case or a loop),   * link that specifies inference control (e.g. a switch/case or a loop),
Line 236: Line 234:
 A table provides a //visual// representation of rules, as below. A table provides a //visual// representation of rules, as below.
  
-{{xttp-table-new.png|XTT table new format}}+{{xttp-table-new.png|XTT table new format}} ​FIXME
  
 Rules in the table are interpreted one by one in a given way (see [[hekate:​xtt2#​Inference]]),​ this is the Table Inference. Rules in the table are interpreted one by one in a given way (see [[hekate:​xtt2#​Inference]]),​ this is the Table Inference.
Line 338: Line 336:
   * //​rule-table//​ (r2t) a given rule in a given table when fired, transfers control to another table, meaning the inference starts at the first rule of the destination table. This is considered the //default// for XTT^2.   * //​rule-table//​ (r2t) a given rule in a given table when fired, transfers control to another table, meaning the inference starts at the first rule of the destination table. This is considered the //default// for XTT^2.
   * //​rule-rule//​ (r2r) a given rule in a given table when fired, transfers control to another rule in another table, or possibly //the same table// (inside table link.   * //​rule-rule//​ (r2r) a given rule in a given table when fired, transfers control to another rule in another table, or possibly //the same table// (inside table link.
 +
 +FIXME: iw: I'm still not convinced about rule-rule links, any advantages? There are some disadvantages though, ie: if we change the rule firing order (let's say bottom-up instead of top-down,) rule-rule links can screw us really bad. Having rule-table links only forces designer to come up with well designed conditions. So, because there are some doubts I would recommend not implementing it for time being at all.
  
 ++++More on intertable links| ++++More on intertable links|
Line 355: Line 355:
  
 (See the discussion at the [[hekatedev:​xtt2#​Branching]] page.) (See the discussion at the [[hekatedev:​xtt2#​Branching]] page.)
 +
 +//A temporary semi-parallel solution//: ​
 +ARD introduces partial order in tables,
 +tables can be fired in any way,
 +as long as this contstraint holds.
 +
 +FIXME: iw: not really there might be more than one table with input attributes (or ro, rw) in the condition parts, it might be not doable to infer which table should be run first.
 +There might be an algorithm implemented which finds an order of execution (which table to start with), but any conditions using a N/D value can screw it. 
 +I'd suggest choosing an entry table, the one that the inference process starts with, explicitly.
  
 ==== Interpreter Scenarios ==== ==== Interpreter Scenarios ====
Line 442: Line 451:
   * communication (comm) (S <-> E)    * communication (comm) (S <-> E) 
 Arrows indicate the System/​Environment interaction. Arrows indicate the System/​Environment interaction.
 +
 +FIXME: iw: what's happened to ''​ro,​ rw, wo, state''​ classes?
  
 Discuss ideas here: [[hekatedev:​xtt2#​Attribute Classes]]. Discuss ideas here: [[hekatedev:​xtt2#​Attribute Classes]].
Line 454: Line 465:
  
 ===== HeKatE Meta Representation ===== ===== HeKatE Meta Representation =====
- 
-FIXME ALi 
  
 The following textual algebraic representation is provided. The following textual algebraic representation is provided.
Line 473: Line 482:
  
 Fact: Fact:
-FIXME ALi +
-Here - sorry; I am not sure about the idea -- do not understand. Explanations necessary.+
  
 ===== XTT Analysis ===== ===== XTT Analysis =====
hekate/xtt2.1227698359.txt.gz · Last modified: 2019/06/27 16:00 (external edit)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0