SlideShare a Scribd company logo
1 of 34
Download to read offline
A linguistic approach for non-functional constraints
in a semantic SOA environment
Pierre Châtel
Thales Land & Joint Systems, Université Pierre et Marie Curie - Paris 6, LIP6

Isis Truck
LIASD, Université de Vincennes à Saint Denis - Paris 8

Jacques Malenfant
Université Pierre et Marie Curie - Paris 6, CNRS, UMR 7606 LIP6




                                                                                1
Research Topic

 Non-functional constraint handling in Semantic Service Oriented
 Architectures.

 The Service Oriented Architecture (SOA) is divided between:

  • Atomic feature producers, or (Web) services.

  • Atomic feature consumers, or (Web) processes.

 Semantic SOA:

  • Usually provides: service offers ⊕ high level business concepts, extracted
    from domain ontologies, published in registries.

  • We add: preferences between services non-functional properties, seen
    as “user semantics”.

 Application domains: any domain where a dynamic coordination of services
 under quality constraints and with some guarantees is needed.
                                                                                 2
Contents

1. Context


2. Preference Model


3. LCP-Net example


4. Related works


5. Conclusion




                      3
Context
SOA

 Functional properties of Web services:
  • Provided domain features.
  • Ex. for a car service: move, carry persons or goods, protect from weather,
    a specific type of car.
 Non-functional properties of Web services:
  • Service features execution modalities that affect the provided or perceived
    Quality of Service (QoS).
  • Ex. for a car service:
     - Maximal speed.
     - Tank capacity → traveling distance.
     - Number of gears.
     - Motor levels: temperature, oil, revolutions, ...

                                                                                  4
Context
Multi-Criteria Decision Making

 The decision being made, in this application context, is the dynamic linking of
 an abstract service invocation in a Web process to one of its physical
 implementation (i.e a specific Web service), presumably the best-suited
 one.


 Candidate services expose multiple non-functional properties, each one
 being a potentiel criterion for election of the best-suited service.


  • Static filtering of services on individual criterion constraints → partial order.


  • User preferences, between non-functional properties → total order.




                                                                                       5
Context
Impact on preference definition

 In our SOA-driven context:

  • Preferences must be easy to define since there are no preference modeling
    experts, nor many ressources to allocate for their elicitation.

   ➥ Some imprecision must be tolerated in preference models.

  • Variables are limited in preference models (at most ~ 10 variables).

  • Computation time for decision-making based on preferences is seen as
    relatively small compared to the subsequent networked service invocation.

 It leads to the following sought-after properties of the preference
 formalism:

  ✓It must be graphical to ease definition and computation.

  ✓It must be qualitative as a mean to deal with imprecision → linguistic
   values integration.
                                                                                6
Context
SemEUsE project

 SemEUsE = “Sémantique pour bus de services”

  • 3-year french ANR project, over €1M budget.

  • 6 partners: Thales, FT, EBM, LIP6, INSA, INRIA, INT.

 Implements “smart” web services orchestration...

  • by static service filtering on functional and non-functional properties.

  • by dynamic non-functional service selection.

 Dedicated late-binding components implements selection by binding
 each service call in a running process to a single candidate service extracted
 from a set of otherwise functionally-equivalent services, using:

  • Current QoS values of monitored services.

  • Statically defined preferences over QoS properties of services.
                                                                                  7
Context
SemEUsE framework




                    8
Context
SemEUsE framework

             S1        S3        S5

                  S2        S4




                                      8
Context
SemEUsE framework

             S1        S3        S5

                  S2        S4




                                      8
Context
SemEUsE framework
                                      Functional Service Filtering


             S1        S3        S5

                  S2        S4




                                                                     8
Context
SemEUsE framework
                                           Functional Service Filtering


             S1        S3        S5

                  S2        S4
                                      S1               S3             S5




                                                                           8
Context
SemEUsE framework
                                           Functional Service Filtering


             S1        S3        S5

                  S2        S4
                                      S1               S3             S5


                                      Non-Functional Service Filtering




                                                                           8
