<!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>Rule Based Fragment Allocation in Distributed Database Systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>MODB Lab., School of Computer Engineering, Iran University of Science and Technology</institution>
          ,
          <addr-line>Tehran 1684613114</addr-line>
          ,
          <country country="IR">Iran</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Allocating data fragments in distributed database systems is an important issue in distributed database (DDB) systems. In this research work, we will show how rule based policy languages can be used to represent di erent data fragment allocation techniques. Results indicate that, using rule based languages like prolog can signi cantly simplify the representation of such algorithms for any further developments and optimizations. Our examples show that our approach can be extended to be used in di erent areas of distributed systems.</p>
      </abstract>
      <kwd-group>
        <kwd>Fragment Allocation</kwd>
        <kwd>Rule Based Policies</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Developments in distributed algorithms, network technologies, and database
theory in the past few decades led to advances in distributed database systems
(DDS). A DDS is a collection of database nodes connected by a
communication network, in which each node is a database system in its own right, but the
nodes have agreed to work together, so that a user at any node can access data
anywhere in the network exactly as if the data were all stored at the users own
node.</p>
      <p>The primary concern of fragmentation in a DDS is to show how data should
be divided and distributed among nodes in the underlying database.
Fragmentation problem in a DDS is how to divide the data while allocation issue means
how those fragments should be distributed over di erent DDS nodes. The data
allocation problem, is NP-complete, and thus requires fast heuristics to
generate e cient solutions [1]. Furthermore, the optimal allocation of database
objects highly depends on the query execution strategy employed by a distributed
database system, and the given query execution strategy usually assumes an
allocation of the fragments.</p>
      <p>A major cost in executing queries in a distributed database system is the data
transfer cost incurred in transferring relations (fragments) accessed by a query
from di erent nodes to the node where the query is initiated. The objective of a
data allocation algorithm is to determine an assignment of fragments at di erent
nodes so as to minimize the total data transfer cost incurred in executing a set
of queries. This is equivalent to minimizing the average query execution time,
which is of primary importance in a wide class of distributed conventional as
well as multimedia database systems.</p>
      <p>An optimal, but not practical, solution for fragment allocation in DDS has
been appeared in [2]. There are also a few fragment allocation algorithms [3{
8] that are proven to be practical and show a reasonable performance. Several
surveys of those algorithms are provided by [9{12]. Since all of these fragment
allocation algorithms are expressed and implemented by imperative programming
languages, they are usually di cult to understand and con gured.</p>
      <p>
        In this paper, using declarative rule based languages, we propose a novel
technique that can be used to represent fragment allocation algorithms. In our
technique, we consider fragment allocation strategy as a rule-based policy,
implemented in a logic programming framework. The declarative representation of
fragment allocation algorithms results in two major bene ts: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) since
declarative representation of algorithms are much simpler than imperative ones, these
algorithms can be changed and improved simpler when they are represented by
rule-based languages; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) the reasoning components of these algorithms can be
relied on logic programming frameworks, and thus we will have simpler
implementation of fragment allocation components in DDS. This technique also can
be used to improve existing DDS fragment allocation simulators [13].
      </p>
      <p>The rest of this paper is structured as follows: in section 2 we will brie y
review some of major parameters of fragment allocation problem, section 3 is about
our representation technique and section 4 brie y explains the implementation
of our prototype model. Finally section 6 is our conclusion.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Fragment Allocation Problem</title>
      <p>Fragment and data allocation algorithms are categorized into two major groups:
static and dynamic. In static fragment allocation algorithms, data allocation
has been completed prior to the design of a database depending on some static
data access patterns and/or static query patterns. However, dynamic fragment
allocation algorithms can change the data fragment allocation automatically
during the deployment of the database. In a dynamic environment where these
probabilities change over time, the static allocation solution would degrade the
database performance.</p>
      <p>Depending on the complexity of a data allocation algorithm, it may take the
following parameters as inputs:
1. The fragment dependency graphs.
2. Unit data transfer costs between nodes.
3. The allocation limit on the number of fragments that can be allocated at a
node.
4. The query execution frequencies from the nodes.</p>
      <p>The fragment dependency graph models the dependencies between the
fragments and the amount of data transfer incurred to execute a query. A fragment
dependency graph (as shown in gure 1) is a rooted directed acyclic graph with
the root as the query execution site (Node Q in Figure 1) and all other nodes
as fragment nodes (Node G, etc., in Figure 1) at potential nodes accessed by a
query.</p>
      <p>Q</p>
      <p>J
