<!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>SymposiumPlanner-2011: Querying Two Virtual Organization Committees</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zhili Zhao</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Adrian Paschke</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chaudhry Usman Ali</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Harold Boley</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Department, Freie Universita ̈t Berlin</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Computer Science, University of New Brunswick, Canada maniali[AT]gmail.com</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Institute for Information Technology, National Research Council Canada harold.boley[AT]nrc.gc.ca</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <abstract>
        <p>SymposiumPlanner-2011 is the newest in a series of Rule Responder instantiations for the Questions&amp;Answers (Q&amp;A) sections of the o cial websites of the RuleML Symposia. It supports committee members via personal agents based on member-encoded rule knowledge. The personal agents are invoked by an organizational agent which selects them using a responsibility assignment matrix. This paper describes SymposiumPlanner-2011, which goes beyond the previous instantiations by providing a more powerful user interface and reducing redundancy in the internal conference data repositories.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>multi-agent system. This project successfully bridged EMERALD and Rule
Responder, and added new functionalities such as the mapping of paper topics to
Symposium tracks.</p>
      <p>For the two installments of the 5th International RuleML Symposium8, ”RuleML
2011 - Europe” and ”RuleML 2011 - America”, our SymposiumPlanner-2011
employs two Sub-Organizational Agents (Sub-OAs) and an overarching
SuperOrganizational Agent (Super-OA). Along with the personal agents, these agents
handle other issues associated with Super-OA-to-Sub-OA delegation, intelligent
decision-tree-like Q&amp;A, e.g. about where to submit theory papers, etc. We
upgraded the communication middleware and rule agents of SymposiumPlanner
to their latest versions and complement the user client to issue queries via a
controlled natural language.</p>
      <p>The rest of the paper is structured as follows: Section 2 introduces the
SymposiumPlanner-2011 system and highlights its novel features. Section 3
describes the implementation of SymposiumPlanner-2011 in detail. Based on our
experience and analysis, we close with some suggestions about
SymposiumPlanner’s future development.
2</p>
    </sec>
    <sec id="sec-2">
      <title>SymposiumPlanner-2011 Use Case Description</title>
      <p>The SymposiumPlanner-2011 agents support the organizing committee members
in their organization tasks, such as: helping the program chair to monitor and
possibly move important dates, finding contact information about selected chairs
of the symposium, answering questions of participants about the conference, etc.
The organization of the symposium committee is modeled by a coordinator, who
is responsible for communicating with the executors which complete tasks on
behalf of the symposium chairs. In SymposiumPlanner, the coordinator is
implemented as an organizational agent (OA), which knows the responsibilities and
the roles of each executor (Symposium chair). The OA manages the executors,
which are implemented as personal agents (PAs).</p>
      <p>The 5th International Symposium on Rules 2011 has two installments ”RuleML
2011 - Europe” (IJCAI 2011) and ”RuleML 2011 - America” (BRF 2011). To
better manage disparate symposiums, SymposiumPlanner-2011 provides three
Organizational Agents (OAs) to model the overall RuleML-2011 organization
and its two sub-committees of the two Symposium installments:
- The Super-OA delivers and filters queries and requested tasks to the
Sub</p>
      <p>OAs, single point of entry for that specific instalment of RuleML 2011.
- The Sub-OAs manage the organization committee members of the two
RuleML2011 installments. They filter, decide and delegate incoming queries to
responsible personal agents in the appropriate sub-organization.</p>
      <p>An ontological RAM represents the roles and responsibilities of the Sub-OAs
and the personal agents in the virtual organization of RuleML Symposium 2011.</p>
      <sec id="sec-2-1">
        <title>8 http://2011.ruleml.org</title>
        <p>Table 1 gives a RAM fragment of the committee chairs of RuleML Symposium
2011. Negotiation and distributed coordination protocols are applied to manage
and communicate with the organizations’ agents and external agents.</p>
        <p>The personal agents are self-autonomous agents and have their own
