<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">LTML -A Language for Representing Semantic Web Service Workflow Procedures</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Mark</forename><surname>Burstein</surname></persName>
							<email>burstein@bbn.com</email>
						</author>
						<author>
							<persName><forename type="first">Robert</forename><forename type="middle">P</forename><surname>Goldman</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Drew</forename><forename type="middle">V</forename><surname>Mcdermott</surname></persName>
						</author>
						<author>
							<persName><forename type="first">David</forename><surname>Mcdonald</surname></persName>
							<email>dmcdonald@bbn.com</email>
						</author>
						<author>
							<persName><forename type="first">Jacob</forename><surname>Beal</surname></persName>
							<email>jbeal@bbn.com</email>
						</author>
						<author>
							<persName><forename type="first">John</forename><surname>Maraist</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">BBN</orgName>
								<address>
									<addrLine>10 Moulton St</addrLine>
									<settlement>Cambridge</settlement>
									<region>MA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">SIFT, LLC</orgName>
								<address>
									<settlement>Minneapolis</settlement>
									<region>MN</region>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="department">Computer Science Department</orgName>
								<orgName type="institution">Yale University</orgName>
								<address>
									<settlement>New Haven</settlement>
									<region>CT</region>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">LTML -A Language for Representing Semantic Web Service Workflow Procedures</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">E2704BDC4C7A55484DA12529493BABA7</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T04:02+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The Learnable Task Modeling Language (LTML) was developed by combining features of OWL, OWL-S, and PDDL, using a more compact and readable syntax than OWL/RDF to create human readable representations of web service procedures and hierarchical task models. Our goal was in part to develop a more robust and developer-friendly language based on the principles and design that led to OWL-S and demonstrate that such a language also provided the basis for developing tools that could learn web service procedures by demonstration. LTML's initial and driving use is as an interlingua for the learning and procedure execution components of POIROT, a system that learns web service workflow procedures from 'observations' of one or a small number of semantic web service traces. The LTML language uses an s-expression based syntax for improved readability but has parsers and generators that translate the surface forms into RDF for storage in a SESAME triple store implementing POIROT's internal blackboard. All language elements are grounded in a set of OWL ontologies. The language encompasses and extends coverage of the OWL-S process and grounding models, and introduces elements to support sets of hierarchical task methods indexed by goals, semantic execution traces, and internal tasks and learning goals. This short paper gives an overview of LTML and describes the areas where LTML diverges from or extends OWL-S and PDDL.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The Learnable Task Modeling Language (LTML) was developed to provide human and machine readable representations of semantic web service procedures and hierarchical task models suitable for use by a workflow learning and execution system. POIROT (Plan Order Induction by Reasoning from One Trial) <ref type="bibr" target="#b0">[1]</ref> is the system for which LTML was initially designed and by which it's utility has been demonstrated. POIROT utilizes an RDF-based blackboard architecture and meta-controller to orchestrate a multistrategy learning process that analyzes semantic web service execution traces and learns web service procedures. Specifically, POIROT learns and can then execute hierarchical task models given an execution trace of a single demonstration of a repetitive web service task. Here, traces are OWL representations of sequences of instances of semantic web service calls. The services (atomic processes) are represented using OWL-S. The hierarchical task models that POIROT learns can then be executed by SHOPPER <ref type="bibr" target="#b1">[2]</ref>, a component of POIROT that interprets LTML procedures and calls web services. SHOPPER in turn uses a version of the OWL Virtual Machine (OVM) <ref type="bibr" target="#b2">[3]</ref> to invoke the individual semantic web services. Figure <ref type="figure" target="#fig_0">1</ref> shows the overall structure of the POIROT system. The workflow models that POIROT as a whole learns are the result of combining a number of incomplete models learned by POIROT components that reason about segmentation of the trace into subtasks (YAPPR <ref type="bibr" target="#b3">[4]</ref>), causal explanations of related trace elements (XPLAIN <ref type="bibr" target="#b4">[5]</ref>), dataflow (service output to other service input) dependencies (IODA), overall temporal ordering structure (WIT <ref type="bibr" target="#b5">[6]</ref>), loops and conditional branches (DISTILL <ref type="bibr" target="#b6">[7]</ref>).</p><p>The different learned products are merged together in a two step process by the Stitcher, which reasons about parallel structures, and ReSHOP (based on SHOP2), which reasons about goal achievement.</p><p>POIROT processing starts when the system receives one or more traces of human task performance. A trace is an example of a human operator carrying out some particular workflow, captured by intercepting the inputs and outputs of a set of web services. The trace will be analyzed by Yappr and XPLAIN, each of which will write its analysis, in LTML, into the POIROT blackboard. The blackboard contents will be analyzed by IODA, WIT, and DISTILL, which will write partial method definitions learned from the trace and its analysis, into the blackboard. The different method definitions are then merged by the Stitcher. Finally, in order to experiment with the learned method definitions, ReSHOP will be activated to assemble the methods into a goal-achieving workflow, which will be fed to SHOPPER for execution.</p><p>POIROT components share open learning goals, hypotheses, internal tasks and learned workflow models via a central blackboard that is implemented as an RDF store (SESAME). All communication with that store is in one of several 'dialects' of LTML. Traces, methods (hierarchical procedures), class definitions and service definitions use sytactic forms hide complex or repetitive idioms required to express the content in OWL and make them more readable/editable by people. Most other aspects of the communication use what we call the 'striped' form of LTML which is an s-expression variant of N3 <ref type="bibr" target="#b7">[8]</ref>, a compact notation for RDF, relying directly on OWL concepts and properties.</p><p>In this paper we will briefly present some of the syntactic forms that were used to make what is at heart an extension of the OWL-S procedure language more accessible, and then describe some of the extensions to the language and ontology that we found necessary to represent the procedures that we were learning.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Background: OWL-S to LTML</head><p>Briefly, OWL-S (Owl for Services) <ref type="bibr" target="#b8">[9,</ref><ref type="bibr" target="#b9">10]</ref> is a set of OWL <ref type="bibr" target="#b10">[11]</ref> ontologies for describing web services and web service procedures. It has three main subparts: Profile, Process and Grounding. The OWL-S Profile ontology is used to represent what the service is used for and when its use is appropriate, including issues such as quality of service. The Process ontology describes what the service does (its inputs, outputs and effects) and the Grounding ontology describes how it is executed, specifically how parts of the process ontology relate to a specific model of how it is called by relating the semantic model to a more syntactic calling specification like WSDL <ref type="bibr" target="#b11">[12]</ref> or SOAP <ref type="bibr" target="#b12">[13]</ref>. This has typically included a mapping described using XSLT <ref type="bibr" target="#b13">[14]</ref>.</p><p>LTML is mainly concerned with Process representations <ref type="foot" target="#foot_0">4</ref> It currenly uses OWL-S groundings directly. The OWL-S process ontology describes atomic and composite processes, which represent, respectively, the elements of individual service calls, and combinations of service calls connected by data and control flow constructs. Though somewhat different in some of its details, the LTML process ontology borrows heavily from that model. An example of the difference is that it represents sequences of steps using lists modeled as sets of instances with numbered elements rather than a first/rest structure. We will mention several other differences shortly. Atomic processes on the other hand are modeled nearly identically, allowing us to use the OWL Virtual Machine to execute atomic services.</p><p>The main purpose of the LTML language is to be able to capture semantic web service execution traces and workflow descriptions that are learned from those traces by POIROT's learning processes. The traces and workflows reference semantic descriptions of web services, which in OWL-S were called atomic processes. We needed a more compact surface notation than OWL/XML to be able to work effectively with the complex OWL-S procedure models being generated by POIROT, and we also needed to extend the language in several ways to make it possible to represent all of the aspects of the procedures and traces that POIROT was reasoning over. LTML's surface syntax provides notations for workflows (composite processes) and traces to simplify their textual form and make them more readable to developers such as those reviewing what the POIROT components have learned about the traces that were demonstrated. It borrows some ideas from an initial design for a surface syntax for OWL-S developed by McDermott <ref type="bibr" target="#b14">[15]</ref>.</p><p>We required a language that was both human and machine readable, and could be interpreted in both LISP and Java TM so that it could be used as an interlingua between components written in either language to learn about, planning with or executing web service procedures. What developed was an considerably easier-to-use s-expression oriented surface notation for something very close to OWL and OWL-S descriptions of web services, web service procedures and the ontologies supporting their description of specific domains processes. Additional ontologies and some language features were then added to capture other parts of the the AI planning competition language PDDL <ref type="bibr" target="#b15">[16]</ref> <ref type="foot" target="#foot_1">5</ref> and the SHOP-2 hierarchical task network planning language <ref type="bibr" target="#b16">[17]</ref>.</p><p>LTML encompasses the expressive power of OWL by providing syntactic forms that are directly translatable into OWL class and property definitions and descriptions of individuals. LTML's primitive service definitions capture both conventional planning operators (as in PDDL) and OWL-S atomic processes, while providing a few additional features to overcome shortcomings of OWL-S representations, especially for service effects. Finally, LTML adds higher-level control flow constructs to compose these atomic actions into methods, similar to OWL-S composite processes, and uses these forms to describe web service workflows.</p><p>All LTML surface syntactic forms for processes have translations into OWL using an OWL ontology very similar to the OWL-S Process ontology. Other OWL concepts are used to describe event sequences, specifically service execution traces. In the POIROT system, all LTML surface forms are translated, using these ontologies, into RDF triples for storage in an RDF triple-store (SESAME), and all ontologies are translated to and represented in OWL Full. This allows these forms to be easily combined with other OWL representations for such things as sets of methods (subprocedures) that comprise a learner's hypothesis about how to perform an observed procedure.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">LTML Language Overview</head><p>LTML has a Lisp-like syntax, or rather two syntaxes. LTML has a surface form intended for human readability and writeability. LTML also may be written in striped notation. Striped notation is a Lisp-like notation for RDF triples, essentially equivalent to N3 <ref type="bibr" target="#b7">[8]</ref>. The syntax for striped descriptions is simply:</p><formula xml:id="formula_0">(Classname instanceName (propertyName value) * )</formula><p>where the value is another description, and Classname, instanceName and property-Name are LTML symbols. LTML symbols consist of a namespace abbreviation, an '@', and a local namestring. The '@' replaces the OWL ':'.</p><p>Striped syntax translates into RDF in the obvious way. The pattern creates an RDF description for instanceName, declaring it of type Classname, with properties specified by propertyName and with corresponding values. So, for example, (animals@Dog Fido (pet@belongsTo Mark) (pet@chases (animals@Cat Trixie)))</p><p>translates to the RDF/XML: &lt;animals:Dog rdf:ID="Fido"&gt; &lt;pet:belongsTo rdf:resource="Mark"&gt; &lt;pet:chases&gt; &lt;animals:Cat rdf:resource="Trixie"/&gt; &lt;/pet:chases&gt; &lt;/animal:Dog&gt;</p><p>The rest of the paper focuses on the compact surface form.</p><p>Classes and properties LTML provides a syntax for describing classes and properties. Again, the "@" is a namespace separator. LTML namespace abbreviations map to XML namespace abbreviations in the obvious way.</p><p>(in-namespace trans) (Class Airport (subClassOf loc@Location) (subClassOf top@Entity) (restrict airportLocationID (cardinality 1) -LocationID))</p><p>For comparison, here is the definition of Airport translated into OWL/XML 6 &lt;owl:Class rdf:ID="Airport"&gt; &lt;rdfs:subClassOf rdf:resource="&amp;loc;#Location"/&gt; &lt;rdfs:subClassOf rdf:resource="&amp;top;#Entity"/&gt; &lt;rdf:subClassOf&gt; &lt;owl:Restriction&gt; &lt;owl:onProperty rdf:resource="&amp;loc;#airportLocationID"/&gt; &lt;owl:allValuesFrom rdf:resource="&amp;loc;#LocationID"/&gt; &lt;owl:cardinality rdf:datatype= "&amp;xsd;#nonNegativeInteger"&gt;1&lt;/owl:cardinality&gt; &lt;/owl:Restriction&gt; &lt;/rdf:subClassOf&gt; &lt;/owl:Class&gt;</p><p>The main "syntactic sugar" here is the simplified form for property restrictions on classes. The restrict keyword is followed by a property name, an optional cardinality description and a type restrictions in a single ordered expression. As in other places in the language, type restrictions are indicated by a dash '-' followed by a type. The restict clause also declares a new property if it was not previously defined.</p><p>Properties are defined in a similar way. ObjectProperties and DatatypeProperties are recognized based on their range. Atomic process definition Figure <ref type="figure" target="#fig_2">2</ref> is an example of an LTML atomic process (semantic web service) definition. As with methods, services have inputs and outputs. In addition, however they have preconditions and results. <ref type="foot" target="#foot_3">7</ref>(AtomicProcess reserveSeat (inputs flightNo -travel@FlightID passengerID -travel@PassengerID confirmationCode -travel@ConfirmCode) (outputs outcomeFlag -svc@ResultCode reservationID -airSvc@ReservationID) (precondition (travel@paymentRcvd passengerID flightNo confirmationCode)) (result (when (svc@Success outcomeFlag) (ThereIs ((p (referent travel@Passenger passengerID)) (f (referent travel@Flight flightNo))) (trans@hasReservedSeat p f reservationID) (increment-fluent (travel@passengers f) 1))))) This definition includes what an invoking agent should provide to the web service (inputs), the service precondition, which is the condition that the agent should check and make sure is true before invoking the service, and what the agent can expect back (outputs). Other conditions on successful service execution that are based on information known to the service provider appear in conditional effects. For example, for the reserveSeat service, a reservation failure due to seat capacity being exceeded would be expressed as a conditional effect since the agent making the reservation would not be expected to know the plane's capacity or number of pre-existing reservations before attempting to call the service.</p><p>The markup also tells the agent what it can infer about the state of the world after invocation of the web service (result). Service results are typically a set of conditional statements, principly based on the service outputs and what the agent believes about the state of the world. In this case, that knowledge is limited to what happens if the service is invoked successfully; if it's unsuccessful, the agent can infer nothing. The language for expressing results in LTML is a superset of what is defined for OWL-S. Note particularly the use of the Thereis and referent construct. The combination of these gives an "exists uniquely" kind of quantification -if the agent knows the patient that is the referent of patientID, it should bind p to that patient; otherwise, the agent can infer the existence of such a patient with that ID, and a skolem for that entity is created.</p><p>Method definitions Figure <ref type="figure">3</ref> shows an example of an LTML Method. This example was crafted so as to demonstrate most key elements of the process language. Methods and atomic processes have sets of inputs and outputs, which are process variables that bind to entities of a given type. All variables preceding a dash are typed with the class following the dash. The inputs passenger are the arguments to the method, and the outputs (loc1, loc2, deptime are the variables bound to whatever is produced. A method has a body which consists of a single control construct.</p><p>An LTML Workflow is simply a top-level method definition. It has no inputs or outputs, and serves the same function as the main() routine in a conventional programming language.</p><p>Methods have a body consisting of an instance of a control construct. The main compositional control constructs are seq, loop and branch. In the figure, it is a sequence(seq) of four steps (the last being a loop). Each control construct provides for the declaration of links which are essentially write-once local variables over the scope of the construct. Single step control constructs are perform, used to invoke an atomic services or another method by name, achieve, used to invoke a method indexed by its goal and values, used to bind values to links or method output parameters.</p><p>The initial keyword (shown in bold) for all control constructs is immediately followed by a tag which is simply a name for the instance of the construct. In translation to RDF, each bare tag is composed with a context marking string to make a unique URL. For example, seq0 becomes example3@FindFlight.seq0 and step0 becomes example3@FindFlight.seq0.step0. Parameter and link variables are automatically translated by the same mechanism, so that subsequent references to steps or variables in markup intended to annotate or comment on those descriptions will be unambiguous.</p><p>(in-namespace example3) (Method FindFlight (inputs passenger -base@Person loc1 loc2 -base@Location deptime -base@Time) (outputs foundFlt -travel@Flight) (body (seq seq0 (links apt1 apt2 -travel@Airport flights -travel@FlightSet flight -travel@Flight) (acts (perform step0 ;; find a departure airport (airSvc@findAirport (loc &lt;= loc1)) (put (found =&gt; apt1))) (perform step1 ;; find an arrival airport (airSvc@findAirport (loc &lt;= loc2)) (put (found =&gt; apt2))) (perform step2 ;; find flights from apt1 to apt2 (when (exp@and (bound apt1) (bound apt2)) (airSvc@findFlights (origin &lt;= apt1) (destination &lt;= apt2) (onDay &lt;= (exp@propval date depTime))) (put (fltList =&gt; flights))) (loop step3 ;; loop over flights -find one early enough (links (flt (over flights) -travel@Flight)) (while (exp@not (exp@bound foundFlt))) (body (branch branch1 (test (base@time&lt; (exp@propval departTime flt) deptime)) (values step4 (foundFlt := flt))))))))) Fig. <ref type="figure">3</ref>. Sample method definition in LTML.</p><p>The ability to reference elements of methods uniquely so that one could annotate them with information useful during learning, and relate them to altermative hypotheses was a key objective of LTML.</p><p>Branch test, loop while or until and perform when clauses all take expression forms, which are conventional prefix-notation formulas. Expressions are reified in translation to RDF, and are composed of instantiated exp@Predicate subclasses. and, or, and not keywords may be used in the normal way in expressions. Links declared in the same control construct as the expression are treated as variables to be bound by the expression, which are treated as a queries against a Prolog-like model of the current state of the world that is maintained during execution. This essentially follows the approach adopted by OWL-S, and does not resolve the problem that class names and properties frequently appear in such expressions as unary and binary predicates, though these expressions are not normal OWL descriptions.</p><p>Trace descriptions LTML also represents traces, which capture sequences of service activations. Traces are the primary inputs to the POIROT learning components. Trace elements include the service called, its inputs and outputs, and its effects, which is a grounded instantiation of the result description from each service called. Figure <ref type="figure">4</ref> shows an initial fragment of an example consistent with Figure <ref type="figure">3</ref> having been called. The syntax of traces is close to striped except that input and output keywords are followed by lists of parameter-value pairs rather than properties. If present, the result keyword is followed by a list of predicate terms, resulting from the interpretation of the service result.</p><p>(Trace x@Trace1 (agent x@Demonstrator1) (elt (TraceElt x@Trace1Elt1 (eltPosition 1) (timestamp "0:00:00") (eventType airSvc@findAirport) (input (airSvc@findAirport.loc (base@Loc x@Loc1 (base@locationName "Boston")))) (output (airSvc@findAirport.found (trvl@Airport x@Airport1 (trvl@airportLocID (trvl@AirportLocID x@AirportLocID1 (base@value "BOS"))))) (svc@outcomeFlag (svc@Success svc@Success1))) (serviceResult ((trvl@Airport x@Airport1) (trvl@airportLocID x@Airport1 x@AirportLocID1) (trvl@nearTo x@Loc1 x@Airport1)))) . . . </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Execution Model</head><p>LTML provides an executable model of web-based workflow, and we have developed an LTML interpreter, SHOPPER <ref type="bibr" target="#b1">[2]</ref>, as one component of the POIROT system.</p><p>LTML is purely functional: its variables (referred to as "links" or "parameters") are write-once entities (except for loop links). LTML is unusual in featuring, in addition to conventional expressions (e.g., (islessthan Number Number)), logicprogramming style queries. Any simple predication in a query context, for example (trans@scheduled patient flight), is treated as a boolean query against the agent's current beliefs. Queries are variable-binding operations if they refer to unbound links in the same LTML control construct. So if a branch declares links then its test may bind that link for use during the execution of the branch. Similarly, links declared in a perform may be bound by the when clause for use as inputs to the called action.</p><p>LTML has a state-based execution model like that assumed by AI planning systems <ref type="bibr" target="#b17">[18]</ref>. Calls to web services return not only results (called outputs) in the usual sense of subroutine invocation, but also a service result or set of facts to be incorporated into the knowledge state. Subsequent queries are then based against the newly updated knowledge state, and built-in functions can also operate on this state.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Beyond OWL-S</head><p>LTML moves beyond OWL-S in features and expressivity in several ways. Most of these have resulted from our project's needs in representing complex workflows in a way that allowed them to be learned, annotated, compared, combined and executed.</p><p>A key feature of LTML models is their radical decomposability. The intent is that different authors (including programs) be able to combine their products into individual control structures. For example, one program might compose a loop that would process a collection, and a different program would dictate the order in which elements of the collection were processed. This required us to be careful about how tags were created to refer to these elements. We now expand tag names so that they are effectively scoped lexically.</p><p>The way perform steps bind their input and output parameters to and from links is different from OWL-S dataflow, where inputs were merely expressions on other step outputs. This construct makes it possible to follow the dataflow much like in a normal programming language. We introduced when conditions on steps (performs) that act as local step guards and bind step input parameters based on facts in the current state of the world. We also introdced the values construct to allow links to be bound to calculations based on other links. This is especially useful for drilling down into complex objects to find and bind values.</p><p>Though not discussed here for lack of space, we have also extended the process model to address HTN planning directly. to-achieve and to-execute forms associate methods with goals (with to-achieve) or abstract procedures (to-execute).</p><p>LTML signals support exception returns from service calls. This was still on the to-do list when OWL-S development ceased.</p><p>We have identified the need for the language to have atomic actions for assert and query to enable the workflows to record decisions and check for 'mental notes' that enable workflows to progress properly. These facts cannot be asserted by results of atomic service definitions if they are specific to the composite process and the atomic services are developed by other parties.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions and future work</head><p>LTML was developed in an attempt to make a more robust, usable web service procedure language using which we might even automatically learn these procedures, compare them, integrate them and critique them using automated learning and reasoning techniques. POIROT demonstrates the basic feasibility of this approach. LTML is continuing to evolve, although more slowly. We are moving toward applications of POIROT that will involve training naive users with procedures that POIROT has learned. This will likely require us to use partial order step constructs more extensively, so that following procedures during the training is not overly restrictive.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Overview of POIROT Architecture</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Sample web service definition in LTML.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .Fig. 5 .</head><label>45</label><figDesc>Fig. 4. Sample web service definition in LTML</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_0">One could argue that its means of associating goals with methods (the to-achieve form) is similar to one function of Profiles.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_1">Note that, as an extension of PDDL, LTML is also able to capture conventional AI planning problems.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_2">For brevity, we use entity abreviations for the namespaces.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_3">Methods can also have preconditions and effects, but they are normally derived from their consitituents.</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This project is supported by DARPA IPTO under contract FA8650-06-C-7606. Approved for Public Release, Distribution Unlimited.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">POIROT -integrated learning of web service procedures</title>
		<author>
			<persName><forename type="first">M</forename><surname>Burstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Laddaga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcdonald</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Cox</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Benyo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Robertson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Hussain</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brinn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcdermott</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Twenty-Third AAAI Conference (AAAI-08)</title>
				<meeting>the Twenty-Third AAAI Conference (AAAI-08)</meeting>
		<imprint>
			<publisher>AAAI Press</publisher>
			<date type="published" when="2008-07">July 2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">SHOPPER: interpreter for a high-level web services language</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">P</forename><surname>Goldman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Maraist</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Int&apos;l Lisp Conference</title>
				<meeting>Int&apos;l Lisp Conference</meeting>
		<imprint>
			<date type="published" when="2009-03">March 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">The DAML-S virtual machine</title>
		<author>
			<persName><forename type="first">M</forename><surname>Paolucci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Ankolekar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Srinivasan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">P</forename><surname>Sycara</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">D</forename><surname>Fensel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">K</forename><forename type="middle">P</forename><surname>Sycara</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2870</biblScope>
			<biblScope unit="page" from="290" to="305" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A new probabilistic plan recognition algorithm based on string rewriting</title>
		<author>
			<persName><forename type="first">C</forename><surname>Geib</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Maraist</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">P</forename><surname>Goldman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of ICAPS-2008</title>
				<meeting>ICAPS-2008</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Case-based explanations and the integrated learning of demonstrations</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T</forename><surname>Cox</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">H</forename><surname>Burstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Künstliche Intelligenz</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="35" to="38" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">A context driven approach to workflow mining</title>
		<author>
			<persName><forename type="first">F</forename><surname>Yaman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Oates</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Burstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of IJCAI-09</title>
				<meeting>IJCAI-09</meeting>
		<imprint>
			<date type="published" when="2009-07">July 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">DISTILL: Learning domain-specific planners by example</title>
		<author>
			<persName><forename type="first">E</forename><surname>Winner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Veloso</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of ICML-2003</title>
				<meeting>ICML-2003</meeting>
		<imprint>
			<date type="published" when="2003-08">August 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Primer: Getting into RDF &amp; semantic web using N3</title>
		<author>
			<persName><forename type="first">T</forename><surname>Berners-Lee</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005-08">August 2005</date>
		</imprint>
	</monogr>
	<note>web page</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">OWL-S: Semantic markup for web services</title>
		<author>
			<persName><forename type="first">D</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Burstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hobbs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Lassila</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcdermott</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Mcilraith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Narayanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Paolucci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Parsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Payne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Sirin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Srinivasan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Sycara</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">W3C Member Submission</title>
				<imprint>
			<date type="published" when="2004-11">November 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Bringing semantics to web services with owl-s</title>
		<author>
			<persName><forename type="first">D</forename><surname>Martin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Burstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcdermott</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Mcilraith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Paolucci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Sycara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mcguiness</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Sirin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Srinivasan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">World Wide Web</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="243" to="277" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">Owl web ontology language overview</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Mcguinness</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Van Harmelen</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/owl-features/" />
		<imprint>
			<date type="published" when="2004-02">February 2004</date>
		</imprint>
		<respStmt>
			<orgName>W3C</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><forename type="first">E</forename><surname>Christensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Curbera</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Meredith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Weerawarana</surname></persName>
		</author>
		<title level="m">Web services description language (WSDL)</title>
				<imprint>
			<date type="published" when="2001-03">March 2001</date>
		</imprint>
	</monogr>
	<note>web page</note>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><surname>Box</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Ehnebuske</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Kakivaya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Layman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Mendelsohn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">F</forename><surname>Nielsen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Thatte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Winer</surname></persName>
		</author>
		<title level="m">Simple object access protocol (SOAP) 1</title>
				<imprint>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
	<note>W3C Note</note>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">XSL transformations (XSLT)</title>
		<author>
			<persName><forename type="first">J</forename><surname>Clark</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999-11">November 1999</date>
			<pubPlace>W3C</pubPlace>
		</imprint>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">V</forename><surname>Mcdermott</surname></persName>
		</author>
		<ptr target="http://www.daml.org/services/owl-s/1.2/owl-s-gram/owl-s-gram-htm.html" />
		<title level="m">Surface syntax for OWL-S</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">The 1998 AI planning systems competition</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">V</forename><surname>Mcdermott</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI Magazine</title>
		<imprint>
			<biblScope unit="volume">21</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="35" to="55" />
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Total-Order planning with partially ordered subtasks</title>
		<author>
			<persName><forename type="first">D</forename><surname>Nau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Muñoz-Avila</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Cao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lotem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Mitchell</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings IJCAI</title>
				<editor>
			<persName><forename type="first">B</forename><surname>Nebel</surname></persName>
		</editor>
		<meeting>IJCAI</meeting>
		<imprint>
			<publisher>Morgan Kaufmann</publisher>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="425" to="430" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title level="m" type="main">Automated Planning: Theory and Practice</title>
		<author>
			<persName><forename type="first">M</forename><surname>Ghallab</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Nau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Traverso</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>Morgan Kaufmann</publisher>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