Context
SemEUsE framework
                                           Functional Service Filtering


             S1        S3        S5

                  S2        S4
                                      S1               S3             S5


                                      Non-Functional Service Filtering




                                               S1            S3




                                                                           8
Context
SemEUsE framework
                                                          Functional Service Filtering


             S1        S3        S5

                  S2        S4
                                                     S1               S3             S5


                                                     Non-Functional Service Filtering




                                                              S1            S3

                                                     Non-Functional Service Selection




                                      Current QoS
                                      of S1 and S3




                                                                                          8
Context
SemEUsE framework
                                                          Functional Service Filtering


             S1        S3        S5

                  S2        S4
                                                     S1               S3             S5


                                                     Non-Functional Service Filtering




                                                              S1            S3

                                                     Non-Functional Service Selection




                                      Current QoS
                                      of S1 and S3

                                                            Statically defined
                                                             Preferences


                                                                                          8
Context
SemEUsE framework
                                                          Functional Service Filtering


             S1        S3        S5

                  S2        S4
                                                     S1               S3             S5


                                                     Non-Functional Service Filtering




                                                              S1            S3

                                                     Non-Functional Service Selection


                                  S3




                                      Current QoS
                                      of S1 and S3

                                                            Statically defined
                                                             Preferences


                                                                                          8
Contents

1. Context


2. Preference model


3. LCP-Net example


4. Related works


5. Conclusion




                      9
Preference model
LCP-Nets

 “Linguistic Conditional Preference-Networks”, an extension of CP-Nets
 [Boutilier et al., 1999].

 Domain agnostic, but can be used for formal specification of preferences in
 our SOA context, in order to:

  • Reveal relative importance of non-functional properties.

  • Elicit preferred values for a specific QoS domain.

  • Indicate tradeoffs between non-functional properties.

 And is easy to understand, define, manipulate:

  • Qualitative model: linguistic terms for QoS values (e.g. none, full for
    Security) and preference degrees (e.g. very_low, ... , very_high) [Zadeh,
    1975; Herrera & Martínez, 2000].

  • Graphical model: nodes, edges and preference tables.
                                                                                10
Preference model
LCP-Net instance

 From static preferences...




     QoS for surveillance camera services :
     S = Security
     B = Bandwidth
     R = image Resolution




 ... to efficient decision-making system at runtime:

  • Utility tables mapped to fuzzy rule sets, as in fuzzy control.

  • Inputs as crisp or fuzzy measured values from monitored services.

  • Evaluation output as a crisp or linguistic (e.g. 2-tuple) utility value.
                                                                               11
Preference model
LCP-Net instance

 From static preferences...




     QoS for surveillance camera services :
                                                  &
     S = Security
     B = Bandwidth
     R = image Resolution




 ... to efficient decision-making system at runtime:

  • Utility tables mapped to fuzzy rule sets, as in fuzzy control.

  • Inputs as crisp or fuzzy measured values from monitored services.

  • Evaluation output as a crisp or linguistic (e.g. 2-tuple) utility value.
                                                                               11
Contents

1. Context


2. Preference Model


3. LCP-Net example


4. Related works


5. Conclusion




                      12
LCP-Net Example
In 5 steps

 An example of a Security Camera preference evaluation, broke down into 5
 key steps for selection of the best-suited service:

   Step 1 - QoS values injection

   Step 2 - Local utility values inference

   Step 3 - Nodes weights computation

   Step 4 - Global utility value computation

   Step 5 - Service comparison and selection




                                                                            13
LCP-Net Example
Step 1 - QoS values injection

 Multiple QoS Values retrieved from monitoring layer can be of two kinds:

  • Crisp QoS values → “Singleton” fuzzy subset.
                                                                                1   LOW         MEDIUM              HIGH




    Bandwidth                           Bandwidth
    = 30 kb/s                           = 0.30
                  Normalization                              Fuzzification



  • Fuzzy QoS value → “Adjusted” fuzzy subset.                                  0                 0.5                1
                                                                                                                         bandwidth



     1          Retrieved Fuzzy Value                                           1   LOW   quot;Adjustedquot; Fuzzy Subset    HIGH




                                                         Domain normalization


     0
                        512              1024                                   0
                                                                                                   0.5                   1
                                                                                                                             resolution
                                            resolution

                                                                                                                                      14
