<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>XTT+ Rule Design Using the ALSV(FD)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Grzegorz J. Nalepa</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antoni Lige˛za</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Automatics, AGH - University of Science and Technology</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents advances in Set Attributive Logic and its application to develop tabular rule-based systems within the XTT framework. The primary goal is to extend the expressive power of simple attributive languages so that it becomes satisfactory for complex applications, including the business rules support. A formal framework of extended Attributive Logic with Set Values over Finite Domains (ALSV(FD)) is presented and specific inference rules are provided with their corresponding prototype in PROLOG.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Rule-based systems (RBS) are one of the most efficient paradigms
for knowledge representation and automated inference. This is an
intuitive and well-established language [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, when it comes
to the engineering practice, as well as its scientific aspect, the formal
approach to the rule language specification has to be considered. In
fact, there are number of specific rule languages based on different
formal calculi, from simple propositional logic, through subsets of
predicate calculus, to specific higher-order logics [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>This paper presents advances in Set Attributive Logic and its
application to develop tabular rule-based systems within the XTT
framework. The primary goal is to extend the expressive power of
simple attributive languages so that it becomes satisfactory for complex
monitoring, control, decision support and business rules applications.
A formal framework of extended Set Attributive Logic is presented
and specific inference rules are provided. The practical
representation and inference issues both at the logical and implementation level
are tackled.</p>
    </sec>
    <sec id="sec-2">
      <title>HEKATE RULE LANGUAGE</title>
      <p>
        In the HEKATE project (hekate.ia.agh.edu.pl) an extended
rule language is proposed. It is based on the XTT language described
in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The version used in the project is currently called XTT+.
      </p>
      <p>
        The XTT+ rule language is based on the classic concepts of rule
languages for rule-based systems [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], with certain important
extensions and features, such as:
• strong formal foundation based on attributive logic,
• explicit rulebase structurization,
• extended rule semantics.
      </p>
      <p>In this paper the XTT+ language will be simply referred to as XTT.</p>
      <p>In XTT there is a strong assumption, that the rule base is explicitly
structured. The rules with same sets of attributes are grouped within
decision tables. On the rule level explicit inference control is allowed.
In this way, a set of tables is interconnected using links,
corresponding to inference control. This makes up a decision-tree like structure,
with tables in the tree nodes. In a general case, the XTT is a directed
graph, with cycles optionally allowed.</p>
      <p>In RBS, a rule has a general format:
IF condition THEN decision
This format can be used in both forward and backward chaining
systems. However, here we focus on the production rule systems, based
on the forward chaining paradigm. The power of a rule language
stems from the syntax and semantics of the conditional and decision
expressions. Number of systems implicitly assume, that this rule
format can be extended to the conjunctive normal form (CNF), that is:
IF cond1 AND cond2 AND ... AND condN
THEN decision</p>
      <p>
        which in fact corresponds to a Horn clause ϕ [
        <xref ref-type="bibr" rid="ref1 ref9">1, 9</xref>
        ], that is:
Such a clause can be represented as an implication of the form:
ϕ = ¬p1 ∨ ¬p2 ∨ . . . ¬pk ∨ q,
ϕ = p1 ∧ p2 ∧ . . . ∧ pk ⇒ q.
which can be regarded as a rule in the above format, where ps
correspond to conditions and q corresponds to the decision. In fact the
PROLOG language uses a subset of predicate calculus, restricted to
Horn clauses [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The decision expression can also be a compound one in the CNF.
Now the question is what are the conditional and decision
expressions. In number of systems these correspond to expressions in the
propositional calculus, which makes the semantics somehow limited.
Some systems try to use some subsets of predicate logic, which gives
much more flexibility, but may complicate a RBS design and the
inference process. This is the case of the PROLOG language [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In XTT
these expressions are in the the attributive logic [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] described in more
detail in Sect. 4. This gives much more power than the propositional
logic, but does not introduce problems of the predicate logic-based
inference. In XTT an extended rule semantics is used. These
extensions were introduced in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and refined in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Let us now move to attributive logic that provides a formal
foundation for the rule language.
3</p>
    </sec>
    <sec id="sec-3">
      <title>A MOTIVATIONAL EXAMPLE</title>
      <p>Consider a simple piece of knowledge expressed with natural
language as follows.</p>
      <p>The regular class hours are from 8:00 to 18:00. If all the
teaching hours are located within regular class hours then the salary
is regular. If the teaching hours goes beyond the regular class
hours then the salary is special.</p>
      <p>The problem is to formalize these two rules with attributive logic.
Let RCH stays for regular class hours, and TH for teaching hours.
We can define a fact like:</p>
      <p>RCH = {8, 9, 10, 11, 12, 13, 14, 15, 16, 17},</p>
      <p>TH = {10, 11, 12, 16, 19, 20}
to specify a case of teaching hours. Note that teaching hours may
form any subset of {0, 1, 2, 3, . . . , 23} (not necessarily a convex
interval).</p>
      <p>Now, to express the rules we need an extended attributive logic
employing set values of attributes and some powerful relational
symbols. For example, we can have:</p>
      <p>R1 : TH ⊆ RCH −→ Salary =0 regular 0</p>
      <p>R2 : TH ∼ NRCH −→ Salary =0 special 0</p>
      <p>NRCH = {0, 1, 2, 3, 4, 5, 6, 7, 18, 19, 20, 21, 22, 23}
is a specifications of non-regular class hours, and sim means a
nonempty intersection. Note that an attempt to specify the rules with
attribute logic based on atomic values (even if relational symbols
such as &lt;, ≤, &gt; and ≥ are allowed) would lead to a very long and at
least clumsy set of hardly readable rules.
4</p>
    </sec>
    <sec id="sec-4">
      <title>ATTRIBUTIVE LOGIC</title>
      <p>
        Attributive logics constitute a simple but widely-used tool for
knowledge specification and inference. In fact in a large variety of
applications in various areas of Artificial Intelligence (AI) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and
Knowledge Engineering (KE) attributive languages constitute the
core knowledge representation formalism. The most typical areas of
applications include rule-based systems [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ], expert systems (ones
based on rule formalism) [
        <xref ref-type="bibr" rid="ref15 ref6">6, 15</xref>
        ] and advanced database and data
warehouse systems with knowledge discovery applications [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and
contemporary business rules and business intelligence components
(e.g. Jess, Drools).
      </p>
      <p>
        However, it is symptomatic that although Propositional Logic and
Predicate Logic (in the form of First-Order Predicate Calculus) have
well-elaborated syntax and semantics, presented in details in
numerous books covering logic for knowledge engineering [
        <xref ref-type="bibr" rid="ref15 ref4 ref6">4, 6, 15</xref>
        ], logic
for computer science or Artificial Intelligence [
        <xref ref-type="bibr" rid="ref1 ref8">1, 8</xref>
        ], the discussion
of syntax and semantics of attribute-based logic is omitted in such
positions.
      </p>
      <p>
        In a recent book [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] the discussion of attributive logic is much
more thorough. The added value consist in allowing that attributes
can take set values and providing formal syntax of the Set
Attributive Logic (SAL) with respect to its syntax, semantics and selected
inference rules.
      </p>
      <p>
        The very basic idea is that attributes can take atomic or set values.
After [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] it is assumed that an attribute Ai is a function (or partial
function) of the form Ai: O → Di. A generalized attribute Ai is a
function (or partial function) of the form Ai: O → 2Di , where 2Di
is the family of all the subsets of Di. The atomic formulae of SAL
can have the following three forms: Ai = d, Ai = t or Ai ∈ t,
where d ∈ D is an atomic value from the domain D of the
attribute and t = {d1, d2, . . . , tk}, t ⊆ D is a set of such values. The
and
and
where
semantics of Ai = d is straightforward – the attribute takes a single
value. The semantics of Ai = t is that the attribute takes all the
values of t (the so-called internal conjunction) while the semantics of
Ai ∈ t is that it takes some of the values of t (the so-called internal
disjunction).
      </p>
      <p>
        The SAL as introduced in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] seems to be an important step
towards the study and extension of attributive logics towards practical
applications. On the other hand it still suffers from lack of expressive
power and the provided semantics of the atomic formulae is poor.
      </p>
      <p>In this paper an improved and extended version of SAL is
presented in brief. For simplicity no object notation is introduced. The
formalism is oriented toward Finite Domains (FD) and its expressive
power is increased through introduction of new relational symbols.
The practical representation and inference issues both at the
logical level and implementation level are tackled. The main extension
consists of a proposal of extended set of relational symbols enabling
definitions of atomic formulae. The values of attributes can take
singular and set values over Finite Domains (FD).
4.1</p>
    </sec>
    <sec id="sec-5">
      <title>ALSV(FD)</title>
      <p>
        An extension of SAL was proposed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Both the syntax and
semantics were extended and clarified. Here some further details to
support set values of attributes over finite domains are discussed.
      </p>
      <p>The basic element of the language of Attribute Logic with Set
Values over Finite Domains (ALSV(FD) for short) are attribute names
and attribute values. Let us consider:
A – a finite set of attribute names,
D – a set of possible attribute values (the domains).</p>
      <p>Let A = {A1, A2, . . . , An} be all the attributes such that their
values define the state of the system under consideration. It is assumed
that the overall domain D is divided into n sets (disjoint or not),
D = D1 ∪ D2 ∪ . . . ∪ Dn, where Di is the domain related to
attribute Ai, i = 1, 2, . . . , n. Any domain Di is assumed to be a finite
(discrete) set.</p>
      <p>As we consider dynamic systems, the values of attributes can
change over time (or state of the system). We consider both simple
attributes of the form Ai: T → Di (i.e. taking a single value at any
instant of time) and generalized ones of the form Ai: T → 2Di (i.e.
taking a set of values at a time); here T denotes the time domain of
discourse.</p>
      <p>Let Ai be an attribute of A and Di the sub-domain related to it.
Let Vi denote an arbitrary subset of Di and let d ∈ Di be a single
element of the domain. The atomic formulae of ALSV(FD) are defined
as follows.</p>
      <p>Definition 1 The legal atomic formulae of ALSV for simple
attributes are:
Definition 2 The legal atomic formulae of ALSV for generalized
attributes are:</p>
      <p>Ai = d,
Ai 6= d,
Ai ∈ Vi,
Ai 6∈ Vi.</p>
      <p>Ai = Vi,
Ai 6= Vi,
(1)
(2)
(3)
(4)
(5)
In case Vi is an empty set (the attribute takes in fact no value) we
shall write Ai = {}. In case the value of Ai is unspecified we shall
write Ai = NULL (a database convention). If we do not care about
the current value of the attribute we shall write A = _ (a PROLOG
convention).</p>
      <p>The semantics of the atomic formulae as above is straightforward
and intuitive. In case of the first three possibilities given by (1), (2),
(3) and (4) we consider Ai to be a simple attribute taking exactly one
value. In case of (1) the value is precisely defined, while in case of
(3) any of the values d ∈ Vi satisfies the formula. In other words,
Ai ∈ Vi is equivalent to (Ai = d1) ⊗ (Ai = d2) ⊗ . . . ⊗ (Ai = dk),
where Vi = {d1, d2, . . . , dk} and ⊗ stays for exclusive-or. Here (2)
is a shorthand for Ai ∈ Di \ {d}. Similarly, (4) is a shorthand for
Ai ∈ Di \ Vi.</p>
      <p>The semantics of (5), (2) (7),(8), (9), and (10) is that Ai is a
generalized attribute taking a set of values equal to Vi (and nothing more),
different from Vi (at at least one element), being a subset of Vi, being
a superset of Vi, having a non-empty intersection with Vi or disjoint
to Vi, respectively.</p>
      <p>More complex formulae can be constructed with conjunction (∧)
and disjunction (∨); both the symbols have classical meaning and
interpretation.</p>
      <p>There is no explicit use of negation. The proposed set of
relations is selected for convenience and as such is not completely
independent. For example, Ai = Vi can perhaps be defined as
Ai ⊆ Vi ∧ Ai ⊇ Vi; but it is much more concise and convenient to
use “=” directly. Various notational conventions extending the basic
notation can be used. For example, in case of domains being ordered
sets symbols such as &gt;, &gt;=, &lt;, =&lt; can be used.
4.2</p>
    </sec>
    <sec id="sec-6">
      <title>BASIC INFERENCE RULES FOR ALSV(FD)</title>
      <p>
        Since the presented language is an extension of the SAL (Set
Attributive Logic) presented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], its simple and intuitive semantics
is consistent with SAL and clears up some points of it. For example,
the upward and downward consistency rules do hold and can be
formulated in a more elegant way. Let V and W be two sets of values
such that V ⊆ W . We have the following straightforward inference
rules for atomic formulae:
i.e. if an attribute takes all the values of a certain set it must take all
the values of any subset of it (downward consistency). Similarly
(7)
(8)
(9)
(10)
(11)
(12)
Table 2 the conditions are satisfactory ones. However, it is
important to note that in case of the first rows of the tables (the cases of
A = di and A = V , respectively) all the conditions are also
necessary ones. The interpretation of the tables is straightforward: if an
atomic formula in the leftmost column in some row i is true, then the
atomic formula in the topmost row in some column j is also true,
provided that the relation indicated on intersection of row i and column
j is true. The rules of Table 1 and Table 2 can be used for checking
if preconditions of a formula hold or verifying subsumption among
rules.
4.3
      </p>
    </sec>
    <sec id="sec-7">
      <title>RULES IN ALSV(FD)</title>
      <p>
        ALSV(FD) has been introduced with practical applications for rule
languages in mind. In fact, the primary aim of the presented language
is to extend the notational possibilities and expressive power of the
XTT-based tabular rule-based systems [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. An important extension
consist in allowing for explicit specification of one of the symbols
=,6=,∈, 6∈, ⊆, ⊇, sim and 6∼ with an argument in the table.
      </p>
      <p>Consider a set of n attributes A = {A1, A2, . . . , An}. Any rule
is assumed to be of the form:</p>
      <p>
        (A1 ∝1 V1) ∧ (A2 ∝2 V2) ∧ . . . (An ∝n Vn) −→ RHS
where ∝i is one of the admissible relational symbols in ALSV(FD),
and RHS is the right-hand side of the rule covering conclusion and
perhaps the retract and assert definitions if necessary; for details see
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Knowledge representation with eXtended Tabular Trees (XTT)
incorporates extended attributive table format. Further, similar rules
are grouped within separated tables, and the whole system is split
into such tables linked by arrows representing the control
strategy. Consider a set of m rules incorporating the same attributes
A1, A2, . . . , An. In such a case the preconditions can be grouped
together and form a regular matrix. Together with the conclusion part
this can be expressed as in Tab. 3</p>
      <p>In Table 3 the symbol ∝ij ∈ {=, 6=, ∈, 6∈} for simple attributes
and ∝ij ∈ {=, 6=, ⊆, ⊇, ∼, 6∼} for the generalized ones. In practical
i.e. if the values of an attribute takes values located within a certain
set they must also belong to any superset of it (upward consistency).
These rules seem a bit trivial, but they must be implemented for
enabling inference, e.g they are used in the rule precondition checking.</p>
      <p>The summary of the inference rules for atomic formulae with
simple attributes (where an atomic formula is the logical consequence
of another atomic formula) is presented in Table. 1. In Table 1 and
applications, however, the most frequent relation are =, ∈, and ⊆,
i.e. the current values of attributes are restricted to belong to some
specific subsets of the domain. If this is the case, the relation symbol
can be omitted (i.e. it constitutes the default relation which can be
identified by type of the attribute and the value).</p>
      <p>The current values of all the attributes are specified with the
contents of the knowledge-base (including current sensor readings,
measurements, inputs examination, etc.). From logical point of view it is
a formula of the form:
(A1 = S1) ∧ (A2 = S2) ∧ . . . ∧ (An = Sn),
(13)
where Si = di (di ∈ Di) for simple attributes and Si = Vi, (Vi ⊆
Di) for complex.</p>
      <p>Having a table with defined rules the execution mechanism
searches for ones with satisfied preconditions. The satisfaction of
preconditions is verified in an algebraic mode, using the
dependencies specified in the first row of Table 1 for simple attributes and the
first row of Table 2 for the complex ones.</p>
      <p>
        The rules having all the preconditions satisfied can be fired. In
general, rules can be fired in parallel (at least in theory) or
sequentially. For the following analysis we assume the classical, sequential
model, i.e. the rules are examined in turn in the top-down order and
fired if the preconditions are satisfied. Various mechanisms can be
used to provide a finer inference control mechanism [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
4.4
      </p>
    </sec>
    <sec id="sec-8">
      <title>ATTRIBUTE DOMAINS</title>
      <p>It is assumed that for each XTT attribute a type has to be stated. A
type is named and it specifies: the base type and the domain. In the
design of the XTT+ attributive language the set of base types was
introduced in a way that simplifies the low-level interpreter integration
with Prolog, Java, and RDBMS.</p>
      <p>An example definition could be as follows:
• suppose we have a natural language specification: “some
temperature”,
• create attribute type,
– pick a attribute type name, e.g. “Temperature”
– decide what base type to use, in this case it could be a float,
– define the domain by specifying constraints, e.g. -100, 100
depending on the conditions,
– decide whether the domain is ordered – in case of symbolic
base type, in this case numbers are ordered,
• create new attribute, with given,
– attribute type, in this case of “Temperature”,
– name, e.g. sensor_temperature,
– decide whether the attribute can take only single values, or also
multiple values.</p>
      <p>Generalized attributes are unordered or ordered sets (lists). This
means attributes are in fact multi-valued . Some applications for this
features are e.g.: a set of languages a person speaks, or storing
subsequent values (changing in time).
4.5</p>
    </sec>
    <sec id="sec-9">
      <title>RULE FIRING</title>
      <p>The XTT+ rule firing process is coherent with the regular RBS
semantics. It involves: condition checking and decision execution.</p>
      <p>The condition checking can be described as a pattern matching
process, where the condition evaluates true or false. The condition is
an expression in the CNF build of expressions in the ALSV(FD).</p>
      <p>The decision execution is where actions are possible. In a general
case, the XTT+ rule decision involves: attribute value change context
switching through inference control links event triggering. In XTT it
is assumed, that the whole system state is described by the means of
attributes.
5</p>
    </sec>
    <sec id="sec-10">
      <title>PROTOTYPE IMPLEMENTATION EXAMPLE</title>
      <p>In the prototype implementation of the knowledge base, rules and
the interpreter are developed in PROLOG. A meta-programming
approach is followed. This allows for encoding virtually any structured
information. Note that in such a case the built-in P ROLOG inference
facilities cannot be used directly, there is a need for a meta-interpreter
(however, this gives more flexibility in terms of rule processing).</p>
      <p>
        Example domains and attributes specification in PROLOG follows:
domain(d7,[
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6 ref7">1,2,3,4,5,6,7</xref>
        ]).
attribute(aDN,atomic,d7).
attribute(sDN,set,d7).
      </p>
      <p>The atomic formulae (facts) are represented as terms of the type
fact/4 with four arguments; here are some examples:
%%% fact(&lt;attribute-type&gt;,&lt;attribute-name&gt;,
% &lt;relation&gt;,&lt;attribute-domain&gt;)
fact(atomic,aDN,eq,7).
fact(atomic,aDD,in,[monday,wednesday,friday]).
fact(set,sDD,sim,[monday,wednesday,friday]).
fact(set,sSE,subseteq,[spring,summer,autumn]).</p>
      <p>Facts are used mostly in rule preconditions. The
meaning of the above facts is as follows: f1: sDN=7,
f2: aDD∈[monday,wednesday,friday], f3:
sDD∼[monday, wednesday,friday], and f4:
sSE⊆[spring,summer,autumn]. PROLOG list are used
to represent set values.</p>
      <p>The state of the system is represented by all the facts true in that
state. Recall that the form A = d and A = V are allowed for state
specification.</p>
      <p>
        Note that using set values in state specification increases
drastically the expressive power. This is a bit similar to the Cartesian
Product: in state s17 the attribute sDN takes all the values from
[
        <xref ref-type="bibr" rid="ref1 ref3 ref5 ref7">1,3,5,7</xref>
        ].
      </p>
      <p>Inference, i.e. checking logical consequence defined by first rows
of Table 1 and Table 2 is performed with the valid/s predicate
defined as follows:
valid(f(atomic,A,eq,Value),State):state(State,A,atomic,StateValue),</p>
      <p>Value == StateValue,!.
valid(f(atomic,A,neq,Value),State):state(State,A,atomic,StateValue),</p>
      <p>Value =\= StateValue,!.
valid(f(atomic,A,in,SetValue),State):state(State,A,atomic,StateValue),
member(StateValue,SetValue),!.
valid(f(atomic,A,notin,SetValue),State):state(State,A,atomic,StateValue),
\+member(StateValue,SetValue),!.
valid(f(set,A,eq,SetValue),State):state(State,A,set,StateValue),
eqset(SetValue,StateValue),!.
valid(f(set,A,neq,SetValue),State):state(State,A,set,StateValue),
neqset(SetValue,StateValue),!.
valid(f(set,A,subseteq,SetValue),State):state(State,A,set,StateValue),
subset(SetValue,StateValue),!.
valid(f(set,A,supseteq,SetValue),State):state(State,A,set,StateValue),
subset(StateValue,SetValue),!.
valid(f(set,A,sim,SetValue),State):state(State,A,set,StateValue),
intersect(SetValue,StateValue,[_|_]),!.
valid(f(set,A,notsim,SetValue),State):state(State,A,set,StateValue),
intersect(SetValue,StateValue,[]),!.</p>
      <p>The excerpt of the implementation code presented above includes
only symbolic domains. The definitions for the remaining domains
are similar to the ones presented here. Currently the use of CLP
(Constraint Logic Programming) PROLOG extensions are being
investigated.
6</p>
    </sec>
    <sec id="sec-11">
      <title>CONCLUDING REMARKS</title>
      <p>
        Providing an expressive yet formally described rule language is of a
high importance for practical rule design and implementation. This
paper presents extensions of Set Attributive Logic as presented in
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In the proposed logic both atomic and set values are allowed
and various relational symbols are used to form atomic formulae.
The proposed language provides a concise and elegant tool of
significantly higher expressive power than in case of classical attribute
logic. It can be applied for design, implementation and verification
of rule-based systems.
      </p>
      <p>In the paper new inference rules specific for the introduced logic
are presented and examined. New inference possibilities constitute
a challenge for efficient precondition matching algorithm. Algebraic
solutions are proposed. Knowledge representation and some excerpt
from inference engine implemented in PROLOG is described.
Components of a rule-based system in form of extended attributive
decision tables (the so-called XTT paradigm) are presented and their
characteristics and applications are outlined.</p>
      <p>Future work includes a more robust implementation of the type
system, tighter integration with a Java-based runtime, as well as an
interface do RDBMS.</p>
    </sec>
    <sec id="sec-12">
      <title>ACKNOWLEDGEMENTS</title>
      <p>The paper is supported by the Hekate Project funded from 2007–
2009 resources for science as a research project.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Mordechai</given-names>
            <surname>Ben-Ari</surname>
          </string-name>
          ,
          <source>Mathematical Logic for Computer Science</source>
          , Springer-Verlag, London,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Ivan</surname>
            <given-names>Bratko</given-names>
          </string-name>
          ,
          <source>Prolog Programming for Artificial Intelligence</source>
          , Addison Wesley, 3rd edn.,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Michael</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Covington</surname>
          </string-name>
          , Donald Nute, and André Vellino,
          <article-title>Prolog programming in depth</article-title>
          , Prentice-Hall,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Michael</surname>
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Genesereth</surname>
          </string-name>
          and
          <string-name>
            <surname>Nils J. Nilsson</surname>
          </string-name>
          ,
          <source>Logical Foundations for Artificial Intelligence</source>
          , Morgan Kaufmann Publishers, Inc., Los Altos, California,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Adrain</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Hopgood</surname>
          </string-name>
          ,
          <article-title>Intelligent Systems for Engineers and Scientists</article-title>
          , CRC Press, Boca Raton London New York Washington, D.C., 2nd edn.,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Peter</given-names>
            <surname>Jackson</surname>
          </string-name>
          ,
          <article-title>Introduction to Expert Systems, Addison-Wesley, 3rd edn</article-title>
          .,
          <source>1999. ISBN 0-201-87686-8.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>[7] Handbook of Data Mining and Knowledge Discovery, eds</article-title>
          ., Willi Klösgen and
          <string-name>
            <surname>Jan M. Z</surname>
          </string-name>
          <article-title>˙ytkow</article-title>
          , Oxford University Press, New York,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>[8] The Handbook of Applied Expert Systems</source>
          , ed.,
          <string-name>
            <surname>Jay</surname>
            <given-names>Liebowitz</given-names>
          </string-name>
          , CRC Press, Boca Raton,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Antoni</given-names>
            <surname>Lige</surname>
          </string-name>
          <article-title>˛za, Logical Foundations for Rule-Based Systems</article-title>
          , SpringerVerlag, Berlin, Heidelberg,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Antoni</given-names>
            <surname>Lige</surname>
          </string-name>
          <article-title>˛za and Grzegorz J</article-title>
          . Nalepa, '
          <article-title>Knowledge representation with granular attributive logic for XTT-based expert systems'</article-title>
          ,
          <source>in FLAIRS-20 : Proceedings of the 20th International Florida Artificial Intelligence Research Society Conference : Key West, Florida, May 7-9</source>
          ,
          <year>2007</year>
          , eds., David C. Wilson,
          <string-name>
            <surname>Geoffrey C. J. Sutcliffe</surname>
          </string-name>
          , and FLAIRS, pp.
          <fpage>530</fpage>
          -
          <lpage>535</lpage>
          , Menlo Park, California, (may
          <year>2007</year>
          ).
          <source>Florida Artificial Intelligence Research Society</source>
          , AAAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Grzegorz</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Nalepa</surname>
          </string-name>
          and Antoni Lige˛za, '
          <article-title>A graphical tabular model for rule-based logic programming</article-title>
          and
          <source>verification', Systems Science</source>
          ,
          <volume>31</volume>
          (
          <issue>2</issue>
          ),
          <fpage>89</fpage>
          -
          <lpage>95</lpage>
          , (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Grzegorz</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Nalepa</surname>
          </string-name>
          and Igor Wojnicki, '
          <article-title>Proposal of visual generalized rule programming model for Prolog'</article-title>
          , in 17th International conference
          <article-title>on Applications of declarative programming and knowledge management (INAP 2007) and 21st Workshop on (Constraint) Logic Programming (WLP</article-title>
          <year>2007</year>
          ) : Wurzburg, Germany, October 4-
          <issue>6</issue>
          ,
          <year>2007</year>
          : proceedings :
          <source>Technical Report 434</source>
          , eds.,
          <string-name>
            <given-names>Dietmar</given-names>
            <surname>Seipel</surname>
          </string-name>
          and et al., pp.
          <fpage>195</fpage>
          -
          <lpage>204</lpage>
          , Wurzburg : Bayerische
          <string-name>
            <surname>Julius-Maximilians-Universitat</surname>
          </string-name>
          .
          <source>Institut für Informatik</source>
          , (september
          <year>2007</year>
          ). Bayerische
          <string-name>
            <surname>Julius-MaximiliansUniversitat Wurzburg</surname>
          </string-name>
          . Institut für Informatik.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Grzegorz</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Nalepa</surname>
          </string-name>
          and Igor Wojnicki, '
          <article-title>Visual software modelling with extended rule-based model : a knowledge-based programming solution for general software design'</article-title>
          ,
          <source>in ENASE 2007 : proceedings of the second international conference on Evaluation of Novel</source>
          Approaches to Software Engineering : Barcelona, Spain,
          <source>July 23-25</source>
          ,
          <year>2007</year>
          , eds.,
          <source>Cesar Gonzalez-Perez and Leszek A. Maciaszek</source>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>47</lpage>
          . INSTICC Press, (july
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Stuart</given-names>
            <surname>Russell</surname>
          </string-name>
          and
          <string-name>
            <given-names>Peter</given-names>
            <surname>Norvig</surname>
          </string-name>
          , Artificial Intelligence:
          <string-name>
            <given-names>A Modern</given-names>
            <surname>Approach</surname>
          </string-name>
          , Prentice-Hall,
          <article-title>2nd edn</article-title>
          .,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>I. S.</given-names>
            <surname>Torsun</surname>
          </string-name>
          ,
          <article-title>Foundations of Intelligent Knowledge-Based Systems</article-title>
          , Academic Press, London, San Diego, New York, Boston, Sydney, Tokyo, Toronto,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>