<!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>Can URML model successfully Drools rules?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Emilian Pascalau</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The use of rules in business modeling is becoming more and more important, in applications requiring dynamic change of behavior. A number of rule languages and tools have been proposed to the software engineering community. However, there are not too many visual languages for rule modeling. The goal of this paper is to investigate the modeling capabilities of UML-based Rule Modeling Language (URML) with respect of Drools rules. We choose Drools because is the most important and well known open source rule platform. It is friendly to both developers and business users, offers a lot of functionality but does not provide a visual modeling environment for rules. The Single Item English Electronic Auction Use Case is used to illustrate the modeling capabilities. The paper concludes that URML rules can model the large part of Drools rules but improvements of the modeling language are necessary.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Nowadays global information networks like Internet are the
environment were business processes take place in automated way. A
large part of e-commerce activities is devoted to B2B relationships.
The natural way to describe behavior of such businesses is through
business rules. However, actually there is no standard way for
business rule definitions. Yet there are several rule platforms and rule
languages: Drools [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] (also known as JBossRules), F-Logic, Jess,
SWRL. The most important initiative in the process of developing a
standard for rule interchange is Rule Interchange Format (RIF) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Their main goal is to define a set of requirements and standards to
be followed by any translator performing rule interchange between
existing rules platforms.
      </p>
      <p>
        A use case very well suited for such an environment and also very
well suited to have his behavior modeled with business rules is
automated negotiation. This is a general problem that comprises auctions
also. In our paper we take as use case the Single Item English
Electronic Auction [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. We model its behavior using URML,
UML-based rule modeling language (URML) [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ], a rule
modeling extension of UML([
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]).
      </p>
      <p>
        Opposed to the approach taken by the authors in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], where the
vocabulary is presented as an ER model, we express the vocabulary
as an UML model. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] was argued that UML is a de facto
standard for modeling vocabularies. Moreover, in the software
engineering community UML class diagrams are widely used to express
vocabularies. URML, as an extension of UML, it is well suited to
capture rules on top of UML vocabularies.
      </p>
      <p>The goal of the paper is to research the capabilities of URML to
model rules that can be serialized to Drools.</p>
      <p>Drools it is the most important and well known open source rule
platform. It is friendly to both developers and business users, offers
a lot of functionality but does not provide a visual modeling
environment for rules.</p>
      <p>It is well known that visual modeling is easier to be understood
and to be remembered, therefore we claim that a visual language for
rule modeling is necessary.</p>
      <p>
        The authors of [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] argued, that rule modeling language should
provide ways for representing rule expressions, in a manner easy to
be understood by domain experts or by software engineers, who are
usually used with UML modeling. URML extends UML meta-model
with the concept of rule.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>UML-based rule modeling language - URML</title>
      <p>
        URML is developed by the REWERSE Working Group I1. Its main
goal is to provide visual constructs for modeling rules and business
processes. URML is close related to R2ML [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] - a rule
language for rule interchange.
      </p>
      <p>
        URML is wanted to be a general approach for modeling rules
in comparison with work introduced in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. According to [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ],
URML supports derivation rules, production rules and reaction
rules. URML uses concepts such as rule condition, rule conclusion,
filters, actions and events.
      </p>
      <p>A rule condition is either a ClassificationCondition, a
RoleCondition or AssociationCondition. The rule condition may contain a filter
expression. For example the condition depicted in Figure 1 models
the following logical conjunction:
P roposal($bP roposal) ∧ P roposal($sP roposal)∧
∧product($bP roposal) = product($sP roposal)∧
∧price($bP roposal) &gt; 0
$sProposal, $bProposal
$bProposal.product=$sProposal.product</p>
      <p>and $bProposal.price&gt;0</p>
      <p>Proposal
price : Integer
dateTime : Date
type : ProposalType
isValid : Boolean</p>
      <p>A filter is either an OCLFilter or an OpaqueFilter.
ClassificationCondition refers to a UML Class, which is a condition classifier, and
consists of an ObjectVariable, which is an instance of the Class; For
example the expression
$bProposal.product == $sProposal.product
and $bProposal.price &gt; 0
from Figure 1 is an OCL filter.</p>
      <p>A rule conclusion is either a RoleConclusion,
