<!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>The notion delegation of tasks in Linked Data through agents</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Teo lo Chambilla</string-name>
          <email>tchambilla@utec.edu.pe</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Gutierrez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DCC Universidad of Chile and CIWS</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Technology and Engineering</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this exploratory research we study the computational abilities of servers in the Linked Data network through agents that cooperatively evaluate tasks via delegation. We show the feasibility of developing lightweight systems of agents over the current Web infrastructure. We design a simple delegation language, develop a lightweight software (agent) to be installed over Web servers, and implement a study case over actual Web data to show the viability of the proposal.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>3 This paper is a short report on the Master Thesis of the rst author. The spanish
version is available at http://repositorio.uchile.cl/handle/2250/139150</p>
    </sec>
    <sec id="sec-2">
      <title>A Formal Speci cation of Delegation on the Web</title>
      <p>We formulate the delegation mechanism and identify the main characteristics
that may occur during the delegation in MAS in the environment of the Web.
By way of motivation, consider an organized group of Web servers A, B, C, D,
E and in each of them agents AgentA, AgentB, AgentC , AgentD and AgentE
respectively installed. A possible scenario of interaction of these agents is that
AgentA delegates a tasks to AgentB and AgentC , and both report the task
performed to AgentE , who centralizes and processes the results received from
them, to nally deliver the result to AgentD, who in turn can deliver the result
to AgentA or alternatively notify by a messaging system to the original user who
originated the task.</p>
      <p>
        A prerequisite for the proper functioning of the scenario described would be
the existence of a software infrastructure of MAS so that agents can interact with
each other collaboratively. On the Web, a platform environment based entirely
on Web protocols allowing robust, secure and reliable interaction is required.
This platform should include at least the following capabilities: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) The ability
to process the delegated task; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) to subdelegate tasks to other actors; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) to
combine the results received; (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) to reason about the results and determine if the
result is still necessary to delegate to another agent or the process is terminated;
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) to put the results in the speci ed place.
      </p>
      <p>For allowing the agents to develop their capacities it is needed a high level
of communication infrastructure between platforms. The Agent Communication
Language (ACL) [12] communication language established by FIPA would be the
most appropriate for it. On the other hand, an ideal platform for MAS would be
JAVA Agent DEvelopment Framework because it has as characteristic a good
communication infrastructure. However, although it supports HTTP protocol
communications, is not completely oriented to the Web. For this reason, we
develop and used platform called Agent Server [4], which is based entirely on
the Web and developed with features of a REST API. Agent Server incorporates
relevant information and functions for managing agents from the behavior and
life cycle point of view. The architecture of this platform includes the Message
Transport Protocol Module for reliable processing of messages, which uses the
ACL and managed by the methods of the HTTP communication protocol.
Likewise Agent Manager incorporates the module responsible for the management
of the platform and agents.</p>
      <p>The core of the MAS is the notion of action, which codes the basic capabilities
