160 likes | 181 Views
Brokering Services A Transformation-Based Perspective. Stephen Potter & Marco Schorlemmer. www.aktors.org. Services and the Semantic Web. Semantic Web vision: a move toward augmenting information with well-defined and machine-processable semantics. Semantic Web as a medium for:
E N D
Brokering ServicesA Transformation-Based Perspective Stephen Potter & Marco Schorlemmer www.aktors.org
Services and the Semantic Web • Semantic Web vision: a move toward augmenting information with well-defined and machine-processable semantics. • Semantic Web as a medium for: • service-providers to advertise their services; • service-requesters to publicise their needs. • Missing: some means by which available services are matched to stated needs. • A web service is a service that is visible on and invoked via the web (using web-based communications protocols).
Some sort of brokering mechanism? • Service-providers advertise their available services to the broker using some specification language; • Service-requesters post their requests to the broker in the same language; • Broker attempts to find one or more available services (or sequences of services) that would appear to satisfy the request. • Broker then: • Sends these details to requester; • Or invokes the services directly and returns results; • (Or tells requester that no matching services were found.)
Brokering Problem • Few brokers? • Centralise brokering services; • But: overheads of storing and reasoning with many advertisements (and is ‘general reasoning’ adequate?) • Or many brokers? • Specialised brokering services; • But: too many and the problem shifts to becoming one of finding the right broker… • Want broker to have reasonable coverage: need flexible brokering mechanism.
Brokering and Ontologies • Application ontologies used to provide content of specifications (and define valid reasoning). • Two extremes: ‘ontology-independent’ and ‘ontology-dependent’ brokers. • ‘Ontology-independent’ broker: • General applicability but relies on simple pattern-matching reasoning to find services. • ‘Ontology-dependent’ broker: • Sophisticated ontological reasoning but limited applicability (must re-engineer for new domains).
Information Transformations • So: want a brokering mechanism that lies somewhere between the two extremes. • Unifying concept of a service as providing an information transformation provides this? • Some transformation of input-information into output-information. • Insist on the presence of these abstract concepts in the application ontology: • Relating the services described using the ontology to the broker’s abstract idea of an information transformation. • Gives the broker a ‘semantic hook’ into the ontology. • Gives provider- and requester-agents some idea of the appropriate content of service descriptions.
A Brokering Environment • Assume environment includes: • Agents (have unique identifier/location (URI), plus ability to communicate with environment (basic mechanism + ACL): • Service-providers; • Service-requesters; • One or more brokers (locations of which are known a priori to providers and requesters); • Brokering ontologies (locations known a priori to (some) agents.) • An agent has the ability to process and ‘understand’ certain ontologies.
Broker ‘Capability’ • Broker makes known its ‘ontological capability’ to the environment in terms of the ontologies that it can handle: • Either explicitly, by, for example, giving particular application ontology URIs; • Or, more generally, by specifying the ontology language it can deal with (e.g. RDFS, OWL) along with certain facts it expects to find in any ontology. • Assume this capability is also known to other agents a priori. • Example of an ontological capability…
Example Ontological Capability • Ontology language: • class(C) defines a class (concept), here considered to be a collection of individuals in the domain of discourse. A class is a unary relation, C(x), which is interpreted as meaning that individual x is an instance of class C. • subclass-of(C,P): class C is a subclass of class P iff every instance of class C is also an instance of class P. • relation(R) refers to a set of tuples that represents a binary relationship among individuals in the domain of discourse. Hence R(x,y) is interpreted as meaning that individual x stands in relation R to individual y. • subrelation-of(R,P): R is a subrelation of P iff every tuple of R is also a tuple of P. • implies(A,B): material implication (if A then B). • and(A,B,...): logical and, can take any number of arguments. • thing, a term indicating the most general class and relation, a term indicating the most general relation. • Ontology facts: • Must provide axioms defining classes input_information, output_informationand relation transformation, plus the following axiom: implies(information_transformation(I,O), and(input_information(I), output_information(O), transformation(I,O))).
Example Ontology - nlp-ont class(language_data). class(processed_data). … subclass-of(language_data,thing). subclass-of(processed_data,language_data). … class(representation_format). class(free_text). … class(language). class(english). class(chinese). … class(domain). class(business). class(government). … relation(language_process). relation(analysis). relation(generation). … subrelation-of(language_process, relation). subrelation-of(analysis, language_process). … class(input_information). class(output_information). relation(information_transformation). relation(transformation). implies(information_transformation(I,O), and(input_information(I), output_information(O), transformation(I,O))). implies(input_information(I), and(language_data(I),language(I), representation_format(I),domain(I))). implies(output_information(I), and(language_data(I),language(I), representation_format(I),domain(I))). implies(transformation(I1,I2), language_process(I1,I2)).
Service Descriptions • A Service is defined as: xy.information_transformation(x,y) input_information(x), output_information(y), transformation(x,y). and
input_information output_information transformation Example Services: • tokeniser(x,y) unprocessed_data(x), british_english(x), free_text(x), domain(x), tokenised_text(y), british_english(y), xml_encoding(y), domain(y), tokenising(x,y). • tagger(x,y) tokenised_text(x),english(x), markup(x), domain(x), pos_tagged_text(y), english(y), xml_encoding(y), domain(y), pos_tagging(x,y). • Advertising a service: <agent-id,ontology-id,information-transformation> • E.g., tokeniser service: • <tokeniserAgentID,nlp-ont,(tokeniser(x,y) unprocessed_data(x),…,tokenising(x,y))> • …and a request has the same form.
Broker Algorithm • With new request <RID,O,D>: • Search advertised services for those whose capabilities match the desired output_information and transformation of D. • If the input_information of these services also matches, then they represent solutions. • Else try to form sequences by finding other services whose output_information matches the input_information of these matching services and combining the two into a sequence… • …and repeat from 2.
Brokering Examples • New Request: pquery(x,y) unprocessed_data(x),language(x),free_text(x),domain(x), parse_tree(y),language(y),markup(y),domain(y), analysis(x,y). • Matches: ms-parser(x,y) unprocessed_data(x),chinese(x),free_text(x),domain(x), parse_tree(y),chinese(y),xml_encoding(y),domain(y), parsing(x,y). • …and also the sequence: tokeniser(x,y)unprocessed_data(x),british_english(x),free_text(x),domain(x), tokenised_text(y),british_english(y),xml_encoding(y),domain(y), tokenising(x,y) ...and then: tagger(x,y) tokenised_text(x),english(x),markup(x),domain(x) pos_tagged_text(y),english(y),xml_encoding(y),domain(y), pos_tagging(x,y). ...and then: parser(x,y) pos_tagged_text(x),british_english(x),xml_encoding(x),domain(x), parse_tree(y),british_english(y),xml_encoding(y),domain(y), parsing(x,y).
Discussion: General • Basic reasoning mechanism: subsumption • Broker mustbe able to ‘prove’ subsumption over the terms in its specified ontology language (but this need be neither complete nor sound…) • Trade-off: completeness/soundness of reasoning vs. expressiveness of language vs. efficiency? • Ontology requirements: • Ontology must contain ‘hooks’ to allow the broker to comprehend it: is this a reasonable request? • When is broker algorithm valid? • When transformations are independent (in some sense)… • How general is this notion of an information transformation?
Discussion:Relationship with DAML-S/OWL-S • Service Profile inputs and outputs implicitly represent transformation. • But no consideration of preconditions/ effects here… • How are these expressed/reasoned with in distributed environments? • Profile describes what should be said, but not how to say it… • here we are interested in the expression of this content. • (Here we are trying to preserve generality as far as possible…)