Differences

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

Link to this comparison view

Next revision
Previous revision
hekate:beating_heart [2009/06/02 17:21]
wojnicki Document moved from hekatedev:beating_heart
hekate:beating_heart [2019/06/27 15:49] (current)
Line 1: Line 1:
 ====== Beating HeaRT ====== ====== Beating HeaRT ======
 +
 +===== Docs =====
 +
 +More docs available upon request from the author: wojnicki@agh.edu.pl.
  
 ===== Concept ===== ===== Concept =====
  
-The main concept is to provide a runtime environment for the [[:​hekate:​hml1| Hekate Markup Language Mark 1]] supported with I/O primitives complying with the ideas emerged form [[hekatedev:​hekate_case_io]] and roughly ​implemented in Prolog ​as [[hekatedev:​hekate_prolog_io]] ​(a Java based implementation is under development now).+The main concept is to provide a runtime environment for the [[:​hekate:​hml1| Hekate Markup Language Mark 1]] supported with I/O primitives complying with the ideas emerged form [[hekatedev:​hekate_case_io]] and implemented in Prolog ​(based on [[hekatedev:​hekate_prolog_io]]) ​or Java.
  
 The runtime is coded in Prolog (guess why ;-)). The runtime is coded in Prolog (guess why ;-)).
 +
 ==== Starting inference process ==== ==== Starting inference process ====
  
Line 82: Line 87:
  
    
-  * Second release, thermostat case added, more logical operators (to make the thermostat case work) {{:hekatedev:​bheart-rel-2.tar.gz}}+  * Second release, thermostat case added, more logical operators (to make the thermostat case work) {{:hekate:​bheart-rel-2.tar.gz}}
  
   cvs -d :​ext:​charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades co -r rel-2 bheart ​   cvs -d :​ext:​charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades co -r rel-2 bheart ​
  
-  * First realase, the test case (editor) works fine: {{:hekatedev:​bheart-rel-1.tar.gz|}}+  * First realase, the test case (editor) works fine: {{:hekate:​bheart-rel-1.tar.gz|}}
  
   cvs -d :​ext:​charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades co -r rel-1 bheart   cvs -d :​ext:​charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades co -r rel-1 bheart
 +
 +===== Modules =====
 +
 +The inference engine is highly modularized.
 +It consists of the following modules:
 +  * hml.pl ​                - Hekate Markup Language ([[HML1]]) support
 +  * infeng.pl ​             - inference engine
 +  * operators.pl ​          - available operators
 +  * prolog-runtime.pl ​     - prolog i/o predicates
 +  * runtime.pl ​            - auxiliary runtime predicates
 +  * hml-view.pl ​           - HML visualization support (markup independent),​ not mandatory for run-time execution; spawns graphviz and generates XTT diagrams (yet to be released, avaliable through CVS only)
 +
 +This way the Beating HeaRT can be extended easily.
 +
 +===== I/O Modules =====
 +
 +There are two I/O modules currently available for the Inference Engine.
 +They allow to call apropriate trigger routines for non-state attributes which are implemented as Prolog predicates or Java methods.
  
 ===== Examples ===== ===== Examples =====
Line 104: Line 127:
   * ^k -- moves the cursor right,   * ^k -- moves the cursor right,
   * ^q -- quits.   * ^q -- quits.
 +
 +The XTT editor model is given below (click to enlarge).
 +The model is generated by the Beating HeaRT visualization plugin.
 +
 +{{:​hekate:​editor-xtt-bh.png?​800|}}
  
 The following code, loads up The Beating HeaRT, reads in logic, defines all I/O routines for apropriate attributes and launches the inference process. The following code, loads up The Beating HeaRT, reads in logic, defines all I/O routines for apropriate attributes and launches the inference process.
Line 168: Line 196:
 :​-run_xtt_single(xtt_0). :​-run_xtt_single(xtt_0).
 </​code>​ </​code>​
 +
 ==== Thermostat ==== ==== Thermostat ====
  
Line 184: Line 213:
  
 Now it is easy to assume that the inference process hsould start with Table id 1. Now it is easy to assume that the inference process hsould start with Table id 1.
- + 
 +The following visualization is generated by the Beating HeaRT visualization module. 
 + 
 +{{:​hekate:​therm-xtt-bh.png?​800|}}
  
 The following code, loads up The Beating HeaRT, reads in logic, defines all I/O routines for appropriate attributes and launches the inference process. The following code, loads up The Beating HeaRT, reads in logic, defines all I/O routines for appropriate attributes and launches the inference process.
hekate/beating_heart.1243956100.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