28
Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University sored in part by NSF (#0083127) & the Kevin and Debra Rollins Center for eBusiness (#05

Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Conceptual Model BasedSemantic Web Services

Muhammed J. Al-MuhammedDavid W. EmbleyStephen W. Liddle

Brigham Young University

Sponsored in part by NSF (#0083127) & the Kevin and Debra Rollins Center for eBusiness (#05046)

Page 2: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

A Challenge for Semantic Web Services

Help users find and use services Reduce requirements for service specification

I want to see a dermatologist next week; any day would be ok for me, at 4:00 p.m. The dermatologist must be within 20 miles from my home and must accept my IHC insurance.

Page 3: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

A Conceptual-Modeling Resolution Domain ontology

Has a single object set of interest (e.g. Appointment) Establishes requirements for insertion of a single object

into the object set of interest (e.g. requirements for making an appointment)

Has extensional recognizers (i.e. can match request to requirements)

Process ontology Recognizes constraints Obtains information (from DB and from user) Satisfies constraints Negotiates (if necessary)

Page 4: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Domain Ontology

Page 5: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Extensional Semantics included in the Domain Ontology

Augmented with data frames A data frame specifies semantics for a

concept Its internal and external representation Its contextual keywords or phrases Operations along with contextual keywords or phrases

Page 6: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Data Frames

Time…textual representation: “([2-9]|1[012]?)\s* :\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)”…end

Distanceinternal representation: realtextual representation: ((\d+(\.\d+)?)|(\.\d+))context keywords/phrases: miles | mile | kilometers | …LessThanOrEqual(d1: Distance, d2: Distance)returns (Boolean)contextual keywords/phrases: within | not more than | | ……end

Page 7: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Domain Ontology Recognition

Objective: determine which domain ontology to use

Input: service request, domain ontologies Output: a marked domain ontology

Page 8: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment …

context keywords/phrase: “appointment |want to see a |…”

Dermatologist …

context keywords/phrases: “([D|d]ermatologist) | …”

I want to see a dermatologist next week; any day would

be ok for me, at 4:00 p.m. The dermatologist must be

within 20 miles from my home and must accept my IHC

insurance.

Page 9: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment …

context keywords/phrase: “appointment |want to see a |…”

Dermatologist …

context keywords/phrases: “([D|d]ermatologist) | …”

I want to see a dermatologist next week; any day would

be ok for me, at 4:00 p.m. The dermatologist must be

within 20 miles from my home and must accept my IHC

insurance.

Page 10: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment …

context keywords/phrase: “appointment |want to see a |…”

Dermatologist …

context keywords/phrases: “([D|d]ermatologist) | …”

I want to see a dermatologist next week; any day would

be ok for me, at 4:00 p.m. The dermatologist must be

within 20 miles from my home and must accept my IHC

insurance.

Page 11: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment …

context keywords/phrase: “appointment |want to see a |…”

Dermatologist …

context keywords/phrases: “([D|d]ermatologist) | …”

I want to see a dermatologist next week; any day would

be ok for me, at 4:00 p.m. The dermatologist must be

within 20 miles from my home and must accept my IHC

insurance.

Page 12: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment …

context keywords/phrase: “appointment |want to see a |…”

Dermatologist …

context keywords/phrases: “([D|d]ermatologist) | …”

I want to see a dermatologist next week; any day would

be ok for me, at 4:00 p.m. The dermatologist must be

within 20 miles from my home and must accept my IHC

insurance.

Date …NextWeek(d1: Date, d2: Date)returns (Boolean)context keywords/phrases: next week | week from now | …

Distanceinternal representation : realtextual representation: ((\d+(\.\d+)?)|(\.\d+))context keywords/phrases: miles | mile | kilometers | …LessThanOrEqual(d1: Distance, “20”)returns (Boolean)context keywords/phrases: within | not more than | | ……end

Page 13: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

@create

initialize ready

@service-request-view complete

service-request-view, unsatisified-constraints = satisfy-contraints(service-request-view, service-request-constraints)

constraint satisfaction checked

service-request-view complete

missing information

service-request-view = get-from-system(service-request-view) if (still missing values) service-request-view = get-from-user(service-request-view)

no missing information

unique satisfaction found

schedule-appointment(...)report that the appointment is scheduled

unique satisfaction not found

report that the appointment cannot be scheduled negotiation complete

@negotiation required

service-request-view = negotiate(service-request-view, unsatisfied contraints)

no constraint satisfaction

negotiation required

multiple constraints satisfaction possibilities

unique constraint satisfaction

initial service-request-view ready

@process-ontology(domain-ontology)

service-request-view = create-service-request-view(domain-ontology)service-request-constraints = create-service-request-constraints(service-request-view)

@create

initialize ready

@service-request-view complete

service-request-view, unsatisified-constraints = satisfy-contraints(service-request-view, service-request-constraints)

constraint satisfaction checked

service-request-view complete

missing information

service-request-view = get-from-system(service-request-view) if (still missing values) service-request-view = get-from-user(service-request-view)

no missing information

unique satisfaction found

schedule-appointment(...)report that the appointment is scheduled

unique satisfaction not found

report that the appointment cannot be scheduled negotiation complete

@negotiation required

service-request-view = negotiate(service-request-view, unsatisfied contraints)

no constraint satisfaction

negotiation required

multiple constraints satisfaction possibilities

unique constraint satisfaction

initial service-request-view ready

@process-ontology(domain-ontology)

service-request-view = create-service-request-view(domain-ontology)service-request-constraints = create-service-request-constraints(service-request-view)

Process Ontology

Create service-request view Generate constraints Obtain information

From system From user

Satisfy constraints Negotiate Finalize service request

Page 14: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Domain Independence of Process Ontology

Domain-independent subprocesses Coded once Specialized for a domain

A domain-dependent subprocess Fully determined (given the service request and domain

ontology) Automatically generated

Page 15: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Appointment

Place

Insurance

Person

Name

Pediatrician

Duration

Dermatologist

Address

Cost

Date

Time

has

is atis on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"->

Auto Service Provider Auto Mechanic

Medical Service Provider Doctor

DescriptionService

Service Provider

Service-Request View Creation

Page 16: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Service-Request View

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

Page 17: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Constraint Generation

Date …NextWeek(d1: Date, d2: Date)returns (Boolean)context keywords/phrases: next week | week from now | …

Distanceinternal representation : realtextual representation: ((\d+(\.\d+)?)|(\.\d+))context keywords/phrases: miles | mile | kilometers | …LessThanOrEqual(d1: Distance, “20”)returns (Boolean)context keywords/phrases: within | not more than | | ……end

From operations: From conceptual-modelconstraints:

Applicable Boolean predicates with(computed) term arguments

Predicates with bound andfree variables

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

Page 18: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Generated Constraints

Appointment(x0) is with Dermatologist(x1) Appointment(x0) is for Person(x2)

Appointment(x0) is on Date(x3) Appointment(x0) is at Time(16:00)

Dermatologist(x1) has Name(x4) Dermatologist(x1) is at Address(x5)

Dermatologist(x1) accepts Insurance(“IHC”) Person(x2) has Name(x6)

Person(x2) is at Address(x7) NextWeek(today, x3)

LessThanOrEqual(DistanceBetween(x5, x7), 20)

Page 19: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

Information from System

Page 20: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Generated Database Query

{<x1, x3, x4, x5> |

available appointment is with Dermatologist(x1) on Date(x3) at Time(16:00)

Dermatologist(x1) has Name(x4) Dermatologist(x1) is at Address(x5)

Dermatologist(x1) accepts Insurance(“IHC”) NextWeek(today, x3)}

Page 21: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Information from User

Some variables cannot be instantiated from the database. Person(x2) Person(x2) has Name(x6) Person(x2) is at Address(x7)

Non-lexical values can be instantiated without particular values.

The system asks for values for lexical values. Name (of Person) for Appointment? Address (of Person) for Appointment?

Page 22: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Constraint Satisfaction

Exactly one: return it as the result A few: return all and ask the user to select one Too many: negotiate

return the best-m ask the user to select one if none satisfactory, the user should resubmit a new,

altered query None: negotiate

return the best-m ask the user to select one

Over the Instantiated Values

Page 23: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Negotiation

Basis for negotiation Ordered expectations Ordered penalty/reward Dominated (near) solutions (Pareto optimality)

Guided user interaction

Page 24: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Negotiation (Too Many Solutions) Ordered Expectations

Time > Date > Name (of Person) > Name (of Dermatologist) > Insurance > …

If no preferred time provided, ask for Time; if no Date, ask for Date; …

Ordered reward Calculate reward Order solutions, highest reward first

Dominated solutions As good or better, for all inequalities, and as good, for

equalities: e.g. 5 miles away is better than 15 miles away Discard dominated solutions from reward ordering Return the best-m for consideration

Page 25: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Negotiation (No Solution) Ordered Expectations

LessThanOrEqual(DistanceBetween) < Insurance < … First, if LessThanOrEqual(DistanceBetween) constrained,

suggest relaxing; then if Insurance constrained, suggest relaxing; then …

Ordered penalty Calculate penalty Order near solutions, lowest penalty first

Dominated near solutions Discard dominated near solutions from penalty ordering Return the best-m for consideration

Page 26: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Example – Possible DialogUser: I want to see a dermatologist next week; any day would

be ok for me, at 4:00 p.m. The dermatologist must bewithin 20 miles from my home and must accept my IHCinsurance.

Sys: Name (of Person) for Appointment?User: Pat JonesSys: Address (of Person) for Appointment?User: 12 Maple, Springville, UtahSys: No solutions.

Can the constraint “within 20 miles” be relaxed to “within 22 miles”?User: yesSys: One Appointment found – is it OK?

Name (of Dermatologist): Tracy WilsonAddress (of Dermatologist): 10 Main, Alpine, UtahInsurance: IHCDate: next WednesdayTime: 16:00Name (of Person): Pat JonesAddress (of Person): 12 Maple, Springville, Utah

User: yes

Page 27: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

is at

is on

has

is with

is for

is at

is at

has

->

acceptsDermatologist

Name

AppointmentDate

Person

Time

Address

Insurance

Service-Request FinalizationInsert Appointment in Database

IHCDermatologist7

10 Main, Alpine, Utah12 Maple, Springville, Utah

Tracy WilsonPat Jones

next Wednesday

Appointment87021

16:00

Person76663

22 miles apart

Page 28: Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF

Concluding Comments

Simplification of everyday service request specification Conceptual model based resolution – service domain ontology

Insertion of one primary object Plus dependent objects

Domain independent processing – service process ontology Service-request view Constraint generation Constraint satisfaction (after obtaining information from database & user) Negotiation

Status of prototype implementation

www.deg.byu.edu