<!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>A SILK Graphical UI for Defeasible Reasoning, with a Biology Causal Process Example</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Benjamin Grosof</string-name>
          <email>benjaming@vulcan.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mark Burstein</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mike Dean</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carl Andersen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Brett Benyo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>William Ferguson</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniela Inclezan</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Shapiro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Raytheon BBN Technologies</institution>
          ,
          <addr-line>Cambridge, Massachusetts</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vulcan Inc., Seattle</institution>
          ,
          <addr-line>Washington</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>SILK is an expressive Semantic Web rule language and system equipped with scalable reactive higher-order defaults. We present one of its latest novel features: a graphical user interface (GUI) for knowledge entry, query answering, and justification browsing that supports user specification and understanding of advanced courteous prioritized defeasible reasoning. We illustrate the use of the GUI in an example from college-level biology of modeling and reasoning about hierarchicallystructured causal processes with interfering multiple causes.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>SILK’s more expressive yet performant KR promises to improve knowledge
acquisition (KA) in two ways. First, expressive declarative semantics facilitates
and enables web knowledge interchange, which in turn aids scalability of
collaborative KA. Second, SILK raises the abstraction level of the underlying KR,
which is the target for direct user knowledge entry, to be closer to the user’s
natural language and cognition. “The KR is the deep UI”.</p>
      <p>
        SILK has a new fundamental KR: hyper logic programs, which extends
