Scenario: Shipment Discovery
From SWS Challenge Wiki
The Discovery Scenario is orthogonal to the integration/mediation problem. The integration problem can be solved with current syntactic technologies, however it shall be shown how semantic annotation can be used to make this task easier and more flexible. The discovery scenario -that a new supplier has to be found- is a more visionary scenario, since in present business scenarios this task always involves a human in the loop.
The [source code] for the complete scenario is available.
News: We have included temporal reasoning in the shipment scenario.
Scope
This scenario is about how to identify possibly relevant services. Having discovered a Web service does necessarily not mean that it can be immediately executed to achieve the desired goal. Imagine you look for a specific book and discover Amazon as a book vendor: there is still some interaction with the service required to actually determine if the book is available and at which price it is available. Depending on how specific the goal is, it will sometimes not be possible to identify a suitable service only based on a static description.
Given that in practice automatic and dynamic discovery is not widely used, part of the challenge is to refine the challenge and to illustrate the benefit of semantic descriptions. Within the research community is only little consensus about what information should be included in a static description and how they should be semantically encoded. In this challenge we will describe a scenario using existing technologies (WSDL, XSD, and natural language text descriptions). There is an issue may already preclude certain approaches for discovery. This issue was discussed at the initial Workshop Phase I at Stanford and these technologies were approved. However, this issue may be raised at future workshops.
We will extend this Scenario Step by Step in a community process. This page gives details on available shipment companies, in a second scenario (Discovery II and Simple Composition) we have given details on shops where products can be ordered. In a future step we will devise goals that require to combine services from the various scenarios.
Contents |
Shipping Services
You can have a look at the implementation at [1] in case you find any of the textual descriptions ambiguous, the behavior of the implementation is normative. With an invocation of one of the Web Services you can order a shipment by specifying, senders address, receivers address, package information and a collection interval during which the shipper will come to your premises to collect the package.
The request contains the interval in which the shipper shall come to the requesters premises to pick up the package. A shipper either responses with the estimated pickup (respecting the given time constraints) or with a fault message indicating that a pick up is not possible in the requested time interval. We provide a textual description of this behavior for each shipper below. If no constraints on the business hours (earliest and latest pick up time) are given one can assume 8am to 8pm. If a shipper specifies a constraint on how long in advance a shipment can be ordered, this means that the requested collection interval must end before this date. If no constraints on the length of the interval is given one can assume that a shipper requires at least an interval of 60 Minutes.
Note that all all dates and times in the advertised services are assumed to be local to the shippers' office. Thus the California sender can assume the local collection times are PDT or PST as appropriate.
For simplicity we only regard Sundays as non-business days.
All prices are assumed to be in US dollars unless otherwise stated.
If your package has a large size-to-weight ratio, you may need to consider your package's dimensional weight. The weight that is used to determine the price of a package, respectively that is considered with respect to the maximum weight restriction of a shipper is the maximum value of its actual and its dimensional weight. The dimensional weight is calculated as follows: Dimensional Weight = (L*W*H)/166 [where L = length, W= width, and H=height] L*W*H yields an amount in cubic inches and is rounded up to the nearest pound.
We use the definition of continents and countries given by the United Nations [2], however since we do not regularly update this information, it might be the case that the behavior of the implementation and the official UN definition is apart, for the country/continent list used, see [3]. We use the following continents: 'Africa','Antarctica','Asia','Europe','North America','Oceania','South America'.
Each shipper has a guaranteed delivery time. The delivery time is specified in days. The first day of delivery is the day after the package has been picked up. The times are always local. E.g., if a shipper guarantees a shipment from Stanford/US in 2 days to Berlin/Europe this means if the package is picked up at 01.01.1970 08:00 PDT it is guaranteed to be in Berlin before 03.01.1970 24:00 CET.
If a shipper specifies a list of countries in its interface definitions (WSDL) it only ships to this countries (Racer, Runner, Walker), otherwise: if the shipper lists a rate for a continent then it ship to each country in that continent. If a shipper ships to a country, then they collect in that country.
Muller
- Rates on Request (cf. invokePrice operation within the WSDL)
- Only packages weighing 50 lbs or less are shipped
- Ships to Africa, North America, Europe, Asia (all countries)
- Constraints on Collection:
- There must be at least an interval of 90 minutes for collection.
- Collection is possible between 7am and 8pm.
- Collection can be ordered max 2 working days in advance.
- Delivery Time:
- Ships in 2/3 (domestic/international) business days if collected by 5pm;
- Endpoint: http://sws-challenge.org/shipper/v2/muller.wsdl
For test purposes you may use Mindreef WSDL invoker
Racer
- Rates(flat fee/each lb): Europe(41/6.75), Asia(47.5/7.15), North America(26.25,4.15), Rates for South America like North America, Rates for Oceania like Asia
Furthermore for each collection order 12.50 are added! - List of Countries Racer ships to is included in the WSDL file
- Only packages weighing 70lbs or less are shipped
- Constraints on Collection:
- There should be at least an interval of 120 minutes for collection.
- Latest Collection time is 8pm.
- Delivery Time
- Ships in 2/3 (domestic/international) business days if collected by 6pm;
- Endpoint: http://sws-challenge.org/shipper/v2/racer.wsdl
For test purposes you may use Mindreef WSDL invoker
Runner
- Rates(flat fee/each lb): Europe(50/5.75), Asia(60/8.5), North America(15/0.5), South America(65.75/12), Africa (96.75/13.5), Oceania has the same rates then Asia
- Exact list of countries included in WSDL file
- When ordering a shipment using the Web Services, per invocation the shipment of one package can be ordered.
- If package weight exceeds 70 lbs, weight, length and height are required (the order has to be done via phone or fax)
- Constraints on Collection:
- Collection can be ordered max 5 working days in advance.
- Minimum Advance notice for collection is 1 hour
- Collection is possible between 1am - 12pm (keep in mind that 12pm is noon!)
- There must be at least an interval of 30 minutes for collection.
- Delivery Time:
- Ships in 2 business days if collected by 10am;
- Ships in 3 business days otherwise.
- Endpoint: http://sws-challenge.org/shipper/v2/runner.wsdl
For test purposes you may use Mindreef WSDL invoker
Walker
- Rates(flat fee/each lb): Europe(41/5.5), Asia(65/10), North America(34.5/3), South America (59/12.3), Africa (85.03/13), Rates for Oceania like Asia
- Only packages weighing 50 lbs or less are shipped
- Exact list of countries included in WSDL file
- Constraints on Collection:
- Shipment can be ordered maximum 2 business days in advance (the end of the pickup interval must be at most two business days in advance at the time of ordering).
- pickup time must be between 6 am and 11.00pm.
- There must be at least an interval of 30 minutes for collection.
- Delivery Time
- Ships in 2 business days if collected by 5pm
- Endpoint: http://sws-challenge.org/shipper/v2/walker.wsdl
For test purposes you may use Mindreef WSDL invoker
Weasel
- Rates(flat fee/each lb): United States(10/1.5)
- Delivery only in United States
- Constraints on Collection
- the pick up interval must be at least 5 hours
- the max. pick up interval is 4 days
- collection can be ordered until 8pm
- Delivery Time
- 1 day if collected before 2pm
- Endpoint: http://sws-challenge.org/shipper/v2/weasel.wsdl
For test purposes you may use Mindreef WSDL invoker
Discovery Requests
We provide a simple interface that enables you to view the orders that have been submitted to the different shipment companies. You can filter the information by IP Address of the invoker, such that you can easily follow the behavior of your discovery system.
We have tested the services thoroughly, however if it some endpoint does not behave correctly please contact: holger.lausen'at'deri'dot'org. We have compiled a set of sample messages that are generate based on the information presented below.
The service description can be found at Scenario:_Shipment_Discovery#Shipping_Services
For the goals (discovery requests) that have to be resolved we use a set of fixed addresses. The package are always sent from the Michael Moon.
Moon:
Moon Road 13, 1234 Moon City, California, US
Tel: +1 424242, Fax: +1 424243
EMail: michael.moon@moon.ie
Smithers:
20 Denmark Street, Bristol, BS1 5DH, United Kingdom
Tel: +44 235 235, Fax: +44 235 236
EMail: Wayne.Smithers@example.org
Szyslak:
Tunis, 10002, Tunisia
Tel: +71 235 235, Fax: +71 235 236
EMail: Moe.Szyslak@example.org
Gumble:
New York, 10021, NY, United States
Tel: +71 235 235, Fax: +71 235 236
EMail: Barney.Gumble@example.org
Burns:
1610 Luxembourg, Luxembourg
Tel: +352 152 152, Fax: +352 123 123
EMail: George.Burns@example.org
In the following subsection we present different discovery requests and their expected matches. The goals are organized in subsection according to their anticipated difficulty. If nothing is stated within the goal, it can be assumed that the order has to be collected as soon as possible.
If one of the shipment services is correctly invoked the order will be saved to our evaluation system (see our Web view). Correctly means in this sense that an invocation does not cause a SOAP fault message. One exception from this rule is the treatment of time constraints: If the SOAP fault is caused due to incorrect specification of the pickup time, the order will still be recorded, but with a note that an incorrect time was submitted.
A - Discovery Based on Destination
Goal A1
- to: Szyslak (Tunis)
- package dimensions: (l/w/h) 7/6/4 (inch)
- package weight: 1 lb
=> Muller, Runner, Walker NOT: Racer (does not ship to Tunesia) NOT: Weasel (does not ship to Tunesia)
Goal A2
- to: Burns (Luxembourg)
- package dimensions: (l/w/h) 7/7/5 (inch)
- package weight: 1.5 lbs
=> Muller NOT: Runner (does not ship to Luxembourg) NOT: Walker(does not ship to Luxembourg) NOT: Racer (does not ship to Luxembourg) NOT: Weasel (does not ship to Luxembourg)
B - Discovery Based on Destination and Weight
Goal B1
- to: Szyslak (Tunis)
- package dimensions: (l/w/h) 40/10/10 (inch)
- package weight: 30 lbs
=> Muller, Runner, Walker NOT: Racer (does not ship to Tunesia) Weasel (does not ship to Tunesia)
Goal B2
- to: Smithers (Bristol)
- no of packages: 1
- package dimensions: (l/w/h) 40/24/10 (inch)
- package weight: 40 lbs
=> Racer, Runner NOT: Muller (dimensional weight > 50) NOT: Walker (dimensional weight > 50) NOT: Weasel (only US) (Note: dimensional weight is ~ 60 pounds)
C - Discovery based on Destination, Weight and Price
Goal C1
- to Gumble (New York)
- package dimensions: (l/w/h) 10/2/3 (inch)
- package weight: 5 lbs
- for less then 20$
=> Runner, Weasel NOT: Muller (price is 35$) NOT: Racer (price is 59.5$) NOT: Walker (price is 49.5$)
Goal C2
- to Gumble (New York)
- package dimensions: (l/w/h) 10/2/3 (inch)
- package weight: 10 lbs
- package for 20$ or less
=> Runner NOT: Muller (price is 50$) NOT: Racer (price is 80.25$) NOT: Walker (price is 64.5$) NOT: Weasel (price is 25$)
Goal C3
- to Smithers (Bristol)
- no of packages: 1
- package dimensions: (l/w/h) 10/2/3 (inch)
- package weight: 20 lbs
- for less than 120$
=> Muller (includes a request For quote) NOT: Racer (price is 176$) NOT: Runner (price is 176$) NOT: Walker (price is 151$) NOT: Weasel (ships not to UK)
D - Discovery involving simple Composition
Goal D1
- to Szyslak (Tunis)
- no of packages: 2
- package dimensions: (l/w/h) 5/3/2 (inch)
- package weight: 60 lbs (each)
- destination:
=> Runner (2 invocations, since schema does not allow to order multiple packages in one invocation) NOT: Racer (does not ship to Tunesia) NOT: Muller(does only ship 50lbs) NOT: Walker (does only ship 50lbs) NOT: Weasel (does not ship to Tunesia)
E - Discovery including temporal reasoning
Goal E1
- to Gumble (New York)
- package dimensions: (l/w/h) 10/2/3 (inch)
- package weight: 5 lbs
- for less then 20$
- Current Time is 7:30 am
- Next day delivery
=> Weasel NOT: Muller (2 days) NOT: Racer (2 days) NOT: Runner (3 days) NOT: Walker (2 days)
Goal E2
- to: Szyslak (Tunis)
- package dimensions: (l/w/h) 40/10/10 (inch)
- package weight: 30 lbs
- Current Time is 9:30 am
- shipping is required in 2 business days
=> Walker NOT: Runner (with 1 hour advance notice collection will be after 10 am) NOT: Muller (3 days) NOT: Racer (does not ship to Tunesia) NOT: Weasel (does not ship to Tunesia)
Goal E3
- to Gumble (New York)
- package dimensions: (l/w/h) 10/2/3 (inch)
- package weight: 5 lbs
- for less then 20$
- Current Time is 10 am
- Next day delivery
=> From none of the description delivery is guaranteed. PROBABLY: Weasel (requires 5 hours collection interval, only in case delivery happens by chance before 2 pm) NOT: Muller (2 days) NOT: Racer (2 days) NOT: Runner (3 days) NOT: Walker (2 days)
