Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reference Implementation WSMX Matthew Moran, (Emilia Cimpian, AdrianMocan, Eyal Oren, Michal Zaremba) Digital Enterprise Research Institute

Similar presentations


Presentation on theme: "Reference Implementation WSMX Matthew Moran, (Emilia Cimpian, AdrianMocan, Eyal Oren, Michal Zaremba) Digital Enterprise Research Institute"— Presentation transcript:

1 Reference Implementation WSMX Matthew Moran, (Emilia Cimpian, AdrianMocan, Eyal Oren, Michal Zaremba) Digital Enterprise Research Institute 1st F2F meeting SDK cluster working group on Semantic Web Services Wiesbaden, Germany,

2 WSMX Overview Goal –To build a Web Service execution environment as a reference implementation of WSMO Initial scope –WSMO Lite Sub-deliverables –D13.1 Conceptual model –D13.2 Execution Semantics –D13.3 Mediation –D13.4 Architecture –D13.5 Implementation

3 Conceptual Model

4 Conceptual Model Integration Type –Defines an integration task –WSMO written in BNF form –Contains a set of declarative instructions that can be validated and interpreted by WSMX trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

5 Execution Semantics WSMX Execution Semantics What are they? –Formal definition of WSMX operational behaviour How to Model them? –By identifying states and how the execution environment transitions between states –By using modelling technique such as Petri Nets to identify problems such as deadlocks

6 Mediation Mediation can mean transformation Challenges faced –Structure Different composition of concepts –Completeness Incomplete concept representation on source or target –Data type mismatch Example: Zip Code as string; Zip Code as positive integer –Subsumption

7 Mediation - Example Address1 –Street and number Street Number –Locality –Country –ZIP Axioms: zip_number[value => integer] ZN[value->V]:-ZN:zip_number, V>0. local[str => street, number => integer] address1[str_no => local, loc => locality, country => country, zip => zip_number] Address0 –Street –Number –Locality –State, province or county –Country –ZIP Code Axioms: positive_int[value => int]. FORALL PI:positive_int 0. zip_code[value => string]. address0[str => street, no => positive_int, loc => locality, county => county, country => country, zip => zip_code]. Ontology1, Address1 Ontology0, Address0

8 Mediation - Example Address2 –Address line 1 –Address line 2 Axioms: address[adr_line_1 => string, adr_line_2 => string]. Address0 –Street –Number –Locality –State, province or county –Country –ZIP Code Axioms: positive_int[value => int]. FORALL SN:street_numbe 0. zip_code[value => string]. address0[str => street, no => positive_int, loc => locality, county => county, country => country, zip => zip_code]. Require further knowledge about the internal structure of the source concept instances (with respect to the system that generates them) Ontology2, Address2 Ontology0, Address0

9 Invocation Challenges: Semantic Web Services involving complex interactions Goal-Capability matching by combining web services Semi-automatic goal decomposition Semi-automatic service invocation

10 Invocation Problem (simple) AmazonB&NeBay goal:buy_book capability: buy_book WS invocation engine ? you need matching on choreography, capability, etc… you need selection on price, reliability, etc… capability: buy_2ndHand_book

11 Invocation Problem (complex) plumbermasonerconstructor goal:build_house WS invocation engine architectlawyer capability: build_plumbing capability:build_walls capability:make_blueprint capability:design_house capability:make_contract goal:build_plumbing goal:make_contract goal:design:house now you also need decomposition and what to do when something goes wrong?

12 trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO WSMO Integration Type written declaratively in BNF form Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture

13 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

14 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

15 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

16 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

17 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

18 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

19 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

20 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO

21 Summary and Next Steps Conceptual –Feedback to WSMO –Implement BNF based language Mediation and Invocation –First implementation Architecture –Complete initial design Implementation –Build software that provides an execution environment for Web Services based on WSMO


Download ppt "Reference Implementation WSMX Matthew Moran, (Emilia Cimpian, AdrianMocan, Eyal Oren, Michal Zaremba) Digital Enterprise Research Institute"

Similar presentations


Ads by Google