LCP-Net Example
Step 2 - Local utility values inference

 Use of Generalized Modus Ponens [Zadeh, 1975] for inference of each node
 utility (i.e local utility). In this example for bandwidth:

  • 3 fuzzy subsets = BL, BM, BH

  • B’ = 0.3 is measured.

  • local_utility(B’) = ?

                                                                         high
                                              very low   low    medium             very high
     1   LOW       MEDIUM    HIGH
                                               1




                                                                         0.75
     0              0.5       1                 0        0.25                          1
                                                                 0.5
                                  bandwidth
                                                                                preference level
                                                                                                   15
LCP-Net Example
Step 2 - Local utility values inference

 Use of Generalized Modus Ponens [Zadeh, 1975] for inference of each node
 utility (i.e local utility). In this example for bandwidth:

  • 3 fuzzy subsets = BL, BM, BH

  • B’ = 0.3 is measured.

  • local_utility(B’) = ?


                        1




                                                 0.75
                                    0.35
                        0    0.25                              1
                                           0.5
                                                        preference level
                                                                            15
LCP-Net Example
Step 2 - Local utility values inference

 Use of Generalized Modus Ponens [Zadeh, 1975] for inference of each node
 utility (i.e local utility). In this example for bandwidth:

  • 3 fuzzy subsets = BL, BM, BH

  • B’ = 0.3 is measured.

  • local_utility(B’) = ?




                      local_utility(B’) = 0.35 or (low, +0.10)




                                                                            15
LCP-Net Example
Step 3 - Nodes weights computation

 Arcs in preference model give the relative importance of QoS properties.

 Nodes weights computed to preserve implicit relative importance in global
 utility value computation:

   • Weights based on node depth in graph.

   • Lower depth in graph → Higher weight in preference model.

                                                                 weight    weight
                                                                 ≈ 0.235   ≈ 0.529
depth = 2   depth = 1   weight




                                 transform depths into
                                 normalized weights in
                                 [0,1], summing to 1



                                                                           weight
            depth = 2                                    depth             ≈ 0.235

                                                                                     16
LCP-Net Example
Step 4 - Global utility value computation

 Aggregation of local utilities to obtain global service utility.


 Weighted average operator ∆, using previously computed weights:


  • ∃ Web service S1 |
    local_utility(B’) = 0.35
    local_ utility(Sfull) = 1                                 S1
    local_ utility(B’, R’) = 0.20                QoS snapshot at t = (B’, Sfull, R’)




  • global_utility(S1)
      = ∆(0.529 x 0.35 , 0.235 x 1 , 0.235 x 0.20))
      ≈ 0.47

                  global_utility(S1) = 0.47 or (medium, -0.03)

                                                                                       17
LCP-Net Example
Step 5 - Service comparison and selection

 Automatic, using crisp global utility values.

 Human-based, using 2-tuple global utility values (as shown below).




   g_u(S1) = (medium, -0,03)         g_u(S3) = (medium, -0,15)




                     g_u(S2) = (low, -0,10)               g_u(S4) = (very-low, +0)
                                                                                     18
LCP-Net Example
Step 5 - Service comparison and selection

 Automatic, using crisp global utility values.

 Human-based, using 2-tuple global utility values (as shown below).




   g_u(S1) = (medium, -0,03)         g_u(S3) = (medium, -0,15)




                     g_u(S2) = (low, -0,10)               g_u(S4) = (very-low, +0)
                                                                                     18
