KSL Logo Knowledge Systems Laboratory
Stanford University


Inference Engine Registering Process

Documents: home | architecture | publications | PML spec | IWBase | explanation generation | proof examples | FAQ
Tools: browser | explainer | PML API | PML handler | IWBase registrar


Step 1: Use the registrar to include meta-information about your engine and the rules it implements

  1. Ask for a IW Registrar login and password

  2. You should send a message to pp@ksl.stanford.edu in order to have a registrar's login and password for adding your own entries for sources, engines and inference rules. When creating a login for you, we also add your details as a Person entry and details of your company/university as a Organization entry.
  3. Add an entry for the new inference engine

  4. You need to log into the registrar to have access to its maintenance services. Every entry in the registry is associated to a submitter. Your are the submitter of your entries.

    Once you have logged in, you can add a new engine by selecting the Add inference engine option or update an existing engine that belongs to you by selectiong the Update inference engine. An entry for your engine needs a name to become operational. However, primitive rules are the truly important information related to engines. This does not mean that you need to register all the primitive rules that your inference engine implements sice rules can gradually be associated with engines.

  5. Identify the primitive inference rules supported by your inference engine

  6. Rules can be either primitive or derived. A rule is primitive with respect to an inference engine. Thus, a rule may be a primitive rule to one engine at the same time that it can be a derived rule to another engine.

    The identification of the primitive rules may be a difficult task since, for example, some of the primitive rules can be very specific to your engine and you may never considered to describe their implementations as rules.

    In general, a rule entry needs just a name to become operational. In terms of explaining the rule, however, it will be appropriate if the rule has also a description and an example in English. In terms of verifying the rule, it is required that it should have either

    KIF patterns or procedural attachements can be added later in the process of verifying proofs.

  7. Add unregistered core inference rules, if any

  8. Associated the core rules with the core inference engine

Step 2: Prepare the engine to dump proofs in the PML format

Inference engines can use any strategy for creating protable proofs. We suggest the use of the proof generator services for dumping portable proofs since they already have support for querying the IWBase in order to include the proof metadata annotating the proofs. Also, it provides an uniform way of generating protable proofs in case the portable proof specification evolves, for example.
  1. Implement a routine for calling the proof generator services

  2. Proof Generator Services API

    Beta versions of these services are currently available on iw.stanford.edu/iwregistrar/. APIs of these services are presented by clicking on their links below.

    Typical Use of the Proof Generator Services

    A complete process of generating proofs may involves the creation of Questions, Queries and Node Sets. The use of these services may vary from engine to another. Hovewer, they are not expected to be much different of the typical process described as follows.

    1. Task 1: An agent answering a question can use the CreateQuestion service to store the original question for future use.
    2. Task 2: The agent may reformulate the question into queries and call one or more reasoner to answer these queries.
    3. Task 3: Reasoner can use the CreateQuery service to store queries. Alternatively,the CreateQuery service can be called leter in the process, after the answers are generated. So, the reasoner should be able to pass the URIs of the newly created node sets that are going to be associated with the new query as answers (Task 5 is not needed in this case).
    4. Task 4: For the proof of each answer, the reasoner can traverse the proof and call the CreateNodeSet service for each node of the proof.
    5. Task 5: Last node sets in a set of connected PML documents are usually query answers. The AddAnswers service associates node sets with queries as query answers.
    6. Task 6: The AddQueries associated service associates questions with queries.
    Since node sets are the building blocks of portable proofs, reasoners just need to perform the task 4 in order to generate proofs. However, reasoners carrying out tasks 3, 4 and 5 may have a better presentation of their proofs since users should be able to visualize the queries associated with proofs and answers associated with a query.

    Examples of the use of the proof generator services

  3. Publish successful results of the proof generator services in portable proof format (OWL/DAML/RDF/XML compliant files)

Step 3: Browse your proofs in the IW Browser


Documents: home | architecture | publications | PML spec | IWBase | explanation generation | proof examples | FAQ
Tools: browser | explainer | PML API | PML handler | IWBase registrar

Copyright @2003 Stanford University
All Rights Reserved.

pp@ksl.stanford.edu