<!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>KMARF: A Framework for Knowledge Management and Automated Reasoning</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Aneta Vulgarakis Feljan, Athanasios Karapantelakis, Leonid Mokrushin, Raa Inam, Elena Fersman, Carlos R. B. Azevedo, Klaus Raizer and Ricardo S. Souza Ericsson Research</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Knowledge model</institution>
          ,
          <addr-line>Adaptive systems, Reasoning, Model transformation</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we present a generic framework for knowledge management and automated reasoning (KMARF) as an enabler for intelligent adaptive systems. KMARF targets multiple reasoning problem classes (such as planning, verication and optimization) that can share the same underlying system state representation. e idea behind KMARF is to automatically select an appropriate problem solver based on a formalized reasoning expertise in the knowledge base, and convert a problem denition to a problem solver-readable format. Automation of the reasoning process reduces operational costs and enables the system to operate in dynamic environment conditions. We demonstrate our approach using a transportation planning use case.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Internet of ings (IoT)-based systems in general use a vast amount
of heterogeneous data streams and information (e.g., behavioral
models) that need to be analyzed, combined and actioned upon. is
creates a complexity that is unsustainable by only human
management and therefore, automation is a requirement. One of the rst
steps towards automation is formalization of knowledge extracted
from the dierent sources such as sensor networks, documents,
tools and from system experts. Since all the states of the system
and the environment cannot be predicted at design time, there is a
need for developing intelligent , self-adaptive systems which learn
to adjust their behavior in response to the environment. To do
this, one needs to leverage the learnings from articial intelligence
and cognitive technologies research that aim at building intelligent
systems that know about their world and are able to automatically
draw conclusions and act upon them, as humans do. A fundamental
assumption in this research is that knowledge is represented in a
tangible form (usually via ontologies), suitable for processing by
dedicated reasoning engines [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Even though there are a number
of frameworks for general intelligence aempting to solve several
classes of reasoning problems, such as planning, verication and
optimization [
        <xref ref-type="bibr" rid="ref10 ref15 ref16 ref19">10, 15, 16, 19</xref>
        ], it is still not clear to the intelligent
soware community how to eectively cope with the integration
of both declarative and procedural knowledge and some authors
Copyright ©2017 for the individual papers by the papers’ authors. Copying permied
for private and academic purposes. is volume is published and copyrighted by its
editors.
advocate for keeping the behavior descriptions separated from the
semantic, static domain knowledge [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>In this paper, we present a Knowledge Management and
Automated Reasoning Framework (KMARF), which targets multiple
reasoning problems. e purpose of KMARF is to (a) reduce system
development and deployment time, by reusing as much knowledge
as possible, such as domain models, behaviors and reasoning
mechanisms, and (b) reduce operational costs by enabling systems during
run-time to automatically decide how to adapt to changes in their
contexts and environments, with minimal or no human interaction.</p>
      <p>e strong point of KMARF is the particular way in which it
relies on a knowledge model that combines both declarative and
procedural knowledge. is combination allows the system to
automatically do extensive analysis and provide answers to
dierent reasoning questions, such as “what is the (optimal) strategy for
reaching a given state?”, “can the system end-up in an unsafe state?”,
“how much prot can the system generate aer a given amount of
time?”. On top of this KMARF supports system self-adaption by
selecting appropriate problem solvers and their parameters upon
encountering any performance degradation. For example, the
system may use KMARF in order to switch from preplanned to reactive
operations due to insucient time to replan and changed
environment conditions. In the rst case the system will use an oine
planner as a problem solver, and in the laer case it might use a
local decision maker based on the current environment inputs. In
order to use problem solvers specialized in solving specic classes
of reasoning problems, KMARF can be extended with model
transformation rules that translate from our knowledge model to the
targeted problem solver model.</p>
      <p>KMARF is suitable for large scale IoT based systems, and so
far we have applied it on the Intelligent Transport Systems (ITS)
domain. As an illustration example, we consider a transportation
planning problem i.e., how to transport passengers or goods with
a minimal cost. A cost can be e.g., the traveled distance, the time
needed for transportation of each of the passengers or goods, or the
number of buses or trucks required for transportation. e answer
to the task may be a plan i.e., a sequence of steps for the system to
perform in order to reach the goal state. In case the task cannot be
performed the answer from KMARF could be a reason why the task
cannot be performed, as well as a possible solution, which could be
to increase the number of vehicles.</p>
      <p>
        In the literature, there exist several reference architectures for
development of self-adaptive systems, such as MAPE-K [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
PELEA [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and SOA-PE [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Common to these architectures is their
identication of four processes for adaptivity: monitoring,
analyzing, planning, and executing. Additionally, KMARF extends these
architectures with a meta-reasoner that by using meta-reasoning
expertise draws a conclusion about an appropriate problem solver
or a method, and a relevant prior knowledge needed for solving a
given problem. Once the meta-reasoner decides on an appropriate
problem solver to be used KMARF provides model transformation
rules to translate the problem denition from KMARF’s knowledge
model into a format understandable by the selected problem solver,
such as Prolog, Timed Automata [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or PDDL [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>In brief, our contribution is threefold:</p>
      <p>An architecture of a generic framework for knowledge
management and automated reasoning (Section 2.1)
A knowledge model for representing both declarative and
procedural system knowledge in a machine-readable form
(Section 2.2).</p>
      <p>A prototype implementation of the KMARF architecture
(Section 3).
2</p>
    </sec>
    <sec id="sec-2">
      <title>KMARF – FRAMEWORK FOR KNOWLEDGE</title>
    </sec>
    <sec id="sec-3">
      <title>MANAGEMENT AND AUTOMATED</title>
    </sec>
    <sec id="sec-4">
      <title>REASONING</title>
      <p>In this section, we introduce our Knowledge Management and
Automated Reasoning Framework by describing its architecture and
the knowledge model that it relies on. KMARF is targeting
multiple reasoning problem classes (such as planning, verication and
optimization) that can share the same underlying state
representation. is enables reusability of knowledge and reasoning methods
across dierent domains, thus KMARF reduces operational costs
and supports systems operation in changing environment
conditions.
2.1</p>
    </sec>
    <sec id="sec-5">
      <title>Architecture</title>
      <p>A high-level conceptual view of the architecture of the framework
is depicted in Figure 1. e main components of KMARF are the
Perception Engine, the Knowledge Base, the Reasoner, the Interpreter
and the Actuation Engine.</p>
      <p>
        e Knowledge Base is responsible for representing aspects of
the domain under consideration (such as objects or concepts,
instances and states) and their relations, in well dened, machine
processable syntax and unambiguous semantics. e format of
the knowledge stored in the knowledge base complies with the
knowledge model introduced in Section 2.2, and one of the possible
formats is RDF/OWL [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. In addition, the knowledge base contains
meta-reasoning expertise, as well as model transformation rules that
are described below.
      </p>
      <p>
        e Reasoner is used for solving reasoning problems. Reasoning
in context of this paper is dened as the process of solving problems
related to planning, verication, optimization, etc. By relating a
goal query to a meta-reasoning expertise1 stored in the knowledge
base the Inference Engine draws a conclusion about an
appropriate method or a problem solver, and relevant prior knowledge for
solving a given problem. e goal query can be initiated by the
user or the Inference Engine itself based on comparison between
expected and actual system states. For example, if the goal query is
1Meta-reasoning is reasoning about reasoning, i.e., it is comprised of computational
processes concerned with the operation and regulation of other computational
processes within the same entity [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        State1
is_bus(b25)
is_bus_stop(bs1)
is_passeger(p1)
at(p1, bs1)
capacity(b25, 23)
waiting(p1, min(2))
to reach a certain goal, the inference engine will look up the
knowledge base and deduce that a Planner should be used to generate
a strategy to reach that goal. Additionally, given that most of the
planners accept planning problems in Planning Domain Denition
Language (PDDL) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] as their input, the inference engine looks up
corresponding model transformation rules that should be applied to
formulate the problem in a format understandable by the selected
planner. e Interpreter takes the generated strategy and maps it
to state changes that it gives to the Actuation Engine, so that it can
perform actuation in the real world.
      </p>
      <p>Since the physical world is not entirely predictable KMARF needs
to take into consideration that there might be changes in the
information stored in the knowledge base. e Perception Engine is
responsible, when needed, to push new knowledge from the
environment (i.e., predicates) in the knowledge base. Additionally,
when executing the strategy the Interpreter works tightly with the
Reasoner. In case there are any changes in the expected state of the
system the Reasoner sends a replanning request to the Planner.
2.2</p>
      <p>e Knowledge Model
Aer introducing the architecture of KMARF, we can move on
presenting its knowledge model that combines both declarative and
procedural knowledge.</p>
      <p>Syntax. We model declarative knowledge by describing discrete
states of a system. One such state may represent the current state,
and the others may describe either previous system states or
hypothetical states that the system may end up in the future. In this
context we do not strictly apply the notion of time, i.e., the system
may change its state instantly. However, the order of states is
important as it describes how the system evolves and may explain the
reasons behind its progress.</p>
      <p>A state is represented by an (implicitly conjunctive) set of
predicates fP1; P2; :::g expressing the facts known about the state. Each
predicate is a compound term that has a form of Pi ¹a1; a2; :::; an º,
where Pi is a predicate’s functor specied as a literal, i.e., a sequence
of characters, and aj jj 2 »1::n¼ are the arguments. e number of
arguments n is called arity of the predicate. If n = 0, then Pi denotes
a simple atomic fact. If n &gt; 0, then Pi denotes a factual relation
between its n arguments. e arguments of predicates may include:
numbers denoting literal quantity;
literals denoted by sequence of alphanumeric characters
that start from a lower case character fa; b; c; :::g that
represent objects or concepts in the domain (e.g., car may
represent “a car” );
d
lr
o
w
l
a
e
R
actuating</p>
      <sec id="sec-5-1">
        <title>Actuation Engine</title>
        <p>state changes
model
states and transformation
transitions rules
meta-reasoning</p>
        <p>expertise</p>
      </sec>
      <sec id="sec-5-2">
        <title>Reasoner</title>
      </sec>
      <sec id="sec-5-3">
        <title>Inference Engine</title>
        <p>goal query
goal query
UI
stop</p>
      </sec>
      <sec id="sec-5-4">
        <title>Planner</title>
        <p>planner problem model checker
format problem format
... Model Checker property proof
strategy</p>
      </sec>
      <sec id="sec-5-5">
        <title>Interpreter</title>
        <p>expected state
sensing</p>
      </sec>
      <sec id="sec-5-6">
        <title>Perception Engine</title>
        <p>predicates</p>
        <p>Knowledge Base
domain and reasoning
expertise
human
expertise
user specified
goal
compound terms of the form Ti ¹a1; a2; :::; an º that may
have one or many arguments, which can be numbers,
literals or compound terms (e.g., velocity¹car ; kmh¹50ºº may
stand for “the velocity of the car car is 50 km/h”).</p>
        <p>An example shown in Figure 2 contains a state State1 dened
using a set of six predicates fis bus; is bus stop; is passeger ; at ;
capacity; waitingg. e arguments of the rst three predicates declare
existence of bus b25, bus stop bs1, and passenger p1 accordingly.
e fourth predicate states that passenger p1 is at bus stop bs1. e
h predicate indicates that bus b25 has 23 available places. e
last predicate declares a fact that passenger p1 has been waiting at
the bus stop from last two minutes.</p>
        <p>e procedural knowledge is modeled as a collection of
specications of potential transitions between states. A transition
specication consists of a precondition, a computation, and an action.
Precondition and action both have the same syntax as the state, i.e.,
they are represented as a set of predicates, except the following
two dierences. Variables denoted by sequences of alphanumeric
characters starting from a capital leer fX ; Y ; Z ; :::g are allowed
in arguments of predicates and compound terms in both
precondition and action. e action predicates are restricted to the set
fadd; delete g. Intuitively, action predicates denote the procedures
performed with a state when a transition is performed.
Computation is an ordered list of eect free function calls, i.e. they do not
modify the state and are only used during the processing of the
transition. e arguments of a function call may be numbers,
literals, variables, and functions. If a function returns a value, the last
argument of a function call is a variable that holds it. e result of
a function call may be used as an argument in subsequent function
calls of the computation or in the action.</p>
        <p>Example in Figure 3 demonstrates specication of a transition
T ransition1 that allows a system to evolve from state State2 to state
State3 dened in Figure 2. Aer matching the precondition, the
computation checks if a passenger has been waiting for less than 20
minutes and if there is enough capacity to onboard a passenger, it
decreases the bus capacity by 1. e action removes the passenger
Precondition
is_bus(B)
is_bus_stop(S)
is_passeger(P)
at(P, S)
at(B, S)
capacity(B, C)
waiting(P, min(Y))</p>
        <p>Transition1</p>
        <p>Computation
less_than(Y, 20)
greater_than(C, 0)
decrease(C, 1, NC)</p>
        <p>Action
delete(waiting(P, U(Y))
delete(at(P, S))
add(at(P, B))
delete(capacity(B, C))
add(capacity(B, NC))
waiting predicate, updates passenger location and available bus
capacity value.</p>
        <p>
          By dening the rule consequents as add and delete operations on
the knowledge base itself, we allow for a self-referential rule-based
system [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] that can update the knowledge base using meta-rules
triggered by events detected in the data streams coming from
realtime system execution. is feature also enables self-adaptation
capabilities based on real-time changes in the knowledge base.
        </p>
        <p>Semantics. We formalize semantics of literals, compound terms
and predicates by associating meanings to their symbols. For
example, we use the predicate at ¹p1; bs1º to model the fact that a
passenger p1 is at the bus stop bs1. We say that the meaning of at is
to represent a close spacial relationship between its two arguments.</p>
        <p>We dene semantics of our knowledge model in terms of a
transition system. Formally, a transition system is a tuple ¹S; T ; !º, where
S is a set of states, T is a set of transition specication names, and
! is set of state transitions (i.e., a subset of S T S). e fact that
T r ansit ion1
¹State1; T ransition1; State2º 2 ! is wrien as State1 !
State2, and represents a transition between a source state State1
and a destination state State2 by applying transition specication
T ransition1.</p>
        <p>In order for a transition specication to be applied its
precondition must match the source state and its computation must succeed.
e semantics of matching the precondition with a state are
formalized by dening a logical unication between predicates of the
precondition and the predicates of the state, as follows. We unify
every predicate in the precondition with all the predicates from
the state, and use variables substitutions in subsequent
unication of the remaining precondition predicates. If the unication
of all precondition predicates with the state predicates succeeds,
the computed variable substitution is used in the computation and
the action, as explained below. Obviously, there can be multiple
matches of a precondition with a source state. In this case, every
match will produce a transition in ! given that the corresponding
computation succeeds.</p>
        <p>e meaning of the computation is evaluation of its functions in
the order of specication. We use denotational semantics to dene
the meaning of a function F as a set of ordered tuples</p>
        <p>f&lt; a11; :::; an1 1; an1 &gt;; :::; &lt; am1 ; :::; amn 1; amn &gt;g;
where ai1; :::; ain 1 are function arguments, and ain is the value
returned by F given those arguments. A function call F ¹a1; :::; an 1; an º
is the process of nding such an for given a1; :::; an 1 that there is a
tuple &lt; a1j; :::; anj 1; anj &gt; in the denition of F for some j. If there is
no such tuple found, the function call fails. Otherwise, the function
call succeeds and the value of anj is assigned to a corresponding
variable. If the returned value an is of boolean type, i.e. it belongs
to the set ftrue; f alse g, then the function succeeds if an = true
and fails if an = f alse. A computation succeeds if all the function
calls in it succeed. Otherwise, the computation fails.</p>
        <p>e semantics of the transition action execution are dened by
two operations. e rst operation instantiates predicates in the
action by applying computed variable substitution to them. is
means that all the variables in the action predicates are replaced
with the corresponding values from the variable substitution. e
second operation copies all the predicates from the source state
to the destination state, and for every predicate in the action we
perform the following procedures on the destination state:
if the instantiated predicate symbol is add, then its
argument is treated as a predicate, and it is added to the
destination state;
if the instantiated predicate symbol is delete, then its
argument is treated as a predicate, and it is removed from the
destination state.
3</p>
        <p>IMPLEMENTATION
is section describes current progress towards a prototype
implementation of the KMARF architecture illustrated in Figure 1. e
implementation targets a large problem area in ITS known as
“transportation planning”, which we dene as the schedules generated for
a set of vehicles to pickup and alight people or cargo along one or
more routes, within a given amount of time (see also Section 1). e
transport planning problem includes a set of connected vehicles, for
example buses or trucks, and a central coordinating function that
computes the schedule and transmits it to these vehicles2. In this
implementation we assume that the Inference Engine component
has already deduced that a Planner should be used to solve the
transportation planning problem, using meta-reasoning expertise
2Correct interpretation of the schedule rests on the vehicles, which can be partially or
completely autonomous or they may also have human drivers.
and user query data supplied from the Knowledge Base and the user
interface components respectively.</p>
        <p>
          Figure 4 shows the components of the implemented system. One
of the components implemented is the Knowledge Base, which
contains model transformation rules for PDDL language as well as states
and transition models that are based on a set of ontologies that the
authors have dened in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and contain information for the
particular transport planning problem. e ontologies are organized in
multiple layers of abstraction, a common one, called “Upper”, and
an “ITS” specic one used for reasoning about ITS related
problems. Since the ontologies are out of the scope of this paper, for
more details we refer the reader to [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. e above models are
described using semantic web technologies and are based on the W3C
Web Ontology Language (OWL) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] and stored in Turtle format
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. e other component is a PDDL Generator, which, given the
transformation rules, states and transition les as input, generates
problem and domain les in PDDL language. PDDL Generator is
implemented in Java [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and uses Apache Jena [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for parsing
the Turtle-formaed input from the knowledge base. Additionally,
Eclipse Jey [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] provides a Representational State Transfer (REST)
API for triggering PDDL le generation, and dening custom states
and transition models. More specically:
e API allows human experts (for example knowledge
engineers) to specify a transport logistics problem, by adding
a new initial and goal state in the knowledge base, in the
form of a state le, and a set of transitions with
precondition, computation and action parts in the form of a
transition le. ese two les are jointly used by the PDDL
Generator soware component in order to generate a new
schedule. e state le denes the agents, vehicles and
routes, contains information about the initial state of the
system (e.g., the location of agents in the route, the route
and its waypoints, the time required for vehicles to travel
a route, etc.) and denes goal conditions (e.g., all agents
are serviced). e transitions le describes intermediate
transitions that are used by the planner to reach the
specied goal state from the initial state. An example of such
plan can be found at [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
e API also provides means for triggering generation of a
new PDDL problem and domain le given the above input
on request of a human or other system. Typically this
request is created from a customer (e.g., human operator, or
an automated eet management system). Once generated,
the les are assigned Universal Resource Identiers (URIs).
An external system can subsequently perform Hypertext
Transfer Protocol (HTTP) GET requests using the URI
references to retrieve the les. An example of such a system
can be a PDDL solver3 For this implementation, we use a
third-party solver named “OPTIC”, originally developed
by Benton et al [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>
          e authors have released the current implementation of the
Knowledge Base and PDDL Generator as open-source, available for
the community to use [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. One exemplary use of our
implementation can be to initiate replanning activity based on detection of a
blocked route (e.g., due to road accident or roadwork) or runtime
input on larger passenger demand. Currently, our
implementation does not cover such use cases since there is no component
to support interaction with the real world, both for triggering the
planning process, but also for actuating real-world connected
devices (e.g. buses or sensors) upon execution of the generated plan,
however this is planned work. In its current state the
implementation can be used for rapid prototyping of transportation planning
functions. In addition to the soware itself, the “Upper”, “ITS”,
“PDDL model transformation rules” and a set of common reusable
transitions and state ontologies are provided in Turtle format.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>In this paper, we introduce a generic framework for knowledge
management and automated reasoning (KMARF) as an enabler for
intelligent adaptive systems. Given a stimulus as a problem
statement, KMARF automatically performs reasoning, selects
appropriate problem solvers, and allows the system to adapt to changes in
its context and environment. To do this, KMARF relies on a
metareasoner that by using meta-reasoning expertise draws a conclusion
about an appropriate problem solver or a method to perform
reasoning. Once a particular problem solver has been selected, KMARF
uses a combination of a declarative and procedural knowledge
model and a transformation rules model to generate an input for
the problem solver. Subsequently, the result of problem solving is
used to progress towards completing the original problem.</p>
      <p>In the implementation of KMARF we have so far progressed
into the development of an ontology for the knowledge base using
OWL Web Ontology Language, and we have used the framework
to automatically generate PDDL les, feed them into a planner, and
create plans. Since, KMARF has a much bigger vision than solving
planning problems, in the future we plan on studying how our
3In its current form, the API does not support adding of new model transformation
rules, which means that only PDDL language is supported. In the future however, we
plan to expand the functionality by adding support for “pluggable” problem solving
expertise les.
knowledge model can be correlated to other formalisms e.g., Timed
Automata.</p>
      <p>As future work, we also plan to study how meta-reasoning can
help KMARF to determine which prior knowledge and algorithms
are relevant when a new, problem or unforeseen instance arrives.
Such instance corresponds to the current state of the world, along
with all current available sensory information. Initially, the system
only knows how to solve problems it has seen before and had
previously found reductions that could be solved separately using
known procedures. If it can not nd such a reduction for a new
instance, it must recur to space state exploration for generating
a sequence of state transitions that either lead to the specied
goal state or to a beer state in which either the system knows
how to proceed with further reductions or declares the problem as
intractable under its current knowledge.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Rajeev</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>David L.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <year>1994</year>
          .
          <article-title>A theory of timed automata</article-title>
          .
          <source>eoretical Computer Science</source>
          <volume>126</volume>
          ,
          <issue>2</issue>
          (
          <year>1994</year>
          ),
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Foundation</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Apache Jena: A free and open source Java framework for building Semantic Web and Linked Data applications</article-title>
          . (
          <year>2016</year>
          ). hps://jena. apache.org
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <source>[3] Chia Baral</source>
          .
          <year>2003</year>
          .
          <article-title>Knowledge Representation, Reasoning, and Declarative Problem Solving</article-title>
          . Cambridge University Press, New York, NY, USA.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>David</surname>
            <given-names>Becke</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            <given-names>Tim</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prud'hommeaux Eric</surname>
            , and
            <given-names>Carothers</given-names>
          </string-name>
          <string-name>
            <surname>Gavin</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>RDF 1.1 Turtle: Terse RDF Triple Language</article-title>
          . W3C
          <string-name>
            <surname>Recommendation</surname>
          </string-name>
          (
          <year>February 2014</year>
          ). hp://www.w3.org/TR/turtle/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Benton</surname>
          </string-name>
          , Amanda Coles, and
          <string-name>
            <given-names>Andrew</given-names>
            <surname>Coles</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Temporal Planning with Preferences and Time-Dependent Continuous Costs</article-title>
          .
          <source>In International Conference on Automated Planning and Scheduling</source>
          . hps://www.aaai.org/ocs/index.php/ ICAPS/ICAPS12/paper/view/4699
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>William</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Clancey</surname>
          </string-name>
          .
          <year>1983</year>
          .
          <article-title>e epistemology of a rule-based expert system - a framework for explanation</article-title>
          .
          <source>Articial Intelligence</source>
          <volume>20</volume>
          ,
          <issue>3</issue>
          (
          <year>1983</year>
          ),
          <fpage>215</fpage>
          -
          <lpage>251</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Autonomic</given-names>
            <surname>Computing</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>An architectural blueprint for autonomic computing</article-title>
          .
          <source>IBM Publication</source>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Foundation</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Jey: Open-Source Servlet Engine and</article-title>
          HTTP Server.
          <article-title>(</article-title>
          <year>2016</year>
          ). hp://www.eclipse.org/jey/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Malik</given-names>
            <surname>Ghallab</surname>
          </string-name>
          , Dana Nau, and
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Traverso</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>e actor's view of automated planning and acting: A position paper</article-title>
          .
          <source>Articial Intelligence</source>
          <volume>208</volume>
          (
          <year>2014</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          . DOI:hp://dx.doi.org/10.1016/j.artint.
          <year>2013</year>
          .
          <volume>11</volume>
          .002
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Ben</surname>
            <given-names>Goertzel</given-names>
          </string-name>
          , Cassio Pennachin, and
          <string-name>
            <given-names>Nil</given-names>
            <surname>Geisweiller</surname>
          </string-name>
          . Engineering General Intelligence, Part 1.
          <source>Atlantis inking Machines</source>
          , Vol.
          <volume>5</volume>
          . Atlantis Press. hp: //link.springer.com/10.2991/
          <fpage>978</fpage>
          -94-6239-027-0
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Ce</surname>
          </string-name>
          <article-title>´sar Guzma´n, Vidal Alca´zar</article-title>
          , David Prior, Eva Onaindia, Daniel Borrajo, Juan Fdez-Olivares, and Ezequiel intero.
          <year>2012</year>
          .
          <article-title>PELEA: a domain-independent architecture for planning, execution and learning</article-title>
          .
          <source>In Proceedings of the Scheduling and Planning Applications Workshop</source>
          , Vol.
          <volume>12</volume>
          .
          <fpage>38</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Pascal</surname>
            <given-names>Hitzler</given-names>
          </string-name>
          , Markus Kro¨tzsch, Bijan Parsia,
          <string-name>
            <surname>Peter F Patel-Schneider</surname>
            ,
            <given-names>and Sebastian</given-names>
          </string-name>
          <string-name>
            <surname>Rudolph</surname>
          </string-name>
          .
          <year>2012</year>
          . OWL 2
          <string-name>
            <given-names>Web</given-names>
            <surname>Ontology Language Primer (Second Edition). W3C Recommendation</surname>
          </string-name>
          (
          <year>December 2012</year>
          ). hps://www.w3.org/TR/owl2-primer/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Gosling</surname>
            <given-names>James</given-names>
          </string-name>
          , Joy Bill, Steele Guy,
          <string-name>
            <given-names>Bracha</given-names>
            <surname>Gilad</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Buckley</given-names>
            <surname>Alex</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>e Java Language Specication: Java SE 8 Edition</article-title>
          . Oracle (
          <year>February 2015</year>
          ). hps: //docs.oracle.com/javase/specs/jls/se8/html/index.html
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14] KMARF authors
          <year>2016</year>
          .
          <article-title>Prototype PDDL Generator Public Repository</article-title>
          . (
          <year>2016</year>
          ). hps://github.com/SSCIPaperSubmier/ssciPDDLPlanner
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>John</given-names>
            <surname>Laird</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>e SOAR cognitive architecture</article-title>
          . MIT Press, Cambridge, Mass. ; London, England.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Licato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sun</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Bringsjord</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Structural representation and reasoning in a hybrid cognitive architecture</article-title>
          .
          <source>In 2014 International Joint Conference on Neural Networks (IJCNN)</source>
          .
          <volume>891</volume>
          -
          <fpage>898</fpage>
          . DOI:hp://dx.doi.org/10.1109/IJCNN.
          <year>2014</year>
          .6889895
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Drew</surname>
            <given-names>Mcdermo</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            <given-names>Ghallab</given-names>
          </string-name>
          , Adele Howe, Craig Knoblock, Ashwin Ram, Manuela Veloso,
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Weld</surname>
          </string-name>
          , and
          <string-name>
            <given-names>David</given-names>
            <surname>Wilkins</surname>
          </string-name>
          .
          <year>1998</year>
          . PDDL - e Planning Domain Denition Language.
          <source>Technical Report</source>
          . CVC TR-
          <volume>98</volume>
          -003/DCS TR-
          <volume>1165</volume>
          ,
          <article-title>Yale Center for Computational Vision</article-title>
          and Control. hp://citeseerx.ist.psu.edu/ viewdoc/summary?doi
          <source>=10.1.1.37.212</source>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Swarup</given-names>
            <surname>Kumar</surname>
          </string-name>
          <string-name>
            <surname>Mohalik</surname>
          </string-name>
          , Mahesh Babu Jayaraman, Badrinath Ramamurthy, and Aneta Vulgarakis Feljan.
          <year>2015</year>
          .
          <article-title>SOA-PE: A service-oriented architecture for planning and execution in cyber-physical systems</article-title>
          .
          <source>In Proceedings of IEEE IC-SSS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Alexei</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Samsonovich</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Toward a Unied Catalog of Implemented Cognitive Architectures</article-title>
          .
          <source>In Proceedings of the 2010 Conference on Biologically Inspired Cognitive Architectures</source>
          <year>2010</year>
          :
          <article-title>Proceedings of the First Annual Meeting of the BICA Society</article-title>
          . IOS Press, Amsterdam, e Netherlands, e Netherlands,
          <volume>195</volume>
          -
          <fpage>244</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Robert</given-names>
            <surname>Andrew Wilson and Frank C Keil</surname>
          </string-name>
          .
          <year>2001</year>
          .
          <article-title>e MIT encyclopedia of the cognitive sciences</article-title>
          . MIT press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>