Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora,...

14
Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica University of Timisoara, Romania

Transcript of Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora,...

Page 1: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Translating User Preferences into Fuzzy Rules for

the Automatic Selection of Services

Ioana Sora, Doru Todinca, Catalin AvramDepartment of Computers

Politehnica University of Timisoara, Romania

Page 2: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Problem Domain Background: Service Oriented Computing

• Service-oriented systems are created by linking software services provided by different service providers.

Service Requestor

Service Requestor

Service Provider

Service Provider

Service Provider

S2

S1

S2

S1

ServiceRegistry

Publish Service DescriptionsFind Service (S1)

Find Service (S2) bind

bind

Problems:Service DescriptionService DiscoveryService SelectionService Composition

Page 3: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Our Research Problem and Approach

Service DescriptionService DiscoveryService Selection

NEEDS: Description and matchmaking at levels:

EXISTING: Standards and technologies:

Functional

Semantic

User Preferences, QoS Parameters

Functional

Semantic

User Preferences, QoS Parameters

Novel fuzzy logic based approach for:• Service description: fuzzyfying QoS domain ontology

• Service selection(ranking): by fuzzy inference with

a set of automatically generated rules

WSDL, UDDI, WSDL-S, OWL-S

Page 4: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Our Fuzzyfying QoS Domain Ontology• an explicit semiformal specification of how to describe and classify values of

non-functional (QoS) properties in the context of a certain functionality

Functional property

Non-Functional Property1

Domain

Direction

FuzzyTerms

Non-Functional Property2

TravelScheduler

Availability

ResponseTime

0 100

unreliable low medium high

0 infinity

fast medium slow

Basic Ontology Concepts Example

Page 5: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Service Descriptions

• QoS descriptions are added to all published service descriptions• QoS descriptions are interpreted with help from the the domain ontology• QoS parameters in a service description are values that can be crisp or fuzzy

TravelScheduler

Availability

ResponseTime

0 100

unreliable low medium high

0 infinity

fast medium high

Ontology Example

Service1: DeLuxeTours

TravelScheduler

Availability=95

ResponseTime=56

Service2: BudgetTravel

TravelScheduler

Availability=medium

ResponseTime=74

Service Description Examples

Page 6: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Service Registry Implementation – Service QoS Descriptions in XML

<service id="S0001" name="Happy Camper"functionality="TravelScheduler"><prop name="Availability" fuzzy="High" /><prop name="ResponseTime" crisp="500" /><prop name="PublReputation" fuzzy="Medium" /></service>

<service id="S0002" name="De Luxe Tours"functionality="TravelScheduler"><prop name="Availability" crisp="90.7" /><prop name="ResponseTime" crisp="100" /><prop name="Cost" crisp="10" /></service>

<service id="S0003" name="LocalWeather"functionality="WeatherForecast"><prop name="Availability" crisp="80.8" /><prop name="ResponseTime" crisp="200" /><prop name="PublReputation" fuzzy="good" /></service>

Page 7: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Client Requirements

• The Client requirement has to specify both functional and non-functional requirements.

• The functional requirements are non-negotiable.

• The non-functional requirement can be:

– non-negotiable (exact value or sharp interval)

– negotiable (around a value or around an interval)

– best-possible

Page 8: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Automatic selection /ranking

Individual Client Requirements/ QoS PreferencesExample: Find a TravelScheduler service with

Availability at least about medium, Cost at most about 50, ResponseTime about 70

Automatic Fuzzy Rules Generator

Set of Fuzzy Rulesthe linguistic variable in conclusion is the selection decision,

with terms ranging from strong accept to strong reject

Fuzzy Inference EngineService Registry

Selected (ranked) services

Each service description becomes a fact for an inference process

Generation strategyA

Generation strategyB

Page 9: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Rules generation - Strategy A

The client request is translated in fuzzy terms from the domain ontology to specify the requested values.

Example Client Requirement : Find a TravelScheduler service with: Availability at least about medium and ResponseTime about 70

For example, in the DomainOntology, the value 70 for ResponseTime falls into the term medium for response time:

If Availability=medium and ResponseTime=medium then SelectionDecision= StrongAccept