normal declarative logic programs (LP). Hyper LP is the first to tightly combine
several key advanced expressive features: defaults , with strong negation and
priorities, cf. courteous LP [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] with argumentation theories [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and omni-directionality
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]; (quasi) higher-order syntax, reification, and meta-reasoning, cf. HiLog [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
Common Logic and procedural attachments to external actions (side-effectful),
queries (to built-ins, web sources or services), and events (knowledge update
flows), cf. situated/production LP [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] (and similar to production rules). Other
advanced hyper LP expressive features include: webized syntax and interchange
cf. W3C Rule Interchange Format (RIF), (and the earlier RDF, RuleML, and
OWL); frame syntax (object-oriented style) cf. F-Logic [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]; and semantically
clean negation-as-failure (NAF), cf. well-founded [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        KR languages supported for interchange include: SPARQL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and RDF(S);
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]; SQL and ODBC (e.g., Excel spreadsheets); SILK, RIF (-BLD and -SILK),
and OWL (-RL); [10]; Cyc [11] (most of its KR and KB); and AURA [12]. AURA
is a Project Halo system for question-answering in first-year college science and
currently has a KB with tens of thousands of axioms about biology. AURA
largely pre-dates SILK and employs a frame-based KR that is considerably less
expressive than SILK.
      </p>
      <p>The SILK reasoning subsystem primarily does backward inferencing, i.e.,
query answering. However, it employs LP tabling techniques [13] to save and
reuse computation from previous subqueries. It thereby also supports forward
inferencing, incremental updating, and persistent queries/views.</p>
      <p>SILK’s UI and API are written in Java, built on top of an extended version
of Flora-26, which is built on top of XSB Prolog [14], which is written in C. XSB
provides a normal LP reasoning kernel that is highly efficient [15].</p>
      <p>Outline and Contributions: A previous version of SILK was presented in
[16] [17]. In the rest of this paper, we present a novel addition to SILK since then:
a graphical user interface (GUI) for KA and querying that treats defeasibility
(section 2). We present an example of complex causal biology process reasoning
(section 3), of the kind to be used in our accompanying system demonstration.
Comparison with related work is given especially in section 2. We conclude by
discussing future work (section 4).</p>
    </sec>
    <sec id="sec-2">
      <title>6 http://flora.sourceforge.net</title>
      <p>External
Knowledge &amp;
Reasoners
KB #1 … KB #n
…</p>
      <sec id="sec-2-1">
        <title>Engine #1 Engine #m</title>
        <p>KR Languages
• SILK, RIF-SILK
• RIF-BLD, OWL-RL
• SPARQL, RDF(S)
• SQL, Cyc, AURA
UI
Java
API
Java</p>
      </sec>
      <sec id="sec-2-2">
        <title>Advanced</title>
        <p>• Authoring
• Explanation
(Eclipse)</p>
      </sec>
      <sec id="sec-2-3">
        <title>Language</title>
        <p>Interoperability
Parsing &amp;
Serialization
Instant Message
Command Line</p>
      </sec>
      <sec id="sec-2-4">
        <title>Engine</title>
        <p>• Querying
• Updating
• Actions
(Registry of component implementations)</p>
      </sec>
      <sec id="sec-2-5">
        <title>FLORAͲ 2 Engine</title>
        <p>XSB</p>
        <p>(InterProlog and ODBC interfaces)
We have developed a graphical user interface (GUI) to the SILK system for
knowledge entry, query answering, and justification browsing. The GUI is
currently used by KEs and is being extended to support use by SMEs. The GUI
supports user specification and understanding of advanced courteous prioritized
defeasible reasoning. It is implemented as a plug-in to the Eclipse 7 Integrated
Development Environment (IDE).</p>
        <p>The GUI, pictured in Figure 2, offers users a number of capabilities. Entered
SILK statements are syntactically validated and statement components (e.g.,
annotations) are color-coded for clarity. User debugging of rule bases is
facilitated by automatic tracking of target queries’ results against user changes to
the rules. This also allows what-if explorations. The GUI also offers query result
justification trees (technically, graphs) that can be explored incrementally, by
expanding each tree node to display its children. At each node, the user can
specify particular bindings to filter the portion of the justification tree that is
displayed. Trees of this sort are also available for negative results (i.e., when a
literal cannot be inferred), allowing developers to drill down and identify flaws
in a desired chain of logical reasoning. This display mechanism also supports the
reasoning chains found in courteous defaults by showing defeated ground rule</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>7 http://eclipse.org</title>
      <p>instances — rules whose heads are not true, despite their bodies being true, due
to conflict with other rules. Figure 2 shows an example of refutation-flavor defeat
of a rule instance (and thus of its head atom A). The rule instance has a
candidate argument — i.e., the rule’s body is satisfied. But there also is a candidate
counter argument (whose head is neg A) that has a higher-priority rule tag.</p>
      <p>In (ASCII) SILK syntax, a # c means that a is an instance of class c.
Skolems are prefixed by the underscore character (“ ”). A courteous rule label
term, used for prioritization, is called a tag. An explicit tag is specified in a
rule via an annotation which optionally begins the rule: @[tag-&gt;G] H :- B ;
specifies a rule with tag G. “:-” is the usual LP rule implication connective, i.e.,
informally “if”. H and B are called the rule head and body, respectively; and “;”
is the statement ending delimiter. “:- B” may be absent, i.e., the body may be
empty (true). The tag (G) may be strict (silk:strict), i.e., non-defeasible; if
so, the “tag-&gt;silk:” may be omitted.</p>
      <p>The GUI also offers a graph view of rule bases, in which terms and relations
are displayed as nodes and arcs between nodes. Flexible control of selection and
layout of items to display is achieved via running rules that are specified (e.g.,
by power users) in SILK itself.</p>
      <p>To our knowledge, the SILK GUI is only the second justification exploration
GUI for (prioritized) defeasible rules that have (declarative, model-theoretic)
semantics . The first such system was DR-DEVICE [18], which displays defeat
justifications, but with less extensive GUI functionality than SILK provides.
Its Defeasible Logic KR is closely related to the courteous feature of hyper LP
(see [19] for a comparison), but lacks higher-order and several other advanced
expressive features of hyper LP.
3</p>
      <p>Example: A Complex Causal Process in Biology
We have developed a novel approach to modeling and reasoning about
temporal hierarchically-structured causal processes, that smoothly handles
interference/exceptions between multiple causes and elegantly treats the “frame
problem” (inertia / persistence of causal fluents). It leverages hyper LP’s prioritized
defaults. To fully describe the approach is beyond the scope of this paper,
however. Instead, we illustrate the approach with an example of college-level biology
that shows the SILK GUI’s novel capability to explore justifications in the
presence of prioritized defeat.</p>
      <p>In biology and medicine, a key process is the cell cycle in which a cell grows
and then divides. (Control failure in this process causes cancer.) The cell cycle
is a complex hierarchically-structured process. It consists of two phases
(subprocesses): interphase and mitosis, in that temporal order. Interphase, in turn,
consists of three subphases G1, S, and G2, in that order. Mitosis too has several
subphases. Many of the above subphases in turn have sub-subphases, etc. DNA
synthesis occurs during S phase, and indeed begins when S phase begins. This is
the knowledge required to answer the following first-year college exam question8:
8 chapter 12 self-quiz question 15 in [20]
A researcher treats cells with a chemical that prevents
DNA synthesis from starting. This treatment traps the cells
in which part of the cell cycle?</p>
      <p>Correct answer: G1.</p>
      <p>That is, if DNA synthesis does not occur, then S Phase does not occur, and the
cell cycle stops in the preceding phase which is G1.</p>
      <p>We have translated into SILK a substantial AURA KB about biological
processes, and then extended it with additional SILK rules to create a more
expressively powerful SILK KB about biological processes, which correctly answers the
above question (formulated in SILK).</p>
      <p>AURA uses the Knowledge Machine (KM) [21] KR, and relies heavily on
KM’s skolemized frames called “prototypes” which are the focus of AURA’s
user KA. For example, the fact that cars have engines might be represented by
the SILK rule:
?car[engine -&gt; _Engine92(?car) # Engine] :- ?car # Automobile
This says that if ?car is an instance of Automobile, then it is related by the
engine property to a skolem instance Engine92(?car) that is specific to that
?car.</p>
      <p>In our SILK biological process KB, “prototype” statements like the one above
are used to express the knowledge that the cell cycle process is decomposed
hierarchically into its particular phases. Additional (non-“prototype”) SILK axioms
specify the positive and negative effects and preconditions of various processes,
and a general-purpose causal progression model of stepwise phased processes
as being “intended” to occur. These rules entail that if a step occurs at time
t then the next step should occur at time t + 1 unless it is prevented by some
other causal influence. The KB is too large to include in this paper. Some of the
important rules for the example question are:
// the cell cycle is intended at time step 0
_Cell_Cycle79[intended_at -&gt; 0] ;
// G1 is followed by S Phase in Interphase
?x[subevent -&gt; _G1_Phase60(?x) # G1_Phase[next_event -&gt;
_S_Phase59(?x) # S_Phase]] :- ?x # Interphase ;
// the first subevent of S Phase is DNA_Synthesis
?x[first_subevent -&gt; _DNA_Synthesis295(?x) # DNA_Synthesis]
:- ?x # S_Phase ;
// an action intended at time i occurs at time i
@[tag -&gt; intended_actions_are_executed]</p>
      <p>?a[occurs_at -&gt; ?i] :- ?a # Action, ?a[intended_at -&gt; ?i] ;
// prevented actions don’t occur
@[tag -&gt; silk:strict]
neg ?x[occurs_at -&gt; ?i] :- ?x # Action,?i # Step,</p>
      <p>prevented(?x)[holds_at -&gt; ?i] ;
Other rules allow derivation of the fact:
Contributions of this work were summarized in the Abstract and at the end of
section 2.</p>
      <p>A key direction in current and future SILK work is to increase SME
friendliness of the UI in collaborative KA and querying, using in part controlled natural
language. SILK is now being integrated with other portions of Project Halo,
particularly AURA. We are also refining a translator from Cyc to SILK and using
it to provide knowledge about biology.</p>
      <p>Acknowledgements: Thanks to all of the SILK team, particularly Paul
V. Haley, Terrance Swift, Michael Kifer, David Gunning, Vinay Chaudhri, and
Michael Gelfond.
10. McGuinness, D., van Harmelen, F.: OWL Web Ontology
Language Overview. W3C Recommendation 10 February 2004,
http://www.w3.org/TR/2004/REC-owl-features-20040210/
11. Cycorp, Inc: The Syntax of CycL.</p>
      <p>http://www.cyc.com/cycdoc/ref/cycl-syntax.html
12. Gunning, D., Chaudhri, V.K., et al.: Project Halo Update: Progress Toward Digital</p>
      <p>Aristotle. AI Magazine to appear, Fall 2010.
13. Swift, T., Warren, D.S.: An abstract machine for SLG resolution: definite programs.</p>
      <p>In: Proc. Intl. Logic Programming Symposium (ILPS). (1994)
14. Swift, T., Warren, D.S.: XSB: Extending Prolog with Tabled Logic Programming.</p>
      <p>Theory and Practice of Logic Programming to appear.
15. Liang, S., Fodor, P., Wan, H., Kifer, M.: OpenRuleBench: An Analysis of the</p>
      <p>Performance of Rule Engines. In: Proc. WWW-2009 Conf. (2009)
16. Grosof, B.N., Dean, M., Kifer, M.: The SILK System: Scalable
Higher-Order Defeasible Rules. In: RuleML-2009 Challenge, part
of The International RuleML Symposium on Rule Interchange and
Applications (RuleML 2009), Las Vegas, Nevada (November 2009)
http://silk.semwebcentral.org/silk-ruleml-2009-challenge.pdf.
17. Grosof, B.: SILK: Higher Level Rules with Defaults and Semantic Scalability.</p>
      <p>In: Proc. 3rd International Conference on Web Reasoning and Rule Systems (RR
2009), Chantilly, Virginia, Springer (October 2009) 24–25
18. Bassiliades, N., et al.: Proof explanation in the DR-DEVICE system. In: Proc. 1st</p>
      <p>Intl. Conf. on Web Reasoning and Rule Systems. (2007)
19. Wan, H., Kifer, M., Grosof, B.: Defeasibility in Answer Set Programs via
Argumentation Theories. In: Proc. 4th Intl. Conf. on Web Reasoning and Rule Systems.
(2010)
20. Campbell, N.A., Reece, J.B.: Biology. 6th edn. Benjamin Cummings (2002)
21. University of Texas Computer Science Dept - Knowledge Systems Research Group:
KM: The Knowledge Machine. http://userweb.cs.utexas.edu/~mfkb/km/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.N.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Representing E-Commerce</surname>
          </string-name>
          <article-title>Rules via Situated Courteous Logic Programs in RuleML</article-title>
          .
          <source>Electronic Commerce Research and Applications</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          ) (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.:
          <article-title>Logic Programming with Defaults and Argumentation Theories</article-title>
          .
          <source>In: Proc. 25th Intl. Conf. on Logic Programming</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andersen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Omni-directional Hyper Logic Programs in SILK and RIF</article-title>
          .
          <source>In: Proc. 4th Intl. Web Rule Symp. (RuleML)</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warren</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>HiLog: A foundation for higher-order logic programming</article-title>
          .
          <source>Journal of Logic Programming</source>
          <volume>15</volume>
          (
          <issue>3</issue>
          ) (
          <year>February 1993</year>
          )
          <fpage>187</fpage>
          -
          <lpage>230</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.N.:</given-names>
          </string-name>
          <article-title>The Production Logic Programs Approach, in a Nutshell: Foundations for Semantically Interoperable Web Rules</article-title>
          (
          <year>December 2005</year>
          ) Working Paper.
          <source>Version of Dec</source>
          .
          <year>2005</year>
          . Available on Web at: http://ebusiness.mit.edu/bgrosof/#PLP.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lausen</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
          </string-name>
          , J.:
          <article-title>Logical Foundations of Object-Oriented and FrameBased Languages</article-title>
          .
          <source>Journal of ACM 42 (July</source>
          <year>1995</year>
          )
          <fpage>741</fpage>
          -
          <lpage>843</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Przymusinski</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Well-founded and Stationary Models of Logic Programs</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>12</volume>
          (
          <issue>3</issue>
          ) (
          <year>1994</year>
          )
          <fpage>141</fpage>
          -
          <lpage>187</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Prud'hommeaux</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SPARQL Query Language for RDF</article-title>
          .
          <source>W3C Recommendation 15 January</source>
          <year>2008</year>
          , http://www.w3.org/TR/2008/REC-rdf
          <string-name>
            <surname>-</surname>
          </string-name>
          sparql-query-
          <volume>20080115</volume>
          /
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Brickley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guha</surname>
          </string-name>
          , R.:
          <source>RDF Vocabulary Description Language 1</source>
          .0:
          <string-name>
            <given-names>RDF</given-names>
            <surname>Schema</surname>
          </string-name>
          .
          <source>W3C Recommendation 10 February</source>
          <year>2004</year>
          , http://www.w3.org/TR/2004/REC-rdf-schema-
          <volume>20040210</volume>
          /
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>