Related works

 UCP-Nets [Boutilier et al., 2001] are a directed graphical representation of
 utility functions that combines aspects of two existing preference models:
 generalized additive models and CP-Nets. They decompose a utility function
 into a number of crisp additive factors, whereas LCP-Nets use fuzzy terms.

 TCP-Nets [Brafman et al., 2002] add variable importance tradeoffs into CP-
 Nets by introducing two new edge types: i-arcs and ci-arcs, incorporated in
 our LCP-Net formalism.

 GAI-Networks [Gonzales & Perny, 2005] follow an other approach for
 graphical preference elicitation and preference-based optimization in the
 context of multi-attribute utility theory.

 Recent works [Schröpfer et al., 2007] have proposed a system for specifying
 hard constraints, preferences and tradeos over NFPs as well as service level
 objectives (SLO), it relies on both TCP and UCP networks.

                                                                                  19
Conclusion

 LCP-Nets build on previously established works from the decision-making
 and fuzzy-logic communities.


 In the SOA context, they have a concrete application in the form of
 multicriteria decision making for Web service selection.


 A fully-working LCP-Net definition and evaluation framework is currently
 being implemented:


  • It is driven by the french SemEUsE project.


  • It should be available, as soon as possible, under a free licensing scheme.




                                                                                  20
Thank you for your attention...
Any questions ?


         Pierre Châtel
         Thales Land  Joint Systems
         @ Thales Research  Technologies (TRT)
         RD 128
         91767 Palaiseau Cedex - France

         pierre.chatel@thalesgroup.com

         +33 (0)1 69 41 55 65


                                                  21

More Related Content

Similar to FLINS'08 - A linguistic approach for non-functional constraints in a semantic SOA environment

Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationIcws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationFreddy Lecue
 
Graph Pattern Identification
Graph Pattern IdentificationGraph Pattern Identification
Graph Pattern IdentificationAakash Ahmad
 
IEEE_CCNC_Presentation_Peyman
IEEE_CCNC_Presentation_PeymanIEEE_CCNC_Presentation_Peyman
IEEE_CCNC_Presentation_PeymanPeyman TalebiFard
 
Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10OW2
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models JavaSOA Symposium
 
Icws09 Lecue Presentation
Icws09 Lecue PresentationIcws09 Lecue Presentation
Icws09 Lecue PresentationFreddy Lecue
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0lgradina
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C ASOA Symposium
 
Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Marc Schaer
 
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGYFUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGYijwscjournal
 
20091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 520091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 5Arian Zwegers
 
Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS Esri
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
5G Network Architecture and FMC
5G Network Architecture and FMC5G Network Architecture and FMC
5G Network Architecture and FMCITU
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...virtual-campus
 
5G RAN Slicing for Dublin Release.pptx
5G RAN Slicing for Dublin Release.pptx5G RAN Slicing for Dublin Release.pptx
5G RAN Slicing for Dublin Release.pptxMohammadIrshad79
 

Similar to FLINS'08 - A linguistic approach for non-functional constraints in a semantic SOA environment (20)

Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentationIcws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
Icws10 lecue-gorronogoitia-gonzalez-radzimski-villa-presentation
 
Exchange Server 2013 Architecture Deep Dive, Part 1
Exchange Server 2013 Architecture Deep Dive, Part 1Exchange Server 2013 Architecture Deep Dive, Part 1
Exchange Server 2013 Architecture Deep Dive, Part 1
 
Graph Pattern Identification
Graph Pattern IdentificationGraph Pattern Identification
Graph Pattern Identification
 
IEEE_CCNC_Presentation_Peyman
IEEE_CCNC_Presentation_PeymanIEEE_CCNC_Presentation_Peyman
IEEE_CCNC_Presentation_Peyman
 
Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models Java
 
Icws09 Lecue Presentation
Icws09 Lecue PresentationIcws09 Lecue Presentation
Icws09 Lecue Presentation
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0
 
Sassy
SassySassy
Sassy
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C A
 
Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009
 
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGYFUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
 
20091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 520091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 5
 
Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS Creating Web Applications with ArcGIS
Creating Web Applications with ArcGIS
 
