SlideServe
Menu
Préférences
© SlideServe · v2026

Semantic Web Services Composition

iprice avatar
24 diapositives · 276 Views · Jan 07, 2020

Explore the basics of service composition, the importance of semantics, different user goals, service chaining, I/O compatibility, and syntactic levels in web service composition. Learn about semantic service composition, semantic compatibility evaluation, logical expressions, and more. Understand how to bind parameters to ontology concepts, evaluate compatibility, and meet user goals effectively.

Semantic Web Services Composition - slide 1
01 / 24Semantic Web Services Composition
1 / 17

Télécharger la présentation

Semantic Web Services Composition
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Semantic Web Services Composition Peter Bartalos

  2. Outline • Basics of service composition • Why we need semantics? • Different kinds of user goals

  3. Service composition • Arranging web services into complex workflows • Based on user goal

  4. Service chaining • Requirement • I/O compatibility • Syntactic level - WSDL Ancestor O ? I Successor <element name=“getTemperatureReturn" type="xsd:double"/> <element name=“areaName" type="xsd:string"/>

  5. getTemperature() getAtmPressure() Output: <element name=“getTemperatureReturn" type="xsd:double"/> Input: <element name=“elevation" type="xsd:double"/> <element name=“localPressure" type="xsd:double"/> Service chaining Output: meteoowl:Temperature Input: meteoowl:Elevation meteoowl:LocalPressure

  6. Meaningful chaining getElevation() Output: meteoowl:Elevation Input: meteoowl:Elevation meteoowl:LocalPressure getAtmPressure() Output: <element name=“getElevationReturn" type="xsd:double"/> Input: <element name=“heightAboveLocation" type="xsd:double"/> <element name=“localPressure" type="xsd:double"/>

  7. Problem again getElevation() In meters Output: meteoowl:Elevation  Input: meteoowl:Elevation meteoowl:LocalPressure In ft. getAtmPressure() Output: <element name=“getElevationReturn" type="xsd:double"/> Input: <element name=“heightAboveLocation" type="xsd:double"/> <element name=“localPressure" type="xsd:double"/>

  8. Problem again getElevation() Output: meteoowl:Elevation Postcondition: inMeters (getElevationReturn) Input: meteoowl:Elevation Precondition: inFeet (heightAboveSeaLevel) getAtmPressure() Output: <element name=“getElevationReturn" type="xsd:double"/> Input: <element name=“heightAboveLocation" type="xsd:double"/> <element name=“localPressure" type="xsd:double"/>

  9. Considering conditions getElevation() Output: meteoowl:Elevation Postcondition: inMeters (getElevationReturn) Input: meteoowl:Elevation Precondition: inMeters (heightAboveSeaLevel) getAtmPressure() Output: <element name=“getElevationReturn" type="xsd:double"/> Input: <element name=“heightAboveLocation" type="xsd:double"/> <element name=“localPressure" type="xsd:double"/>

  10. Semantic service composition • Basic service description • I/O • Binding parameters to the concepts in the ontology • Pre-/post-conditions • Logical expressions • Predicates combined with logical operators • Binding to ontological elements

  11. Semanticcompatibility evaluation • Compatibility evaluation • I/O • Checking if O subsumes I • Pre-/post-conditions • Checking if Post => Pre

  12. How it starts • User goal definition • Required outputs • Required condition • Provided inputs

  13. How it starts • User goal example • The user wants the air pressure in kPa in Smolenice corrected to sea level. • Required output • meteoowl:AtmosphericPressure • Required condition • inkPa(pressure) • Provided inputs • geoowl:Area = Smolenice • meteoowl:LocalPressure = 98.5kPa

  14. Example composition Smolenice Input: geoowl:Area getElevation() Output: meteoowl:Elevation 98.5kPa Input: meteoowl:Elevation meteoowl:LocalPressure getAtmPressure() Output: meteoowl:AtmosphericPressure Postcondition: inkPa(pressure)

  15. Best composition • Generally we have several composite services satisfying the user goal • We have to choose the best one • Soft and hard constraints

  16. Simple condition • The user wants to book a flight. • Condition • booked(flight)

  17. Value restriction • The user wants to book a flight to Los Angeles. • Condition • booked(flight)^hasDestination(flight, destination) • Value restriction • destination = LosAngeles

  18. Local variables • The user wants to book a flight to Los Angeles and a hotelfor overall price at most 500$. • Condition • booked(flight)^hasDestination(flight, destination)^hasPrice(flight, flightprice)^booked(hotel)^hasPrice(hotel, hotelprice) • Value restriction • destination =LosAngeles^ price < 500$ • Local variable definition • price =flightprice + hotelprice

  19. Soft constraints - fuzzy • The user wants to book a flight for about 350$. • Condition • booked(flight) ^ hasPrice(flight, flightprice) • Value restriction • flightprice = fuzzy number

  20. Predicate evaluation I • The user wants to book a flight through weekend. • Condition • booked(flight)^hasFlightTime(flighttime) • Value restriction • isWeekendTime(flighttime)

  21. Predicate evaluation II • The user wants to book the cheapest flight. • Condition • booked(flight) ^ hasPrice(flight, flightprice) • Value restriction • cheapest(flightprice)

  22. Conditional restriction • The user wants to book a flight if itincludes also insurance, else he wants to use a train. • Alternatives • booked(flight)^includesInsurance(flight) • book(traintravel) • If Then Else …

  23. Event handling • The user wants to book a flight, but if that flight is delayed bymore than 24 hours, he wants to cancel the flight and take a train. • Basic condition • booked(flight) • Event • booked(flight) ^ isDelayed(flight, delay) • delay > 24hour • Action • cancelled(flight) ^ booked(traintravel)

  24. Open problems • How to get the required representation of the user goal? • How to present the results? • Booking problem …? • Do we need additional metadata? • How to develop “composition friendly” services?