File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/intro/90/p90-1029_intro.xml

Size: 7,119 bytes

Last Modified: 2025-10-06 14:04:59

<?xml version="1.0" standalone="yes"?>
<Paper uid="P90-1029">
  <Title>Multiple Underlying Systems: Translating User Requests into Programs to Produce Answers</Title>
  <Section position="3" start_page="227" end_page="229" type="intro">
    <SectionTitle>
3. Approach
</SectionTitle>
    <Paragraph position="0"> The problem of multiple systems may be decomposed into the following issues, as others have done \[4, 9\]: * Representation. It is necessary to represent underlying system capabilities in a uniform way, and to represent the user request in a form independent of any particular underlying system. The input/output constraints for each function of each underlying system must be specified, thus defining the services available.</Paragraph>
    <Paragraph position="1"> * Formulation. One must choose a combination of underlying system services that satisfies the user request. Where more than one alternative exists, it is preferable to select a solution with low execution costs and low passing of information between systems * Execution. Actual calls to the underlying systems must be accomplished, information must be passed among the systems as required, and an appropriate response must be generated.</Paragraph>
    <Paragraph position="2"> 3,1. Representation 3.1.1. Representing the semantics of utterances Since the meaning of an utterance in Janus is represented as an expression in WML (World Model Language \[3\]), an intensional logic., the input to the MUS component is in WML. For a sentence such as Display the destroyers within 500 miles of Vinson, the WML is as follows:  To represent the functional capabilities of underlying systems, we define services and servers. A server is a functional module typically corresponding to an underlying system or a major part of an underlying system. Each server offers a number of services: objects describing a particular piece of functionality provided by a server. Specifying a service in MUS provides the mapping from fragments of logical form to fragments of underlying system code. Each service has associated with it the server it is part of, the input variables, the output variables, the conjuncta computed, and an estimate of the relative cost in applying it.</Paragraph>
    <Paragraph position="3">  cost: 1 In the example above, there are two competing services for computing distance between two ships: Great-circle-distance, which simply computes a great circle route between two points, and Land-avoidancedistance, which computes the distance of an actual path avoiding land and sticking to shipping lanes. The second is far more accurate when near land; both for calculating delays and in estimating fuel costs; however, the computation time is greater.</Paragraph>
    <Paragraph position="4">  Typically, the applicability of a service is contingent on several facts, and therefore, several propositions must all be true for the service to apply. To facilitate matching the requirements of a given service against the needs expressed in an utterance, we convert expressions in WML to an extended disjunctive normal form (DNF), i.e., a disjunction of conjunctions. We chose DNF because: * In the simplest case, an expression in disjunctive normal form is simply a conjunction of clauses, a particularly easy logical form to cope with, * Even when there are disjuncts, each can be individually handled as a conjunction of clauses, and the results then combined together via union, and * In a disjunctive normal form, the information necessary for a distinct subquery is effectively isolated in one disjunct.</Paragraph>
    <Paragraph position="5"> For details of the algorithm for converting an intensional expression to DNF, see \[7\]; a model-theoretic semantics has been defined for the DNF. For the sentence, Display the destroyers within 500 miles of Vinson, whose WML representation was represented earlier, the clause list is as follows:  The normal form in this case is the same as the standard disjunctive normal form: a simple conjunction of clauses. However, there ere oases where extensions to disjunctive normal form are used: in particular, certain expressions containing embedded sub-expressions (such as universal quantifications, cardinality, and some other set-related operators) are left in place. In such cases, the embedded subexpressions are themselves normalized; the result is a context object that compactly represents a necessary logical constraint but has been normalized as far as possible. #S(CONTEXT :OPERATOR FORALL  :OPERATOR-VAR var :CLASS-EXP expression :CONSTRAINT expression) states that var is universally quantified over the CLASS-EXP expression as var appears in the CONSTRAINT express/on. As an example, consider the query Are all the displayed cartiers ci ? Its WML expression is given below, followed by its normalized representation.</Paragraph>
    <Paragraph position="6"> Note that contexts are defined recursively; thus, arbitrary embeddings of operators are allowed. The component that analyzes the DNF to find underlying application services to carry out the user request calls itself recursively to correctly process DNF expressions invovling embedded expr~_ ;ons.</Paragraph>
    <Section position="1" start_page="229" end_page="229" type="sub_section">
      <SectionTitle>
3.2. Formulation
</SectionTitle>
      <Paragraph position="0"> For a request consisting only of a conjunction of literals, finding a set of appropriate services may be viewed as a kind of set-covering problem. A beam search is used to find a low cost cover. Queries containing embedded subqueries (e.g., the quantifier context in the example above) require recursive calls to this search procedure.</Paragraph>
      <Paragraph position="1"> Inherent in the collectio/: of services covering a DNF expression is the data flow that combines the services into a program to fulfill the DNF request. The next step in the formulatior, process is data flow analysis to extract the data ~low graph corresponding to an abstract program fulfillin~ the request.</Paragraph>
      <Paragraph position="2"> In Figure 1, the data flow graph for Display the destroyers within 500 miles of Vinson is pictured.</Paragraph>
      <Paragraph position="3"> Note that the data base (IDB) is called to identify the set of all destroyers, their locations, and the location of Vinson. An expert system is being called to calculate the distance between pairs of locations 1 using land avoidance routes. A Lisp utility for comparing measures is called, followed by the display command in an expert system.</Paragraph>
    </Section>
    <Section position="2" start_page="229" end_page="229" type="sub_section">
      <SectionTitle>
3.3. Execution
</SectionTitle>
      <Paragraph position="0"> In executing the data flow graph, evaluation at a node corresponds to executing the code in the server specified. Function composition corresponds to passing data between systems, Where more than one data flow path enters a node, the natural join over the input lists is computed. Aggregating operations (e.g., computing the cardinality of a set) correspond to a mapping over lists.</Paragraph>
    </Section>
  </Section>
class="xml-element"></Paper>
Download Original XML