of the system. In the following we introduce the miminal actions that agents
should have to implement the delegation process:
{ Exec(Expr; M data) The agent that has this action implemented should have
the ability to run a task. This action is composed of Expr that represents a
particular expression (for example, an SPARQL expression, an SQL expression),
and M data that is the metadata that is required for the implementation of
the action (for example it can be either a constraint).
{ PutTo(Agents; R) The agent that has this action implemented has the
ability to make and/or deliver a result obtained after performing an action
Exec( ) to an agent that can be speci ed initially, or could be the one that
initiated a task or a third party that is on a di erent platform but within
the same domain. In this action, Agents represents the agent receiving the
result and R represents the result obtained.
{ Join(Ri; :::; Rn) The agent that has this action implemented has the ability
to unite the results received and integrate them into one. This actions parameters
Ri; :::; Rn represent the results received.</p>
      <p>The process of delegation requires agents that might specify arguments and
communicate data in a structured manner. The parameters can be about the
nature of information search, basic negotiation, or simply express tasks that the
agent must perform. The degree of allocation of those parameters will re ect
the degree of delegation. We use the notion of performatives de ned in the
Speech Acts Theory presented by Austin [2]. In the ACL the performatives are
denoted as Communicative Acts and is expressed as a query, recommendation
or call. For our current model we only consider the performatives QUERY IF,
REQUEST and INFORM. The choice of these is due to the simplicity of their
implementation.</p>
      <p>In order to de ne a formal semantics, we start from the Communicative Act
S-Delegate(), described by Doherty et al. [5]. Their setting is oriented towards
completely reactive agents, that is, agents with very simple reasoning capabilities
and under the restrictions of the HTTP communication protocol. The following
expression represents represents Communicative Act of the FIPA Architecture:</p>
      <p>S-Delegate(AgentA; AgentB; performative( ; M data)):
This means that the AgentA delegates the task to AgentB, using the FIPA
performatives. This means that the following conditions must be ful lled: All
agents have the same capabilities, that is, the same actions are implemented in all
agents; All agents exhibit the list of actions implemented; The agents belonging
to the same domain know of the existence of other agents and therefore know
their location; At the same domain all agents have the necessary permissions to
perform an action.</p>
      <p>The actual behavior of MAS relies in a relevant manner in the specifation
of the interaction protocol between participants to ensure interoperability and
safety of participants. The protocol describes the interaction between AgentA
and AgentB and is developed in the following two phases: Phase 1. The AgentA
checks the list of actions that are implemented in AgentB. To do this, the
performatives QUERY IF (to query the actions to develop) and INFORM (for
the result of the query) are used; Phase 2. If the received result satis es the list
of actions to be developed, AgentA plays the role of the delegator agent that
delegates the task and AgentB plays the role of contractor agent. To do this,
the performatives REQUEST and INFORM are used. By means of REQUEST
the task is sent to the contractor agent AgentB, who is committed to execute
the task. Once it nishes the execution, sends a conclusion message by means of
INFORM to AgentA, in order that the delegator does not wait inde nitely.</p>
    </sec>
    <sec id="sec-3">
      <title>NautiLOD Distributed Execution</title>
      <p>In the literature there are di erent approaches to address the navigation on
the Linked Open Data (LOD). Among them is the language NautiLOD [9, 11],
a declarative language designed to specify navigation patterns in LOD. This
language is based on regular expressions on predicates RDF intertwined with
tests of the type ASK SPARQL queries issued on the RDF resources present at
each node (server) this is implemented by SWPORTAL [10] and SWGET [8].
Both SWPORTAL and SWGET are currently implemented in a centralized form,
depending to process a NautiLOD expression on a central node that makes the
succesive requests to di erent Endpoints using only the GET method of the
HTTP protocol.</p>
      <p>In our case study we develop a fully distributed version using agents. For this,
four servers have been con gured in the Microsoft Azure platform in which we
replicated the SPARQL Endpoints dbpedia.org, freebase.org, geonames.org and
yago.org respectively and agents A, B, C and D installed on each server. Each
of these agents has implemented a NautiLOD Engine, which allows to process
NautiLOD expressions and delegating tasks if it were necessary.</p>
      <p>To illustrate, let us show how the following query, described in the literature [9]
performs: \Starting from DBpedia, nd cities with fewer than 15000 persons,
along with their aliases, in which musicians,currently living in Italy, were born".</p>
      <p>This expression becomes an ASK query interlaced with a FILTER which
allows evaluating triples that meet the pattern established. The agent expression
takes the form ::putTo( AgentC , ::exec( EXP )) which will be interpreted
by the players involved. The putTo( ) action indicates that the result will be
delivered to AgentC after executing the exec( EXP ) action where EXP is the
NautiLOD expresssion.</p>
      <p>
        The execution of the NautiLOD expression uses delegation as follows: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
AgentA starts the processing of the NautiLOD expression and it obtains the rst
description (for example, D(dbp:Rome)) and looks for URIs having dbp:hometown
as a predicate and getting as result those that satisfy this pattern; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) There
are several URIs belonging to other Endpoints, but according to the initial
expression our interest are only URIs belonging to the Endpoint geonames.org.
AgentA communicates with AgentB to send the NautiLOD expression by a
message ACL expressed as Communicative Act of type msg(AgentA; AgentB;
REQU EST (P utT o(AgentC ; Exec(Expr; M data))) where AgentC represents the
agent receiver and Expr represents the new NautiLOD expression, and M data
represents the metadata. When the request reaches to AgentB, it evaluates the
new NautiLOD expression with a reasoning similar to the one of the initial
agent; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) AgentB has to check if the query can be satis ed, that is, whether this
city has less than 15K habitants. AgentB at geonames.org contacts directly the
AgentC to send the result (for example, the URI geo:Solarolo) by type messages
ACL msg(AgentB; AgentC ; REQU EST (Result(Ri))); (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) Optionally, AgentC
noti es the result of the task direct to the email of the requesting user.
The design of a speci cation language for the delegation of tasks in the environment
of the Web (really in Linked Open Data) poses several challenges. The work
presented here shows the feasibility of implementing a lightweight system of
agents using current Web infrastructure (communication protocols, LOD system
of distributed data, and available proposals of navigational languages).
      </p>
      <p>
        At rst sight it may seem this as a simple excercise or example. But it
development needs: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) developing a lightweight agent infrastructure (with a
basic communication language) that follows basic standards in the Agent eld
(and thus, able to be further extended); (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) using only Web protocols (particularly
HTTP) and to make it scalable; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) to have power to be able to implement over
it a complex navigational language like NautiLOD. To integrate these tasks in
a modula fashion is by no means a trivial endeavor.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A. H. H.</given-names>
            <surname>Althaga</surname>
          </string-name>
          .
          <article-title>Designing a framework for restful multi-agent systems</article-title>
          .
          <source>Master's thesis</source>
          , Department of Computer Science, University of Saskatchewan,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Austin</surname>
          </string-name>
          .
          <article-title>How to do things with words</article-title>
          , volume
          <volume>367</volume>
          . Oxford Univ. Press,
          <year>1975</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>C.</given-names>
            <surname>Castelfranchi</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Falcone</surname>
          </string-name>
          .
          <article-title>Towards a theory of delegation for agent-based systems</article-title>
          .
          <source>Robotics and Autonomous Systems</source>
          ,
          <volume>24</volume>
          (
          <issue>3</issue>
          ):
          <volume>141</volume>
          {
          <fpage>157</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>T.</given-names>
            <surname>Chambilla</surname>
          </string-name>
          . Agent Server Platform. https://github.com/tchambil/ agent-server,
          <year>2015</year>
          . [Online; accessed 01-March-2017].
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P.</given-names>
            <surname>Doherty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Heintz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Landen</surname>
          </string-name>
          .
          <article-title>A delegation-based architecture for collaborative robotics</article-title>
          .
          <source>In Agent-Oriented Software Engineering XI</source>
          , pages
          <volume>205</volume>
          {
          <fpage>247</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P.</given-names>
            <surname>Doherty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Heintz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Landen</surname>
          </string-name>
          .
          <article-title>A distributed task speci cation language for mixed-initiative delegation</article-title>
          .
          <source>In Principles and Practice of Multi-Agent Systems</source>
          , pages
          <fpage>42</fpage>
          {
          <fpage>57</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>R.</given-names>
            <surname>Fielding</surname>
          </string-name>
          .
          <article-title>Representational state transfer</article-title>
          .
          <source>Architectural Styles and the Design of Netowork-based Software Architecture</source>
          , pages
          <volume>76</volume>
          {
          <fpage>85</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>V.</given-names>
            <surname>Fionda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Pirro</surname>
          </string-name>
          .
          <article-title>Semantically-driven recursive navigation and retrieval of data sources in the web of data</article-title>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>V.</given-names>
            <surname>Fionda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Pirro</surname>
          </string-name>
          .
          <article-title>Semantic navigation on the web of data: speci cation of routes, web fragments and actions</article-title>
          .
          <source>In Proceedings of the 21st international conference on World Wide Web</source>
          , pages
          <volume>281</volume>
          {
          <fpage>290</fpage>
          . ACM,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>V.</given-names>
            <surname>Fionda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Pirro.</surname>
          </string-name>
          <article-title>The swget portal: Navigating and acting on the web of linked data</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          ,
          <volume>26</volume>
          :
          <fpage>29</fpage>
          {
          <fpage>35</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>V.</given-names>
            <surname>Fionda</surname>
          </string-name>
          , G. Pirro, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          .
          <article-title>N auti lod: A formal language for the web of data graph</article-title>
          .
          <source>ACM Transactions on the Web (TWEB)</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <fpage>5</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. T. FIPA.
          <article-title>Fipa communicative act library speci cation. Foundation for Intelligent Physical Agents</article-title>
          , http://www. pa. org/specs/ pa00037/SC00037J. html (
          <issue>30</issue>
          .6.
          <year>2004</year>
          ),
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. A. Gouach and
          <string-name>
            <given-names>M.</given-names>
            <surname>Bergeret</surname>
          </string-name>
          .
          <article-title>Rest-a: An agent virtual machine based on rest framework</article-title>
          .
          <source>In Advances in Practical Applications of Agents and Multiagent Systems</source>
          , pages
          <fpage>103</fpage>
          {
          <fpage>112</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <article-title>An introduction to multiagent systems</article-title>
          . John Wiley &amp; Sons,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>