ClassificationConclusion, or AttributionConclusion, or AssociationConclusion or an
Action. A more detailed description of these concepts is not possible
because of the lack of space. The Figure 2 depicts an action
corresponding to the following state change expression</p>
      <p>isV alid($bP roposal)
i.e. the object property isValid is set to true.</p>
      <p>
        Actions are used in production rules and in reaction rules. URML
supports the following actions: AssertAction, RetractAction,
UpdateAction and InvokeAction. They correspond to the OMG Production
Rule Representation (PRR) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        The main advantage of URML is that it extends UML with only
a few visual elements (see Table 1): circles for rules, conditions
arrows, conclusion arrows, action arrows. Since Drools deals only with
production rules, only production rules visual elements of URML are
depicted in Table 1. A condition arrow can be negated and is
represented as a crossed arrow at origin. Conclusion arrows refer to a class
or an association. Action arrows are double-headed arrows referring
either to a class (in the case of create, delete, assign or invoke
action) or to an activity. Rule action arrow is annotated with an action
type (A for Assert Action, R for Retract Action, U for Update
Action, and I for Invoke Action). Variables are denoted in bold (such as
$bProposal).
Drools is an object oriented business rule management system
(BRMS) and also a Rule Engine based on Charles Forgy’s Rete
algorithm [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>The Drools architecture is based on three main components:
production memory that stores the rules, working memory that stores the
facts and the inference engine.</p>
      <p>Drools development platform comes in two flavors: as an Eclipse
plug-in Drools IDE and as web application Drools BRMS. The
Drools IDE provides developers with an environment to edit and test
rules in various formats, and integrate it deeply with their
applications from within Eclipse. The IDE has a textual/graphical rule
editor, a RuleFlow graphical editor, a domain specific language editor.</p>
      <p>
        Our claim is that a visual rule editor is necessary and will enrich
the Drools IDE with an important and more easy to use ”feature”.
In opposition with the already built in rule text editor of the Drools
IDE this will provide a visual way to model rules. Since Drools rules
are written on top of Java Beans, visual modeling with URML is
appropriate. The actual Drools IDE functionality and configuration
is targeted mainly to developers and very technical users as authors
argue in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ](Chapter 5 - The (Eclipse based) Rule IDE ). The new
feature will overcome this inconvenient and will allow software
architects and engineers to easily describe the business rules in a visual
way.
      </p>
      <p>
        Rules are expressed in Drools Rule Language (DRL). It contains
package declaration, imports, globals, functions and rules. Package
declaration and usage are similar to those from Java. A DRL
package defines a collection of rules and other related constructs. It
represents a namespace, for the contained rules. Opposed to Java, the
DRL package name is not related to files or folders in any way. DRL
import statements work and have the same meaning as in Java.
Globals as the name specifies are global variables used mainly to make
application objects available to rules, for services or to provide data.
According with [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], DRL functions provides a way to put semantic
code in rule source file and are some how equivalent to helper classes
from Java. A DRL query is simply a way to query the working
memory for facts that match the conditions stated.
      </p>
      <p>
        Drools manual [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] provides the following example:
rule "Approve if not rejected"
salience -100
agenda-group "approval"
when
not Rejection()
p : Policy(approved == false,
policyState:status)
exists Driver(age &gt; 25)
      </p>
      <p>Process(status == policyState)
then
log("APPROVED: due to no objections.");
p.setApproved(true);
end
The above rule has an unique name
("Approve if not rejected"), optional attributes (such
as salience -100 ), conditions identified by when (such as
exists Driver(age &gt; 25)) and actions introduced with then
(such as p.setApproved(true); ). The conditional part of a
rule corresponds to a logical formula comprising zero or more
Conditional Elements. The concept of Pattern is the main conditional
element. eval is a Boolean expression evaluator. The action part
contains a list of actions that are to be executed. Drools provides
predefined logical actions such as: insert, update, insertLogical,
retract but any valid Java code is also allowed.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Modeling Rules with URML</title>
      <p>
        Automated negotiations e.g. electronic auctions are well suited to be