G</p>
      <p>E</p>
      <p>Assume that rij indicates the frequency of requirements by node i for
fragment j, each fragment i is characterized by its size, ni and tij indicates the cost
for node i to access a fragment located on node j. Clearly, tij is a function of
the following parameters:
{ The average size of data fragments: sj .
{ The bandwidth of network link between i and j: wij .
{ The delay of network link between i and j: dij .
{ Other types of costs on network link between i and j, e.g. communication
expenses: oij .</p>
      <p>
        Therefore, users of the distributed database systems must be able to de ne
tij for a fragment allocation algorithm based on the above mention parameters.
Moreover, the frequency of the execution of each type k of the queries executed
by node i on data item j, fijk, is another important factor for the fragment
allocation algorithm. Note that, di erent types of database queries have
different transfer costs. For instance, select (se) queries (specially those require
joins on tables) may require large data transfers while update (up) and delete
(de) queries do not require large data transfers. In fact, an e cient fragment
allocation algorithm results in minimization of execution cost, which is shown
in (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>X
m n</p>
      <p>X X fijk
k2fse;up;deg i=1 j=1</p>
      <p>
        The distributed database allocation problem is to nd the optimal placement
of the fragments at the nodes. That is, we wish to nd the placement, P =
fp1; p2; p3; : : : ; pj ; : : : ; png (where pj = i indicates fragment j is located at node
i) for the n fragments so that the capacity of any node is not exceeded, that is
shown in (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ).
      </p>
      <p>
        m
X rij nj cij (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
i=1
Moreover, the total transmission cost, shown in (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), should be minimized [8].
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
m n
X X rij tij
i=1 j=1
      </p>
      <p>By restricting the use of the requirements matrix and having zero
transmission cost, the distributed database allocation problem can be transformed to the
bin packing problem, which is known to be NP-complete.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Methodology</title>
      <p>
        In this paper, our goal is to develop a exible and dynamic fragment allocation
algorithm. Clearly, such algorithm must be considered as a distributed algorithms.
Otherwise, adding a coordinator node can drastically decrease the exibility of
such algorithm. At the rst glance, developing such distributed algorithm may
look di cult as distributed logic programming and rule based frameworks are
required for such algorithm. But, fortunately, this problem is not as di cult as
what it looks. Because synchronizing the fragment allocation and its parameters,
each node can act independently while we make sure the result of our executions
for di erent nodes are same. Then, we just need to represent our fragment
allocation algorithm using a rule based language and make sure the rules of each
node and facts are properly synchronized.
delay(
        <xref ref-type="bibr" rid="ref1 ref3 ref5">1,3,5</xref>
        ).
...
reverse_bandwidth(1,3,0.5).
...
other(
        <xref ref-type="bibr" rid="ref1 ref3 ref5">1,3,5</xref>
        ).
      </p>
      <p>In order to develop a fragment allocation algorithm in a rule-based language,
rst we need to represent above mentioned parameters as sets of facts. Then,
we need to develop our algorithm in terms of rules|similar to representation
of policies using rule based languages. Obviously, the set of rules de ning the
fragmentation algorithm should be synchronized in each node as well.</p>
      <p>
        The over all representation of network parameters in a rule based language
is simple and natural. We can use simple sets of facts to represent sj, wij, dij,
and oij. For instance, Figure 3 shows that the delay between node 1 and 3 is 5
milliseconds, the reverse of the bandwidth is 05 1=mega-bytes, and the cost of
communication for each mega-byte is 5 dollars. Then, tij can be computed as
shown by (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), where ij represents the user de ned factors. This computation
will be translated to a rule in our algorithm. Figure 4 shows a sample translation
of such computation.
      </p>
      <p>
        tij = ij
sj
wij
dij
oij
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
transfer_cost(I,J,T) :- user_defined_parameter(I,J,U),
size(J,S),
reverse_bandwidth(I,J,W),
delay(I,J,D),
other(I,J,O),
      </p>
      <p>T is U*S*W*D*O.</p>
      <p>Similarly, the execution statistics, fijk can also be generated as a set of fact by
the execution engine of DDS. The pre-de ned parameter to show the execution
cost of query type k on node i for the fragment j, eijk, is also de ned as a fact
by users. Therefore, for the simplest fragment allocation policy, where fragments
are moved if the execution cost is larger than fragment relocation cost. In such
algorithm, the trigger for moving the data item j from i1 to i2, movei1i2j, can
be computed through the following rule:</p>
      <p>
        Accordingly, this trigger runs two major events: physically moving the data
item j from i1 to i2 and updating fragment allocation information in all of the
nodes. Using rules of type (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ), the inference engine needs to respond to
the query (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), where X, Y , and Z are variables bound by inference engine. The
result of such query will be used to activate triggers.
      </p>
      <p>
        ?
moveX;Y;Z :
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
      </p>
      <p>Simply, one can use prolog assert and retract instructions in synchronization
unit to update fragment allocation information. Based on this executions, the
main procedure of fragment allocation component can be developed as shown in
Figure 5.</p>
      <p>As mentioned before, rule based representation of fragment allocation
algorithm makes those algorithms simple and easy to understand. For instance,
let ai1i2 be a fact representing that there is a direct link between i1 and i2.
Therefore, NNA [4] fragment allocation algorithm can be simply represented as</p>
      <p>Similarly, FNA [5][3] and BGBR [6] parameters can be imported to our
algorithms. Complicated reasoning for FNA also needs supporting Fuzzy logic
resolutions and libraries by resolution frameworks.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Implementation</title>
      <p>As mentioned in the previous section, in our approach, each node is considered
as an independent system, synchronized with other nodes on fragment allocation
mechanisms. Figure 6 shows the design of a node in our DDS. We are still working
on the implementation of this project. The inference engine in our system will
be XSB Prolog [14]. The implementation will be evaluated using the parameters
introduced in [3, 4].</p>
      <p>Synchronization is one of the most important components of our system.
Synchronization is repeated in a period of time. The frequency of
synchronization also depends on the speed of the execution of fragment allocation algorithm
by inference engine. Apparently, each node must wait until receive the
synchronization information from the rest of the nodes before each execution of the
fragment allocation algorithm.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we discussed a novel method for representing fragment allocation
algorithms in a rule based system. Our results show that such representation
makes a fragment allocation algorithm. The simplicity of the resulted algorithm
can help one to extend existing algorithms and improve their performances.
Moreover, the simplicity of the resulted algorithms eases con guring fragment
allocation component in DDS.</p>
      <p>We are planning to investigate using defeasible reasoning and argumentation
theory [15][16] to extend our developments. Another promising direction for this
research is to investigate other rule based system, e.g. Answer Set Programming
[17][18] , and possibly get more speedups.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Meghini</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thanos</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The complexity of operations on a fragmented relation</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .
          <volume>16</volume>
          (
          <issue>1</issue>
          ) (
          <year>March 1991</year>
          )
          <volume>56</volume>
          {
          <fpage>87</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Morgan,
          <string-name>
            <given-names>H.L.</given-names>
            ,
            <surname>Levin</surname>
          </string-name>
          , K.D.:
          <article-title>Optimal program and data locations in computer networks</article-title>
          .
          <source>Commun. ACM</source>
          <volume>20</volume>
          (
          <issue>5</issue>
          ) (May
          <year>1977</year>
          )
          <volume>315</volume>
          {
          <fpage>322</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahgozar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucas</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Fuzzy Neighborhood Allocation (FNA): A Fuzzy Approach to Improve Near Neighborhood Allocation in DDB</article-title>
          . In: Advances in Computer Science and Engineering: 13th International CSI Computer Conference, CSICC 2008
          <string-name>
            <given-names>Kish</given-names>
            <surname>Island</surname>
          </string-name>
          ,
          <source>Iran, March</source>
          <volume>9</volume>
          -
          <issue>11</issue>
          ,
          <source>2008 Revised Selected Papers</source>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>2009</year>
          )
          <volume>834</volume>
          {
          <fpage>837</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tasharo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahgozar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Near neighborhood allocation (nna): A novel dynamic data allocation algorithm in ddb</article-title>
          .
          <source>In: 11th International Computer Society of Iran Computer Conference (CSICC2006)</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahgozar</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A novel fuzzy approach to improve near neighborhood allocation algorithm in ddb</article-title>
          .
          <source>In: 2009 IEEE/ACS International Conference on Computer Systems and Applications</source>
          . (May
          <year>2009</year>
          )
          <volume>571</volume>
          {
          <fpage>578</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bayati</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghodsnia</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rahgozar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>A novel way of determining the optimal location of a fragment in a ddbs: Bgbr</article-title>
          .
          <source>In: Systems and Networks Communications</source>
          ,
          <year>2006</year>
          . ICSNC '06. International Conference on.
          <source>(Oct</source>
          <year>2006</year>
          )
          <volume>64</volume>
          {
          <fpage>64</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ahmad</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karlapalem</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kwok</surname>
            ,
            <given-names>Y.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>So</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          :
          <article-title>Evolutionary algorithms for allocating data in distributed database systems</article-title>
          .
          <source>Distributed and Parallel Databases</source>
          <volume>11</volume>
          (
          <issue>1</issue>
          ) (
          <year>2002</year>
          )
          <volume>5</volume>
          {
          <fpage>32</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Corcoran</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hale</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A genetic algorithm for fragment allocation in a distributed database system</article-title>
          .
          <source>In: Proceedings of the 1994 ACM Symposium on Applied Computing. SAC '94</source>
          , New York, NY, USA, ACM (
          <year>1994</year>
          )
          <volume>247</volume>
          {
          <fpage>250</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Navathe</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wiederhold</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dou</surname>
          </string-name>
          , J.:
          <article-title>Vertical partitioning algorithms for database design</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .
          <volume>9</volume>
          (
          <issue>4</issue>
          ) (
          <year>December 1984</year>
          )
          <volume>680</volume>
          {
          <fpage>710</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Apers</surname>
            ,
            <given-names>P.M.G.</given-names>
          </string-name>
          :
          <article-title>Data allocation in distributed database systems</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .
          <volume>13</volume>
          (
          <issue>3</issue>
          ) (
          <year>September 1988</year>
          )
          <volume>263</volume>
          {
          <fpage>304</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Brunstrom</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leutenegger</surname>
            ,
            <given-names>S.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simha</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Experimental evaluation of dynamic data allocation strategies in a distributed database with changing workloads</article-title>
          .
          <source>In: Proceedings of the Fourth International Conference on Information and Knowledge Management. CIKM '95</source>
          , New York, NY, USA, ACM (
          <year>1995</year>
          )
          <volume>395</volume>
          {
          <fpage>402</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tasharo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Data allocation in distributed database systems</article-title>
          .
          <source>Technical report</source>
          , University of Tehran:
          <source>Technical Report No. DBRG. RB-ST</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tasharo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Design and implementation of an environment for simulation and evaluation of data allocation models in distributed database systems</article-title>
          .
          <source>Technical report</source>
          , University of Tehran:
          <source>Technical Report No. DBRG. RB-ST</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Swift</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warren</surname>
            ,
            <given-names>D.S.:</given-names>
          </string-name>
          <article-title>Xsb: Extending the power of prolog using tabling</article-title>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fodor</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liang</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Logic programming with defaults and argumentation theories</article-title>
          . In Hill,
          <string-name>
            <given-names>P.M.</given-names>
            ,
            <surname>Warren</surname>
          </string-name>
          , D.S., eds.: Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July
          <volume>14</volume>
          -
          <issue>17</issue>
          ,
          <year>2009</year>
          . Proceedings. Volume
          <volume>5649</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2009</year>
          )
          <volume>432</volume>
          {
          <fpage>448</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Basseda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gao</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greenspan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chell</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Representing exible rolebased access control policies using objects and defeasible reasoning</article-title>
          . In Bassiliades, N.,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paschke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roman</surname>
          </string-name>
          , D., eds.: Rule Technologies: Foundations, Tools, and Applications - 9th
          <source>International Symposium, RuleML</source>
          <year>2015</year>
          , Berlin, Germany,
          <source>August 2-5</source>
          ,
          <year>2015</year>
          , Proceedings. Volume
          <volume>9202</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2015</year>
          )
          <volume>376</volume>
          {
          <fpage>387</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Gelfond</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lifschitz</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>The stable model semantics for logic programming</article-title>
          . In Kowalski, R.A.,
          <string-name>
            <surname>Bowen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>A</article-title>
          ., eds.: Logic Programming,
          <source>Proceedings of the Fifth International Conference and Symposium</source>
          , Seattle, Washington,
          <source>August 15-19</source>
          ,
          <year>1988</year>
          (
          <article-title>2 Volumes)</article-title>
          , MIT Press (
          <year>1988</year>
          )
          <volume>1070</volume>
          {
          <fpage>1080</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaufmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaminski</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ostrowski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
          </string-name>
          , M.T.:
          <article-title>Potassco: The potsdam answer set solving collection</article-title>
          .
          <source>AI Commun</source>
          .
          <volume>24</volume>
          (
          <issue>2</issue>
          ) (
          <year>2011</year>
          )
          <volume>107</volume>
          {
          <fpage>124</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>