Semantic Web Services Framework for Computational Interoperability
Semantic Web Services Framework for Computational InteroperabilitySemantic Web Services Framework for Computational Interoperability
Semantic Web Services Framework for Computational Interoperability
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
5G Americas_Network Slicing
5G Americas_Network Slicing5G Americas_Network Slicing
5G Americas_Network Slicing
 
5G Network Architecture and FMC
5G Network Architecture and FMC5G Network Architecture and FMC
5G Network Architecture and FMC
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
5G RAN Slicing for Dublin Release.pptx
5G RAN Slicing for Dublin Release.pptx5G RAN Slicing for Dublin Release.pptx
5G RAN Slicing for Dublin Release.pptx
 

Recently uploaded

Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdfMuhammad Subhan
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistandanishmna97
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 

Recently uploaded (20)

Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 

FLINS'08 - A linguistic approach for non-functional constraints in a semantic SOA environment

  • 1. A linguistic approach for non-functional constraints in a semantic SOA environment Pierre Châtel Thales Land & Joint Systems, Université Pierre et Marie Curie - Paris 6, LIP6 Isis Truck LIASD, Université de Vincennes à Saint Denis - Paris 8 Jacques Malenfant Université Pierre et Marie Curie - Paris 6, CNRS, UMR 7606 LIP6 1
  • 2. Research Topic Non-functional constraint handling in Semantic Service Oriented Architectures. The Service Oriented Architecture (SOA) is divided between: • Atomic feature producers, or (Web) services. • Atomic feature consumers, or (Web) processes. Semantic SOA: • Usually provides: service offers ⊕ high level business concepts, extracted from domain ontologies, published in registries. • We add: preferences between services non-functional properties, seen as “user semantics”. Application domains: any domain where a dynamic coordination of services under quality constraints and with some guarantees is needed. 2
  • 3. Contents 1. Context 2. Preference Model 3. LCP-Net example 4. Related works 5. Conclusion 3
  • 4. Context SOA Functional properties of Web services: • Provided domain features. • Ex. for a car service: move, carry persons or goods, protect from weather, a specific type of car. Non-functional properties of Web services: • Service features execution modalities that affect the provided or perceived Quality of Service (QoS). • Ex. for a car service: - Maximal speed. - Tank capacity → traveling distance. - Number of gears. - Motor levels: temperature, oil, revolutions, ... 4
  • 5. Context Multi-Criteria Decision Making The decision being made, in this application context, is the dynamic linking of an abstract service invocation in a Web process to one of its physical implementation (i.e a specific Web service), presumably the best-suited one. Candidate services expose multiple non-functional properties, each one being a potentiel criterion for election of the best-suited service. • Static filtering of services on individual criterion constraints → partial order. • User preferences, between non-functional properties → total order. 5
  • 6. Context Impact on preference definition In our SOA-driven context: • Preferences must be easy to define since there are no preference modeling experts, nor many ressources to allocate for their elicitation. ➥ Some imprecision must be tolerated in preference models. • Variables are limited in preference models (at most ~ 10 variables). • Computation time for decision-making based on preferences is seen as relatively small compared to the subsequent networked service invocation. It leads to the following sought-after properties of the preference formalism: ✓It must be graphical to ease definition and computation. ✓It must be qualitative as a mean to deal with imprecision → linguistic values integration. 6
  • 7. Context SemEUsE project SemEUsE = “Sémantique pour bus de services” • 3-year french ANR project, over €1M budget. • 6 partners: Thales, FT, EBM, LIP6, INSA, INRIA, INT. Implements “smart” web services orchestration... • by static service filtering on functional and non-functional properties. • by dynamic non-functional service selection. Dedicated late-binding components implements selection by binding each service call in a running process to a single candidate service extracted from a set of otherwise functionally-equivalent services, using: • Current QoS values of monitored services. • Statically defined preferences over QoS properties of services. 7
  • 9. Context SemEUsE framework S1 S3 S5 S2 S4 8
  • 10. Context SemEUsE framework S1 S3 S5 S2 S4 8
  • 11. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 8
  • 12. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 S1 S3 S5 8
  • 13. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 S1 S3 S5 Non-Functional Service Filtering 8
  • 14. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 S1 S3 S5 Non-Functional Service Filtering S1 S3 8
  • 15. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 S1 S3 S5 Non-Functional Service Filtering S1 S3 Non-Functional Service Selection Current QoS of S1 and S3 8
  • 16. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 S1 S3 S5 Non-Functional Service Filtering S1 S3 Non-Functional Service Selection Current QoS of S1 and S3 Statically defined Preferences 8
  • 17. Context SemEUsE framework Functional Service Filtering S1 S3 S5 S2 S4 S1 S3 S5 Non-Functional Service Filtering S1 S3 Non-Functional Service Selection S3 Current QoS of S1 and S3 Statically defined Preferences 8
  • 18. Contents 1. Context 2. Preference model 3. LCP-Net example 4. Related works 5. Conclusion 9
  • 19. Preference model LCP-Nets “Linguistic Conditional Preference-Networks”, an extension of CP-Nets [Boutilier et al., 1999]. Domain agnostic, but can be used for formal specification of preferences in our SOA context, in order to: • Reveal relative importance of non-functional properties. • Elicit preferred values for a specific QoS domain. • Indicate tradeoffs between non-functional properties. And is easy to understand, define, manipulate: • Qualitative model: linguistic terms for QoS values (e.g. none, full for Security) and preference degrees (e.g. very_low, ... , very_high) [Zadeh, 1975; Herrera & Martínez, 2000]. • Graphical model: nodes, edges and preference tables. 10
  • 20. Preference model LCP-Net instance From static preferences... QoS for surveillance camera services : S = Security B = Bandwidth R = image Resolution ... to efficient decision-making system at runtime: • Utility tables mapped to fuzzy rule sets, as in fuzzy control. • Inputs as crisp or fuzzy measured values from monitored services. • Evaluation output as a crisp or linguistic (e.g. 2-tuple) utility value. 11
  • 21. Preference model LCP-Net instance From static preferences... QoS for surveillance camera services : & S = Security B = Bandwidth R = image Resolution ... to efficient decision-making system at runtime: • Utility tables mapped to fuzzy rule sets, as in fuzzy control. • Inputs as crisp or fuzzy measured values from monitored services. • Evaluation output as a crisp or linguistic (e.g. 2-tuple) utility value. 11
  • 22. Contents 1. Context 2. Preference Model 3. LCP-Net example 4. Related works 5. Conclusion 12
  • 23. LCP-Net Example In 5 steps An example of a Security Camera preference evaluation, broke down into 5 key steps for selection of the best-suited service: Step 1 - QoS values injection Step 2 - Local utility values inference Step 3 - Nodes weights computation Step 4 - Global utility value computation Step 5 - Service comparison and selection 13
  • 24. LCP-Net Example Step 1 - QoS values injection Multiple QoS Values retrieved from monitoring layer can be of two kinds: • Crisp QoS values → “Singleton” fuzzy subset. 1 LOW MEDIUM HIGH Bandwidth Bandwidth = 30 kb/s = 0.30 Normalization Fuzzification • Fuzzy QoS value → “Adjusted” fuzzy subset. 0 0.5 1 bandwidth 1 Retrieved Fuzzy Value 1 LOW quot;Adjustedquot; Fuzzy Subset HIGH Domain normalization 0 512 1024 0 0.5 1 resolution resolution 14
  • 25. LCP-Net Example Step 2 - Local utility values inference Use of Generalized Modus Ponens [Zadeh, 1975] for inference of each node utility (i.e local utility). In this example for bandwidth: • 3 fuzzy subsets = BL, BM, BH • B’ = 0.3 is measured. • local_utility(B’) = ? high very low low medium very high 1 LOW MEDIUM HIGH 1 0.75 0 0.5 1 0 0.25 1 0.5 bandwidth preference level 15
  • 26. LCP-Net Example Step 2 - Local utility values inference Use of Generalized Modus Ponens [Zadeh, 1975] for inference of each node utility (i.e local utility). In this example for bandwidth: • 3 fuzzy subsets = BL, BM, BH • B’ = 0.3 is measured. • local_utility(B’) = ? 1 0.75 0.35 0 0.25 1 0.5 preference level 15
  • 27. LCP-Net Example Step 2 - Local utility values inference Use of Generalized Modus Ponens [Zadeh, 1975] for inference of each node utility (i.e local utility). In this example for bandwidth: • 3 fuzzy subsets = BL, BM, BH • B’ = 0.3 is measured. • local_utility(B’) = ? local_utility(B’) = 0.35 or (low, +0.10) 15
  • 28. LCP-Net Example Step 3 - Nodes weights computation Arcs in preference model give the relative importance of QoS properties. Nodes weights computed to preserve implicit relative importance in global utility value computation: • Weights based on node depth in graph. • Lower depth in graph → Higher weight in preference model. weight weight ≈ 0.235 ≈ 0.529 depth = 2 depth = 1 weight transform depths into normalized weights in [0,1], summing to 1 weight depth = 2 depth ≈ 0.235 16
  • 29. LCP-Net Example Step 4 - Global utility value computation Aggregation of local utilities to obtain global service utility. Weighted average operator ∆, using previously computed weights: • ∃ Web service S1 | local_utility(B’) = 0.35 local_ utility(Sfull) = 1 S1 local_ utility(B’, R’) = 0.20 QoS snapshot at t = (B’, Sfull, R’) • global_utility(S1) = ∆(0.529 x 0.35 , 0.235 x 1 , 0.235 x 0.20)) ≈ 0.47 global_utility(S1) = 0.47 or (medium, -0.03) 17
  • 30. LCP-Net Example Step 5 - Service comparison and selection Automatic, using crisp global utility values. Human-based, using 2-tuple global utility values (as shown below). g_u(S1) = (medium, -0,03) g_u(S3) = (medium, -0,15) g_u(S2) = (low, -0,10) g_u(S4) = (very-low, +0) 18
  • 31. LCP-Net Example Step 5 - Service comparison and selection Automatic, using crisp global utility values. Human-based, using 2-tuple global utility values (as shown below). g_u(S1) = (medium, -0,03) g_u(S3) = (medium, -0,15) g_u(S2) = (low, -0,10) g_u(S4) = (very-low, +0) 18
  • 32. Related works UCP-Nets [Boutilier et al., 2001] are a directed graphical representation of utility functions that combines aspects of two existing preference models: generalized additive models and CP-Nets. They decompose a utility function into a number of crisp additive factors, whereas LCP-Nets use fuzzy terms. TCP-Nets [Brafman et al., 2002] add variable importance tradeoffs into CP- Nets by introducing two new edge types: i-arcs and ci-arcs, incorporated in our LCP-Net formalism. GAI-Networks [Gonzales & Perny, 2005] follow an other approach for graphical preference elicitation and preference-based optimization in the context of multi-attribute utility theory. Recent works [Schröpfer et al., 2007] have proposed a system for specifying hard constraints, preferences and tradeos over NFPs as well as service level objectives (SLO), it relies on both TCP and UCP networks. 19
  • 33. Conclusion LCP-Nets build on previously established works from the decision-making and fuzzy-logic communities. In the SOA context, they have a concrete application in the form of multicriteria decision making for Web service selection. A fully-working LCP-Net definition and evaluation framework is currently being implemented: • It is driven by the french SemEUsE project. • It should be available, as soon as possible, under a free licensing scheme. 20
  • 34. Thank you for your attention... Any questions ? Pierre Châtel Thales Land Joint Systems @ Thales Research Technologies (TRT) RD 128 91767 Palaiseau Cedex - France pierre.chatel@thalesgroup.com +33 (0)1 69 41 55 65 21