rulebased decision and behavioral logic on top of their personal information sources,
Web services, vocabularies/ontologies and knowledge structures. The rules are
executed by di↵ erent platform-specific rule engines which communicate via an
Enterprise Service Bus (ESB) using standardized Reaction RuleML messages
(event messages).</p>
        <p>Besides consulting knowledge from the internal data repositories, which was
very common in previous instantiations, the SymposiumPlanner-2011 rule agents
access external data sources to reduce redundancy in the conference data via
query languages such as SQL, SPARQL, etc. External data sources such as
calendars, vocabulary definitions, databases, web pages, metadata sources, personal
data are dynamically queried at runtime and used as facts in the internal
knowledge base of an agent. For instance, in SymposiumPlanner-2011, the rule agents
access data coming from the Semantic Web Dog Food RDF database, which
contains information about the RuleML-2011 proceedings such as authors, papers,
reviewers.</p>
        <p>As a Web-based Q&amp;A application, the previous instantiations of
SymposiumPlanner allowed users to issue queries via selection of the queries in adaptable
Web form menus. The potential queries needed to be defined before delivering
the system to users. It becomes a real burden when there are many kinds of
queries available. For the purpose of resolving this problem, SymposiumPlanner
2011 provides a translator service, which can automatically translate public
interface descriptions of function rules to Reaction RuleML messages. Meanwhile,
a controlled English has a restricted syntax and a restricted semantics described
by a small set of construction and interpretation rules. It is not di cult for
users to learn it. SymposiumPlanner 2011 also strives for allowing users to issue
the queries in controlled English and then translate them into the standardized
Reaction RuleML messages.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>SymposiumPlanner-2011</title>
      <p>SymposiumPlanner-2011 provides three Organizational Agents (OAs) to model
the overall RuleML-2011 organization and its two sub-committees of the two
Symposium installments. The general architecture of SymposiumPlanner 2011
is shown in Figure 1. In SymposiumPlanner-2011, we use the latest Prova 3.1.3
rule engine for the OAs, which is now an OSGi bundle and can run in an OSGi
container with just a few dependencies. It packs a lot of features, some of them
are inspired by the latest developments in modern computational logic,
functional programming, distributed systems, and event driven architectures, some of
them completely new and original. Some of very unique features include: reaction
groups for event processing, guards and guarded cut, dynamic branches in
workflows, and etc. Meanwhile, we utilize latest Mule ESB 3.1, which includes major
improvements to Cloud Connect, including custom schemas for each connector,
much simpler invocation of connectors, a new polling mechanism, message
enrichment capabilities, and a simple yet powerful logging facility. In what follows,
we will detail the implementation of the SymposiumPlanner-2011 system.</p>
      <sec id="sec-3-1">
        <title>Enterprise Service Bus</title>
        <p>
          Mule open-source ESB9 allows deploying the rule-based agents on the Mule
