Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

12
Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2

Transcript of Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Page 1: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Negoziazione e vincoli di qualitàRapporto 2.2.2

D. Ardagna, M. Comuzzi – WP 2

Page 2: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Indice

Concretizator: individuare il miglior insieme di servizi concreti che implementi un servizio astratto (semplice o complesso)

Negotiator: gestire processi di negoziazione per fissare i parametri di QoS di un servizio concreto

Page 3: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Concretizator

Obiettivo: selezionare il miglior insieme di servizi concreti in grado di effettuare l’esecuzione di un servizio astratto complesso (o semplice).

Il Concretizator MAIS individua il piano di esecuzione, l’insieme di coppie (servizio astratto, servizio concreto). Obiettivo:

• Massimizzare la qualità di servizio percepita dall’utente finale

• Garantire vincoli locali e globali (es. il tempo totale di esecuzione del servizio complesso o il suo prezzo)

Page 4: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Concretizator – Moduli cooperanti

CSI: fornisce la specifica del processo astratto ed il contesto dell’utente (a diversi contesti possono corrispondere diverse preferenze per la QoS)

Negotiator: determina il profilo dei servizi in termini di QoS e prezzo, se i servizi presentano nel MAIS registry qualità negoziabili e l’utente ha abilitato la negoziazione

Process Orchestrator: utilizza il piano di esecuzione per supportare l’esecuzione di servizi complessi. Il Process Orchestrator può richiedere la ri-ottimizzazione del piano:• se l’utente cambia contesto• se un servizio del piano non è disponibile a tempo di

esecuzione• periodicamente

Behavioral Compatibility Engine: se non esiste una soluzione ammissibile, sostituisce l’attività astratta a cui corrisponde il vincolo maggiormente violato con un insieme di servizi equivalenti

Page 5: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Vincoli di qualità del servizio in servizi complessi

Dimensioni di qualità:• Tempo di esecuzione medio (lead-time)• Availability• Prezzo• Reputation• Data quality (funzione di Timeliness, Accuracy, Completeness)

Problema di ottimizzazione Composizione Servizi (CS): determinare l’insieme dei servizi concreti candidati all’esecuzione di un processo tale che

• Viene massimizzato il valore “medio” della qualità del servizio per l’utente finale

• Vengono garantiti vincoli del tipo:• Tempo di esecuzione ≤R• Availability≥A• Prezzo ≤B• Reputation ≥T• Data quality ≥DQ

• Vincoli locali: su un singolo servizio• Vincoli globali: sul servizio complesso o un sottoinsieme di task

della specifica

Page 6: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Il problema di ottimizzazione

Il problema è multi-obiettivo, viene affrontato applicando la tecnica Simple Additive Weighting (SAW)• Funzione di score• Fase di scaling• Fase di weighting

Il problema può essere formulato come un modello lineare a variabili binarie

Il problema è un caso particolare del Multiple-choice Multiple-dimension Knapsack (MMKP)

Soluzione:• Decomposizione (formulazione per path singoli di

esecuzione, estensione di Zeng et al. 2004)• Determinazione di una soluzione ammissibile• Euristica HEU per MMKP

Page 7: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Concretizator - Future work

Pre-processing della specifica BPEL4WS per ottimizzare l’algoritmo di soluzione

Confronto del metodo globale con approcci greedy (locali) che selezionano oggetti a tempo di esecuzione e non considerano vincoli globali

In ambienti dinamici anche metodi globali non possono garantire il soddisfacimento di vincoli globali:

• Soglie per avere margine nel soddisfacimento di vincoli e garantire i vincoli globali in probabilità

Piano ottimo: 1 servizio vs. ranking dei servizi candidati all’esecuzione di ogni attività astratta

Pre-calcolo del piano ottimo per ogni contesto dell’utente per ridurre i tempi di hand-over

Page 8: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Negotiator

Gestisce le negoziazioni a livello applicativo tra servizi concreti per stabilire i parametri di QoS

E’ invocato dal Concretizator quando i servizi concreti candidati hanno dichiarato parametri negoziabili

Ritorna al Concretizator i risultati del processo di negoziazione, eventualmente ordinati

Es.: aste tra servizi per determinare il prezzo

Page 9: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Negotiator

I servizi concreti definiscono “policies” con informazioni su:

• Parametri negoziabili

• Protocolli supportati per la negoziazione di tali parametri

Il processo di negoziazione è costituito da 2 fasi:

• Coordinamento orizzontale

• Contesto generale di negoziazione

• Notifica dei risultati

• Coordinamento verticale

• Interazione dipendente dal protocollo utilizzato (es.: asta, neg. bilaterale o molti a molti)

Page 10: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Negotiator – Implementazione della negoziazione

Il processo di negoziazione è gestito secondo la specifica di WS-Coordination

Negotiator assume 2 ruoli:

• Broker di messaggi tra i partecipanti

• Controllore dell’adesione delle conversazioni al protocollo selezionato

Page 11: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Negotiator – Future work

Studio della specifica di diversi protocolli per negoziazione automatica

Analisi dell’insieme delle qualità nella piattaforma MAIS

Analisi del problema della negoziazione a diversi livelli dell’architettura (user model, service model, architettura estesa e base)

Page 12: Negoziazione e vincoli di qualità Rapporto 2.2.2 D. Ardagna, M. Comuzzi – WP 2.

Problemi di zaino

Knapsack Problem (KP):

• Insieme di oggetti: ogni oggetto ha un valore e un peso

• Scegliere l’insieme di oggetti in modo da massimizzare il valore totale rispettando il vincolo di capacità dello zaino

Multiple Choice Knapsack (MKP): estensione di KP in cui gli oggetti sono divisi in gruppi ed è necessario prendere un oggetto da ogni gruppo

MMKP è un’estensione di MKP in cui gli oggetti hanno più dimensioni (es. peso e volume)

Riduzione di CS a MMKP: ogni attività è un gruppo, ogni dimensione di qualità è una dimensione fisica di un oggetto, il valore dell’oggetto è ottenuto dalla valutazione della funzione di score (SAW)