For Availability (requested as at least about) better values lead to the same decision:If Availability=high and ResponseTime=medium then SelectionDecision= StrongAccept

For the less good matches, the strenght of the conclusion will be diminished proportionally with the distance from the ideal situation.

If Availability=Low and ResponseTime=medium then SelectionDecision= WeakAcceptIf Availability=Low and ResponseTime=slow then SelectionDecision= WeakRejectIf Availability=Unreliable and ResponseTime=medium then SelectionDecision=WeakRejectIf Availability=Unreliable and ResponseTime=slow then SelectionDecision=StrongReject… etc.

Page 10: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Rules generation - Strategy B

A new MatchingNeighborhood ontology is generated, describing for each property the meaning of matching exactly the target, or being near or far away from the target.

Example Client Requirement : Find a TravelScheduler service with: Availability at least about medium and ResponseTime about 70The new lingvistic variables in premises are MatchingAvailability and MatchingResponseTimeFor each MatchingProperty, the terms Exactly, NearLeft, FarLeft, VeryFarLeft, NearRight,

FarRight, VeryFarRight are automatically generated, having trapezoidal shapes automatically generated considering a percentually distance from the center in Exactly and pondered with the limits of the terms in the domain ontology

If Availability=Exactly and ResponseTime=Exactly then SelectionDecision= StrongAccept

For the less good values, the strenght of the conclusion will be diminished proportionally with the distance from the ideal situation.

If Availability=NearLeft and ResponseTime=Exactly then SelectionDecision= WeakAcceptIf Availability=NearLeft and Response-Time=NearRight then SelectionDecision= WeakReject

Page 11: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Rule generation parameters

• Variable parameters for rule generation: – Number of terms in conclusions (how many degrees of acceptance are

there defined between very strong accept and very strong reject)

– Number of generated neighborhoods (how many categories there are to describe an inexact match for a property, from near to very far).

– Proportionality relationship (linear or not) between the cumulated distance from the ideal match and the degree of weakening the conclusion

– Relative importance of properties that can be differently taken into account when computing the cumulated distance

Page 12: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Experiments• We studied the influence of the rule generation strategy over the

overall quality of the ranking result. • We define following metrics in order to appreciate the quality of a

ranking strategy:– Ranking hierarchy of solutions: is it the same hierarchy as the ideal one or

some inversions appear ?– The average ranking step (the distance between candidates ranked on

consecutive positions): we want clear hierarchies– The range covered by the ranking scores: we want that the scores don’t

crowd only in the selectable or only in the unselectable area– The number of distinct ranks: we want to differentiate as much as possible

between all candidates, and not repeatedly rank several candidates on similar scores

• Experiments performed: – 26 candidates to be ranked on 5 properties– Strategies A and B– Number of terms in conclusion: between 2 and 8– Number of generated neighborhoods: up to 2 neighbors on each side

Page 13: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

ResultsMinimum & Maximum ranking scores

00.20.40.60.8

1

B(2) B(3) B(4) B(5) B(6) B(7) B(8) A(4)

Strategies used for ranking

Number of distinct ranks

05

1015202530

B(2) B(3) B(4) B(5) B(6) B(7) B(8) A(4)

Distinct values Maximum possible distinct values

Average ranking step

0

0.01

0.02

0.03

0.04

B(2) B(3) B(4) B(5) B(6) B(7) B(8) A(4)

Cummulated ranking inversions

Rankings compared to this one

0

5

10

15

B(2) B(3) B(4) B(5) B(6) B(7) B(8) A(4)

Page 14: Translating User Preferences into Fuzzy Rules for the Automatic Selection of Services Ioana Sora, Doru Todinca, Catalin Avram Department of Computers Politehnica.

Conclusions

• We start by enriching service descriptions with specification of QoS properties, based on our Fuzzyfying QoS Domain Ontology

• The novelty of our approach: using fuzzy inference for ranking/selecting services, but based on sets of on-line automatically generated fuzzy rules for each set of individual preferences

• Advantages of our approach:– Deals with imprecise/incomplete matching of requirements

– Selection through fuzzy inference instead of FMCDM:

• Selection criteria can be made much more flexible

• The proposed automatic online generation of the rules for the inference process is the key factor that enables the practical use of this approach