trzytematyczna / XTT-Table-Generator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HeaRTDroid is a dedicated inference engine for the XTT2 rule bases.
(see https://ai.ia.agh.edu.pl/wiki/hekate:xtt2).
It is implemented in pure Java in order to provide full compatibility with all operating systems
inclugin Android operatin system.

It supports HML and HMR language for model description which is generated by HQEd editor.  
HML (HeKatE Meta Language) is a XML based representation of the XTT2 logic designed
by HQEd
HMR (HeKatE Meta Representation) is a textual representation of the XTT2 logic designed
by HQEd.  HMR is a human readable form, as opposed to the machine
readable HML format.  HeaRT allows to: store and export models in HMR
files, and verify HMR syntax and logic.

The engine implements the inference based on ALSV(FD) logic.  It
supports four types of inference process, Data and Goal Driven, Fixed
Order, and Token Driven.  The inference modes can be parametrised with 
the conflict resoulution mechanisms that allows for determinism in the reasoning process.
HeaRTDroid provides several default conflict set resolution mechanisms, but these can
be easily extended and adopted by the developers by implementing ConflictSetResolution interface.

HeaRTDroid supports two uncertainty handling mechanisms. One that is based on the certainty factors 
algebra and other that is based on the probabilistic approach. 
Developers can provide their own uncertainty handling mechanisms by implementing UncertaintyTrueEvaluator
interface.

HeaRTDroid can operate in two modes, stand-alone and
as TCP/IP server, offering TCP/IP integration mechanism with other
applications.  It also provides REST API for querying HeaRT that operates in server mode.

There are two types of callbacks are related to attributes in HMR files. 

1. input - used to get attribute value from user. This can be done by console or graphical user interface. 
2. output - is used to present attribute value to user.

Callbacks can be use to create GUI with JPL and SWING in Java or to provide Attributes values.
The callbacks are based on the reflection mechanism in Java.
 

Currently the runtime is in a beta stage.


HeaRT was designed and developed by

* Szymon Bobek, MSc,          <szymon.bobek@agh.edu.pl>

* Grzegorz J. Nalepa, Ph. D., <gjn@agh.edu.pl>

* Mateusz Ślażyński, MSc,     <mateusz.slazynski@agh.edu.pl>

Following developers were helping in different modules:

* Monika Rakoczy <monika.ewa.rakoczy@gmail.com>, Łukasz Potępa <l.potepa@gmail.com> implementing SQL Database integration module

* Jaeck Kurlit <jacek.kurlit@gmail.com> implementing unit tests for ALSV(FD) logic operators

* Wojciech Padykuła<wojciech.padykula@gmail.com>, Kajetan Rzepecki<kajtek@idorobots.org> implementing support for TCP/IP protocol and REST API.

=============================================================

Copyright 2013-15 by Szymon Bobek, Grzegorz J. Nalepa, Mateusz Ślażyński


This file is part of HeaRTDroid.
HeaRTDroid is a rule engine that is based on HeaRT inference engine,
XTT2 representation and other concepts developed within the HeKatE project.

HeaRTDroid is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

HeaRTDroid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with HeaRTDroid.  If not, see <http://www.gnu.org/licenses/>.

About


Languages

Language:Java 94.6%Language:Prolog 4.9%Language:Perl 6 0.2%Language:Shell 0.2%