modeled with rules. The past research was focused on defining and
development of protocols and strategies to be used in multi agent
systems that are to perform negotiations [
        <xref ref-type="bibr" rid="ref10 ref3 ref9">10, 9, 3</xref>
        ]. Auctions, a form of
negotiation mechanism for electronic commerce, are also discussed
in a number of papers such as [
        <xref ref-type="bibr" rid="ref14 ref19 ref20">19, 20, 14</xref>
        ].
      </p>
      <p>
        English Auction is an important type of auction discussed in a wide
range of papers such as [
        <xref ref-type="bibr" rid="ref2 ref6 ref7">6, 7, 2</xref>
        ], and we consider that the subject is
far from being finished. The principles of Single Item English
Auction are: (1) only one item is sold at a time; (2) bidding is open; (3)
all participants bid against each other openly; (4)each successive bid
must be higher than the old one; (5) the seller begins the auction;
(6) buyers bid against each other by raising the price, until only one
willing buyer remains.
4.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>The Vocabulary</title>
      <p>
        Our work will use a fragment of the vocabulary (see Figure 3) for
automated negotiation similar with the one from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Party</p>
      <p>Proposals encapsulate data about price, date and time, and product
in auction. They are exchanged between parties. A proposal is either
a Bid or an Agreement. A bid is a commitment from a buyer to pay
that price if the bid is declared to be a winning bid (proposal). An
agreement is a proposal upon which all parties were agreed.
4.2</p>
    </sec>
    <sec id="sec-5">
      <title>The Rules</title>
      <p>The aim of this section is to model rules that automate the negotiation
in Single Item English Auction.</p>
      <p>
        U
In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] rules are classified in taxonomies such as: proposal
validity, protocol enforcement, updating status and information of
participants, agreement formation, termination. These rules taxonomy
      </p>
    </sec>
    <sec id="sec-6">
      <title>5 URML Rules as Drools Rules</title>
      <p>This Section presents how a rule modeled with URML can be