object broker and supports the communication in this rule-based agent processing
network via a multitude of transport protocols. Mule provides a distributable
object broker which follows the Staged Event Driven Architecture (SEDA)10
pattern to manage all sorts of service components. This design decouples event and
thread scheduling from application logic and avoids the high overhead associated
with thread-based concurrency models[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>The distributed agent services which at their core run the rule engines are
installed as Mule components which listen at configured endpoints, e.g., JMS
message endpoints, HTTP ports, SOAP server/client addresses or JDBC database
interfaces. Reaction RuleML11 is used as a common platform independent rule
interchange format between the agents (and possibly other rule execution /
inference services). The translator services are used to translate inbound and
outbound messages from platform-independent Reaction RuleML and/or controlled
natural language into the platform-specific rule engines execution syntaxes and
vice versa.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Prova Rule Engine</title>
        <p>
          Generally speaking, each agent service might run one or more arbitrary rule
engines. Here we only describe the rule engine Prova12 which is used for
implementing the complex logic of the organizational agents. Prova follows the spirit
and design of the recent W3C Semantic Web initiative and combines declarative
rules, ontologies and inference with dynamic object-oriented Java API calls and
access to external data sources via query languages such as SQL, SPARQL and
XQuery [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>File Input / Output
..., fopen(File,Reader), ...</p>
        <p>XML (DOM)
document(DomTree,DocumentReader) :- XML(DocumenReader),...</p>
        <p>SQL
... ,sql_select(DB,cla,[pdb_id,"1alx"],[px,Domain]).</p>
        <p>RDF
...,rdf(http://...,"rdfs",Subject,"rdf_type","gene1_Gene"),...</p>
        <p>XQuery
..., XQuery = ’for $name in StatisticsURL//Author[0]/@name/text()
return $name’, xquery_select(XQuery,name(ExpertName)),...</p>
        <p>SPARQL
...,sparql_select(SparqlQuery,...</p>
        <p>Prova has its separation of logic, data access, and computation and its tight
integration of Java and Semantic Web technologies. Due to the natural
integration of Prova with Java, it o↵ ers an economic and compact way of specifying</p>
        <sec id="sec-3-2-1">
          <title>9 http://www.mulesoft.org</title>
          <p>10 http://www.eecs.harvard.edu/⇠ mdw/proj/seda/
11 http://reaction.ruleml.org
12 http://prova.ws
agents’ behavior while allowing for e cient Java-based extensions to improve
performance of critical operations. The main language constructs of messaging
reaction rules in Prova are: sendMsg, rcvMsg and rcvMult. For instance, the
following query retrieves the tracks of the symposium RuleML 2011@IJCAI.
getTracks(XID,Track):% look-up responsible agent (Program Chair) from RAM
assigned(XID,Agent,ruleml2011ATijcai_ProgramChair,ruleml2011ATijcai_responsible),
% send the query to personal agent
sendMsg(XID,esb,Agent, "query", getTrack(Track)),
% receive answers multiple times
rcvMult(XID,esb,Agent, "answer", substitutions(Track)).
3.3</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Reaction RuleML Rule Interchange Format</title>
        <p>
          Reaction RuleML acts as an interchange language between distributed rule
agents in SymposiumPlanner. It is a general, practical, compact and user-friendly
XML-serialized sub-language of RuleML for the family of reaction rules and
incorporates various kinds of production, action, reaction, and knowledge
representation temporal/event/action logic rules as well as (complex) event/action
messages into the native RuleML syntax using a system of step-wise extensions
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. For the communication between distributed rule-based (agent) systems
Reaction RuleML provides a general message syntax as follows:
&lt;Message directive="&lt;!-- pragmatic context --&gt;"&gt;
&lt;oid&gt; &lt;!-- conversation ID--&gt; &lt;/oid&gt;
&lt;protocol&gt; &lt;!-- transport protocol --&gt; &lt;/protocol&gt;
&lt;sender&gt; &lt;!-- sender agent/service --&gt; &lt;/sender&gt;
&lt;receiver&gt; &lt;!-- receiver agent/service --&gt; &lt;/receiver&gt;
&lt;content&gt; &lt;!-- message payload --&gt; &lt;/content&gt;
&lt;/Message&gt;
        </p>
        <p>Distributed rule agents can be programmed by the proprietary languages
and engines. Reaction RuleML provides a translator service framework which
translates the rule messages from and to Reaction RuleML, controlled natural
language and platform-specific rule languages, such as Prova, Drools, POSL,
EMERALD, etc. For example, the query in Attempto Controlled English (ACE)
”What is the contact-information of the general-chair-of-RuleML-2011-IJCAI?”
can be translated into a Reaction RuleML query message, in order to get the
contact information of the RuleML 2011@IJCAI general chair.
&lt;RuleML&gt;
&lt;Message mode="outbound" directive="query-sync"&gt;
&lt;oid&gt;&lt;Ind&gt;SymposiumPlannerSystem&lt;/Ind&gt;&lt;/oid&gt;
&lt;protocol&gt;&lt;Ind&gt;esb&lt;/Ind&gt;&lt;/protocol&gt;
&lt;sender&gt;&lt;Ind&gt;User&lt;/Ind&gt;&lt;/sender&gt;
&lt;content&gt;
&lt;Atom&gt;
&lt;Rel&gt;getContact&lt;/Rel&gt;
&lt;Ind&gt;ruleml2011ATijcai_GeneralChair&lt;/Ind&gt;
&lt;Var&gt;Contact&lt;/Var&gt;
&lt;/Atom&gt;
&lt;/content&gt;
&lt;/Message&gt;
&lt;/RuleML&gt;</p>
        <p>This Reaction RuleML message is then translated into a Prova message query
which is executed in the engine:</p>
      </sec>
      <sec id="sec-3-4">
        <title>SymposiumPlanner User Client</title>
        <p>The SymposiumPlanner user client supports two solutions to construct queries.
The straightforward solution uses an XML based file, which describes publicly
accessibly rule functions together with their mode and type declarations, to
create HTML forms. After user initializes the parameters, the translator service
combines the structure of function rules and the parameters values to create the
standardized Reaction RuleML message.</p>
        <p>
          SymposiumPlanner user client also allows issuing queries in a controlled
natural language (Attempto Controlled English [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]) via a web browser. The
ACE2RML translator forwards the text to the Attempto Parsing Engine (APE),
which translates the text into a discourse representation structure (DRS) and/or
advices to correct malformed input. The DRS gives a logical/structural
representation of the text which will be fed to an XML parser and to be translated into
a domain specific Reaction RuleML representation of the query. For example,
the query follows ACE format: ”Who are the authors of ’Rule-based Distributed
and Agent Systems’ ”? is translated by the APE into the following DRS:
&lt;DRS domain=""&gt;
&lt;Question&gt;
&lt;DRS domain="A B C"&gt;
&lt;query obj="A" question="who" sentid="1" tokid="1"/&gt;
&lt;relation obj1="C" rel="of" obj2="string(’Rule-based Distributed and Agent Systems’)"
sentid="1" tokid="5"/&gt;
&lt;object ref="C" noun="author" struct="countable" unit="na" numrel="geq" num="2"
sentid="1" tokid="4"/&gt;
&lt;predicate ref="B" verb="be" subj="A" obj="C" sentid="1" tokid="2"/&gt;
&lt;/DRS&gt;
&lt;/Question&gt;
&lt;/DRS&gt;
        </p>
        <p>By parsing the DRS and applying the domain-specific rules which map named
objects to constants and predicate relations to atomic predicates. The core
element of the result is shown as follows:
&lt;Atom&gt;
&lt;Rel&gt;getAuthorsOfPaper&lt;/Rel&gt;
&lt;Ind&gt;’Rule-based Distributed and Agent Systems’&lt;/Ind&gt;
&lt;Var&gt;author&lt;/Var&gt;
&lt;/Atom&gt;
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>
        The communication middleware Mule uses SEDA, which decomposes the
processes of Q&amp;A in SymposiumPlanner with event-driven stages connected by
explicit queues. Theses queues enable Mule to decouple the receiver of a message
from the other steps in processing the message. That means the operations of
SymposiumPlanner lie mostly on the SEDA processing mechanism and its
performance. As a well developed framework, the performance of SEDA has been
evaluated by many e↵ orts. In [
        <xref ref-type="bibr" rid="ref3 ref7">7, 3</xref>
        ], the authors shown that SEDA maximizes
throughput and exhibits higher performance and more robust behavior under
load than traditional service designs. Accordingly, these e↵ orts can reflect the
performance of SymposiumPlanner from the other side, that is,
SymposiumPlanner can process users’ queries reasonably and prevent resources from being
overcommitted when demand exceeds agent capacity.
      </p>
      <p>In future, while there is always a potential need to add more human support
to the system in order to enhance flexibility, we will also aim at achieving more
e ciency in terms of responses from agents as they automate redundant tasks
that human users can avoid and be able to respond to increasingly complex
queries. This may also lead to the need for peer to peer communication between
PAs in order to help each other in answering queries posed by external agents.
In such a scenario we can see PAs using FOAF-like profiles to advertise their
capability of solving any query and cooperating with other PAs and the OA to
achieve a collaborative environment of query response. In the case of a complex
query, the query can be decomposed into parts, the OA can then delegate parts
of the decomposed query to relevant PAs to solve individually. The OA can then
eventually assemble the responses from PAs into a complete solution and send
it back to the External Agent. In view of the aforementioned and proposed
developments in our e↵ ort to build a framework to assist human organizations, we
can see the SymposiumPlanner truly provides the basis for our gradual
transformation of workplaces into an e cient and productive environment.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paschke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Rule responder agents framework and instantiations</article-title>
          . In: Eli,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Kon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Orgun</surname>
          </string-name>
          , M. (eds.)
          <source>Semantic Agent Systems, Studies in Computational Intelligence</source>
          , vol.
          <volume>344</volume>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>23</lpage>
          . Springer Berlin / Heidelberg (
          <year>2011</year>
          ), http://dx.doi.
          <source>org/10.1007/978-3-642-18308-9 1</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Fuchs</surname>
            ,
            <given-names>N.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaljurand</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Attempto controlled english meets the challenges of knowledge representation, reasoning, interoperability and user interfaces</article-title>
          . In: Sutcli↵ e, G.,
          <string-name>
            <surname>Goebel</surname>
            ,
            <given-names>R</given-names>
          </string-name>
          . (eds.) FLAIRS Conference. pp.
          <fpage>664</fpage>
          -
          <lpage>669</lpage>
          . AAAI Press (
          <year>2006</year>
          ), http://dblp.uni-trier.de/db/conf/flairs/flairs2006.html#FuchsKS06
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Lucian</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Building a scalable enterprise applications using asynchronous io and seda model</article-title>
          .
          <source>Tech. rep., TheServerSide</source>
          .com (
          <year>2008</year>
          ), http://www.theserverside.com/news/1363672/
          <article-title>Building-a-Scalable-EnterpriseApplications-Using-Asynchronous-IO-and-</article-title>
          <string-name>
            <surname>SEDA-Model</surname>
          </string-name>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Paschke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozlenkov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boley</surname>
          </string-name>
          , H.:
          <article-title>A homogenous reaction rules language for complex event processing</article-title>
          .
          <source>In: International Workshop on Event Drive Architecture for Complex Event Process</source>
          (
          <year>2007</year>
          ), http://ibis.in.tum.de/sta↵ /paschke/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Paschke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozlenkov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Craig</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Rule responder: Ruleml-based agents for distributed collaboration on the pragmatic web</article-title>
          .
          <source>In: Proceedings of the 2nd international conference on Pragmatic web</source>
          . pp.
          <fpage>17</fpage>
          -
          <lpage>28</lpage>
          . ICPW '07,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2007</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/1324237.1324240
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Paschke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozlenkov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A rule-based middleware for business process execution</article-title>
          .
          <source>In: Multikonferenz Wirtschaftsinformatik</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Welsh</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Culler</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brewer</surname>
          </string-name>
          , E.:
          <article-title>Seda: an architecture for well-conditioned, scalable internet services</article-title>
          .
          <source>SIGOPS Oper. Syst. Rev</source>
          .
          <volume>35</volume>
          ,
          <fpage>230</fpage>
          -
          <lpage>243</lpage>
          (
          <year>October 2001</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/502059.502057
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>