serialized to Drools. Consider the improvement rule (see Figure 6). The
below code is the Drools DRL:
package org.ruleapp.rules.improvement;
import org.ruleapp.vocabulary.Proposal;
import org.ruleapp.vocabulary.Buyer;
import org.ruleapp.vocabulary.ProposalType;
rule "IR"
when
$oldProposal:Proposal(
type == ProposalType.BID,
$oPrice:price
)
$newProposal:Proposal(
type == ProposalType.BID,
$nPrice:price,
$nPrice &gt; $oPrice
)
then
recordSubmisionTime($newProposal);
update($newProposal);
serialize($oldProposal);
retract($oldProposal);
end
function recordSubmisionTime(Proposal $p){
function serialize(Proposal $p){</p>
      <p>//...
}</p>
      <p>The rule is part of a specific package i.e.
org.ruleapp.rules.improvement encoded in the
corresponding DRL package declaration.</p>
      <p>The rule (as seen in the URML model) uses the classes Proposal,
Buyer and ProposalType therefore all of them should be available to
the engine (as Java Beans). We make them available by generating
the appropriate import commands.</p>
      <p>The name of the Drools rule (IR) is the same with the name from
the visual model.</p>
      <p>The filter condition
$newProposal.type==ProposalType.BID and
$oldProposal.type==ProposalType.BID and
$oldProposal.price &lt; $newProposal.price
generates the conditions (i.e. the when
part) in the Drools rule. While parts such as
$newProposal.type==ProposalType.BID
have immediate translation, the part
$oldProposal.price &lt; $newProposal.price
requires the generation of new variables ($nPrice and $oPrice)
before the condition evaluation. Readers may notice that this filter
can be also implemented by means of an eval() call but then the
rule become less declarative.</p>
      <p>Our actions are:
1. an invoke action (I) corresponding to the function call
recordSubmisionTime($newProposal);
2. an update action which normally translates into a Drools standard
action update
3. another invoke action (i.e. serialize($oldProposal);)
and
4. a retract action (R) generating the code
retract($oldProposal);</p>
    </sec>
    <sec id="sec-7">
      <title>6 Future Work</title>
      <p>While the translation of all of these actions to Drools code is
straightforward by using DRL functions one major disadvantage of the
actual URML language is that it does not offer a way to specify the
order of actions in the rule action part. For example, looking to the
rule diagram from Figure 6 it is not clear both for a human expert and
a machine in which order the depicted actions have to be performed.</p>
      <p>The translation, presented in this paper was done manually and is
intended as example for a potential implementation, that would have
to perform it automatically.</p>
      <p>Our proposal is to extend the URML metamodel by allowing
sequence actions i.e an ordered sequence of standard actions as in the
Figure 10 .</p>
      <p>Other open issues are: (1) Drools provides DRL queries while
URML does not provide any visual construct modeling that; (2)
URML does not provide any annotations to encode various DRL
rules attributes.</p>
      <p>Drools complex constructs offering integration with databases
such as collect and accumulate are not yet supported by the
visual language.
$newProposal.type==ProposalType.BID</p>
      <p>and
$oldProposal.type==ProposalType.BID</p>
      <p>and
$oldProposal.price&lt;$newProposal.price</p>
      <p>IR
$newProposal</p>
      <p>$oldProposal</p>
      <p>Finally user-defined actions encoded by plain Java code are not
yet supported. Our future work will investigate the need of an
extension of the visual language that allows UML opaque expressions to
encode these actions.</p>
      <p>A potential URML implementation for Drools rules must extends
the actual Eclipse IDE by allowing at least UML class diagrams, rule
diagrams and rule packages.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>RIF</given-names>
            <surname>Basic Logic</surname>
          </string-name>
          <article-title>Dialect</article-title>
          . http://www.w3.org/2005/rules/ wiki/BLD,
          <year>October 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Costin</given-names>
            <surname>Badica</surname>
          </string-name>
          , Adrian Giurca, and Gerd Wagner, '
          <article-title>Using Rules and R2ML for Modeling Negotiation Mechanisms in E-Commerce Agent Systems'</article-title>
          ,
          <source>in Proceedings of the 2nd International Conference on Trends in Enterprise Application Architecture</source>
          , TEAA2006, eds.,
          <source>Dirk Draheim and Gerald Weber</source>
          , volume
          <volume>4473</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>84</fpage>
          -
          <lpage>99</lpage>
          . Springer, (
          <year>November 2006</year>
          ). http: //dx.doi.org/10.1007/978-3-
          <fpage>540</fpage>
          -75912-
          <issue>6</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Claudio</given-names>
            <surname>Bartolini</surname>
          </string-name>
          , Chris Preist, and
          <string-name>
            <surname>Nicholas R. Jennings</surname>
          </string-name>
          , '
          <article-title>A Generic Framework for Automated Negotiation'</article-title>
          ,
          <source>Technical report, HP Labs</source>
          , (
          <year>January 2002</year>
          ). http://www.hpl.hp.com/techreports/ 2002/HPL-2002
          <article-title>-2</article-title>
          .pdf .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Saartje</given-names>
            <surname>Brockmans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Haase</surname>
          </string-name>
          , Pascal Hitzler, and Rudi Studer, '
          <article-title>A Metamodel and UML Profile for Rule-Extended OWL DL Ontologies'</article-title>
          ,
          <source>in Proceedings of 3rd European Semantic Web Conference, ESWC</source>
          <year>2006</year>
          , Budva, Montenegro, volume
          <volume>4011</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>303</fpage>
          -
          <lpage>316</lpage>
          . Springer Berlin / Heidelberg, (
          <year>June 2006</year>
          ). http://dx.doi.org/10.1007/11762256_
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Cranefield</surname>
          </string-name>
          and Martin Purvis, '
          <article-title>UML as an Ontology Modelling Language'</article-title>
          ,
          <source>in Proceedings IJCAI-99 Workshop on Intelligent Information Integration</source>
          , (
          <year>1999</year>
          ). http: //hcs.science.uva.nl/usr/richard/workshops/ ijcai99/UML_Ontology_Modelling.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Esther</given-names>
            <surname>David</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Rina</given-names>
            <surname>Azoulay-Schwartz</surname>
          </string-name>
          , and Sarit Kraus, '
          <article-title>An English Auction Protocol for Multi-attribute Items'</article-title>
          ,
          <source>in Proceedings of the Workshop on Agent Mediated Electronic Commerce on Agent-Mediated Electronic Commerce IV, Designing Mechanisms and Systems</source>
          , volume
          <volume>2531</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>361</fpage>
          -
          <lpage>378</lpage>
          . Springer Berlin / Heidelberg, (
          <year>2002</year>
          ). http://dx.doi.org/10.1007/ 3-540-36378-
          <issue>5</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Esther</given-names>
            <surname>David</surname>
          </string-name>
          , Alex Rogers, Jeremy Schiff, Sarit Kraus, and
          <string-name>
            <surname>Nicholas R. Jennings</surname>
          </string-name>
          , '
          <article-title>Optimal Design Of English Auctions With Discrete Bid Levels'</article-title>
          ,
          <source>in Proceedings of the 6th ACM conference on Electronic commerce</source>
          , Vancouver, BC, Canada, pp.
          <fpage>98</fpage>
          -
          <lpage>107</lpage>
          . ACM New York, NY, USA, (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Giancarlo</given-names>
            <surname>Guizzardi</surname>
          </string-name>
          , Gerd Wagner, and Heinrich Herre, '
          <article-title>On the Foundations of UML as an Ontology Representation Language'</article-title>
          ,
          <source>in Proceedings of 14th International Conference on Engineering Knowledgein the Age of the Semantic Web EKAW</source>
          <year>2004</year>
          , eds.,
          <string-name>
            <surname>Enrico</surname>
            <given-names>Motta</given-names>
          </string-name>
          , Nigel Shadbolt, Arthur Stutt, and Nicholas Gibbins, volume
          <volume>3257</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>47</fpage>
          -
          <lpage>62</lpage>
          . Springer Berlin / Heidelberg, (
          <issue>5-8</issue>
          <year>October 2004</year>
          ). http://www.loa-cnr.it/Guizzardi/ EKAW.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Nicholas</surname>
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Jennings</surname>
            ,
            <given-names>Peyman</given-names>
          </string-name>
          <string-name>
            <surname>Faratin</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          <string-name>
            <surname>Lomuscio</surname>
            , Simon Parsons,
            <given-names>Michael</given-names>
          </string-name>
          <string-name>
            <surname>Wooldridge</surname>
          </string-name>
          , and Carles Sierra, '
          <source>Automated Negotiation: Prospects</source>
          , Methods and Challenges',
          <source>Group Decision and Negotiation</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ),
          <fpage>199</fpage>
          -
          <lpage>215</lpage>
          , (
          <year>March 2001</year>
          ). http://dx.doi.org/10. 1023/A:
          <fpage>1008746126376</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Sarit</surname>
            <given-names>Kraus</given-names>
          </string-name>
          , '
          <article-title>Negotiation and cooperation in multi-agent environments', Special issue on economic principles of multi-agent systems</article-title>
          ,
          <volume>94</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>79</fpage>
          -
          <lpage>98</lpage>
          , (
          <year>1997</year>
          ). http://iskp.csd.auth.gr/mtpx/ agents/material/kraus97negotiation.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>OMG</surname>
          </string-name>
          .
          <article-title>Production rule representation (prr), beta 1</article-title>
          . http://www. omg.org/docs/dtc/07-11-04.pdf ,
          <year>November 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG)</article-title>
          .
          <source>UML 2</source>
          .
          <article-title>0 Superstructure Specification</article-title>
          . http://www.omg.org/cgi-bin/doc?ptc/ 2003-08-02 ,
          <year>August 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Mark</given-names>
            <surname>Proctor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Neale</surname>
          </string-name>
          , Michael Frandsen, Sam Griffith Jr.,
          <string-name>
            <surname>Edson</surname>
            <given-names>Tirelli</given-names>
          </string-name>
          , Fernando Meyer, and Kris Verlaenen.
          <source>Drools 4.0</source>
          .5. http://downloads.jboss.com/drools/docs/4.0. 5.19064.GA/html_single/index.html,
          <year>January 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Rolli</surname>
          </string-name>
          and Andreas Eberhart, '
          <article-title>An Auction Reference Model for Describing and Running Auctions'</article-title>
          ,
          <source>Wirtschaftsinformatik</source>
          <year>2005</year>
          ,
          <fpage>289</fpage>
          -
          <lpage>308</lpage>
          , (
          <year>2005</year>
          ). http://dx.doi.org/10.1007/ 3-7908-1624-8_
          <fpage>16</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Valentina</surname>
            <given-names>Tamma</given-names>
          </string-name>
          , Michael Wooldridge, Ian Blacoe, and Ian Dickinson, '
          <article-title>An Ontology Based Approach to Automated Negotiation</article-title>
          .',
          <source>in Proceedings of the Workshop on Ontologies in Agent Systems</source>
          , Bologna, Italy, AMEC02, volume
          <volume>2531</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>317</fpage>
          -
          <lpage>334</lpage>
          . Springer Berlin / Heidelberg, (
          <year>2002</year>
          ). http://dx. doi.org/10.1007/3-540-36378-5_
          <fpage>14</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Gerd</surname>
            <given-names>Wagner</given-names>
          </string-name>
          , Adrian Giurca, and Sergey Lukichev, '
          <article-title>A General Markup Framework for Integrity and Derivation Rules'</article-title>
          ,
          <source>in Principles and Practices of Semantic Web Reasoning</source>
          , eds., Franc¸ois Bry, Franc¸ois Fages, Massimo Marchiori, and HansJu¨rgen Ohlbach, number 05371 in Dagstuhl Seminar Proceedings, Dagstuhl, Germany, (
          <year>2005</year>
          ).
          <article-title>Internationales Begegnungs- und Forschungszentrum fu¨r Informatik (IBFI), Schloss Dagstuhl</article-title>
          , Germany. http://drops.dagstuhl.de/opus/volltexte/ 2006/479/pdf/05371.GiurcaAdrian.Paper.
          <volume>479</volume>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Gerd</surname>
            <given-names>Wagner</given-names>
          </string-name>
          , Adrian Giurca, and Sergey Lukichev, '
          <article-title>A Usable Interchange Format for Rich Syntax Rules. Integrating OCL, RuleML</article-title>
          and SWRL',
          <source>in Proceedings of Reasoning on the Web</source>
          <year>2006</year>
          , Edinburgh, Scotland, (May
          <year>2006</year>
          ). http://www.aifb.uni-karlsruhe. de/WBS/phi/RoW06/procs/wagner.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Gerd</surname>
            <given-names>Wagner</given-names>
          </string-name>
          , Adrian Giurca, Sergey Lukichev, Grigoris Antoniou, Carlos Viegas Damasio, and Norbert E. Fuchs, 'Language Improvements and Extensions',
          <source>Technical Report I1- D8</source>
          ,
          <string-name>
            <surname>REWERSE</surname>
          </string-name>
          , (
          <year>April 2006</year>
          ). http://rewerse.net/ deliverables-restricted/i1-
          <fpage>d8</fpage>
          .pdf .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Peter R. Wurman</surname>
            ,
            <given-names>Michael P.</given-names>
          </string-name>
          <string-name>
            <surname>Wellman</surname>
          </string-name>
          , and William E. Walsh, '
          <article-title>A Parametrization of the Auction Design Space'</article-title>
          ,
          <source>Games and Economic Behavior</source>
          ,
          <volume>35</volume>
          ,
          <fpage>304</fpage>
          -
          <lpage>338</lpage>
          , (
          <year>2001</year>
          ). http://www4.ncsu.edu/ ˜wurman/Papers/Wurman-GEB-
          <volume>00</volume>
          .pdf .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Peter R. Wurman</surname>
            ,
            <given-names>Michael P.</given-names>
          </string-name>
          <string-name>
            <surname>Wellman</surname>
          </string-name>
          , and William E. Walsh, '
          <article-title>Specifying Rules for Electronic Auctions'</article-title>
          ,
          <source>AI Magazine</source>
          ,
          <volume>23</volume>
          , (
          <year>2002</year>
          ). http: //www4.ncsu.edu/˜wurman/Papers/AI-Mag-WWW.pdf .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>