La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo.

Presentazioni simili


Presentazione sul tema: "Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo."— Transcript della presentazione:

1 Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo Torroni DEIS, Universita` di Bologna ENDIF, Universita` di Ferrara

2 ProtocolloProtocollo Def. Insieme delle regole che governano un'attività di scambio di informazioni fra due o piu` entità. –protocolli per la trasmissione di dati tra computer –protocolli di interazione tra agenti –protocolli di negoziazione nel commercio eletrronico –protocolli medici (linee guida) –... n concetto generale applicabile a sistemi complessi e distribuiti: necessita` di strumenti per: –specificare i protocolli –verificare i protocolli Def. Insieme delle regole che governano un'attività di scambio di informazioni fra due o piu` entità. –protocolli per la trasmissione di dati tra computer –protocolli di interazione tra agenti –protocolli di negoziazione nel commercio eletrronico –protocolli medici (linee guida) –... n concetto generale applicabile a sistemi complessi e distribuiti: necessita` di strumenti per: –specificare i protocolli –verificare i protocolli

3 ObiettiviObiettivi n Individuare formalismi basati su logica per la descrizione di protocolli di interazione per agenti in società aperte: –specifica formale –verifica di proprietà –implementazione n Sperimentazione in casi reali: –linee guida cliniche –e-commerce (protocolli per aste e transazioni commerciali) –e-learning (by doing) –protocolli internet (TCP/IP) –... n Sinergia con il progetto europeo n Individuare formalismi basati su logica per la descrizione di protocolli di interazione per agenti in società aperte: –specifica formale –verifica di proprietà –implementazione n Sperimentazione in casi reali: –linee guida cliniche –e-commerce (protocolli per aste e transazioni commerciali) –e-learning (by doing) –protocolli internet (TCP/IP) –... n Sinergia con il progetto europeo

4 SOCS: societa` aperte di agenti basate su logica computazionale n agenti eterogenei: non e` possibile fare assunzioni sulla struttura interna degli agenti, ma e` possibile osservare il comportamento sociale degli agenti (interazioni) n Gli agenti e la societa` hanno conoscenza incompleta dell'ambiente in cui operano. n Applicazione di forme di ragionamento abduttivo per modellare sia le interazioni tra agenti logici, che il comportamento del singolo agente. n Definizione di un linguaggio di programmazione logica (opportunamento esteso) per descrivere le societa` n Definizione di procedure di dimostrazione come supporto operazionale: –verifica automatica delle interazioni –verifica di proprieta` del protocollo n agenti eterogenei: non e` possibile fare assunzioni sulla struttura interna degli agenti, ma e` possibile osservare il comportamento sociale degli agenti (interazioni) n Gli agenti e la societa` hanno conoscenza incompleta dell'ambiente in cui operano. n Applicazione di forme di ragionamento abduttivo per modellare sia le interazioni tra agenti logici, che il comportamento del singolo agente. n Definizione di un linguaggio di programmazione logica (opportunamento esteso) per descrivere le societa` n Definizione di procedure di dimostrazione come supporto operazionale: –verifica automatica delle interazioni –verifica di proprieta` del protocollo

5 Verifica delle interazioni Protocolli? Agenti Social Behaviour Infrastruttura Sociale Fulfillment Violation Reasoning and verification module Protocols

6 Modello della Societa`: Modello della Societa`: n SEKB: conoscenza dinamica associata alla societa`: –History (HAP): insieme di eventi sociali accaduti nella societa`, ognuno rappresentato da fatti ground del tipo: H(Event [,Time] ). –EXP: aspettative (positive o negative) sul comportamento (sociale) dei membri, ognuna modellata mediante un abducibile: [¬ ] E( Event [, Time ] ) / [¬ ] EN( Event [, Time ] ) n IC s : descrizione dei protocolli mediante vincoli sociali di integrita` n SOKB: conoscenza statica associata alla societa` (roles and rules) –LP clauses with expectations n Goals: la societa` puo` essere goal-directed (LP Goals) n SEKB: conoscenza dinamica associata alla societa`: –History (HAP): insieme di eventi sociali accaduti nella societa`, ognuno rappresentato da fatti ground del tipo: H(Event [,Time] ). –EXP: aspettative (positive o negative) sul comportamento (sociale) dei membri, ognuna modellata mediante un abducibile: [¬ ] E( Event [, Time ] ) / [¬ ] EN( Event [, Time ] ) n IC s : descrizione dei protocolli mediante vincoli sociali di integrita` n SOKB: conoscenza statica associata alla societa` (roles and rules) –LP clauses with expectations n Goals: la societa` puo` essere goal-directed (LP Goals)

7 Eventi e Aspettative n ICs formalizzano i protocolli in termini di: –Eventi accaduti (H(..)) –Aspettative relative al comportamento degli agenti al fine di seguire I protocolli (E(..), EN(..)) n ICs formalizzano i protocolli in termini di: –Eventi accaduti (H(..)) –Aspettative relative al comportamento degli agenti al fine di seguire I protocolli (E(..), EN(..)) Happened event H(event,T)Event happened at time T Expectation E(event,T) Society expects event to happen (at time T) Negative Expectation NE(event,T) Society expects that event doesn’t happen

8 Social infrastructure Eventi Fulfillment Violation Reasoning Verify Compliance YES NO Aspettative (1)verifica on-the fly della conformita` ai protocolli (1)verifica on-the fly della conformita` ai protocolli

9 Social Integrity Constraints (ICs) n permettono la descrizione dei protocolli mediante una sintassi logica basata su regole forward, che possono contenere vincoli CLP sulle variabili. Esempio: negoziazione di beni Se io ti faccio un'offerta, mi aspetto che tu mi risponda accettando o rifiutando l'offerta, entro il tempo massimo d H(tell(Me,You,offer(Item,Price),T)  E(tell(You,Me,accept(Item,Price),T’) ^ T’<=T+d ∨ E(tell(You,Me,refuse(Item,Price), T’) ^ T’<=T+d’ Se tu accetti la mia offerta, mi aspetto che tu, successivamente, non la rifiuti H(tell(You,Me,accept(Item,Price), T)  EN(tell(You,Me,refuse(Item,Price), Tr) ^ Tr>=T n permettono la descrizione dei protocolli mediante una sintassi logica basata su regole forward, che possono contenere vincoli CLP sulle variabili. Esempio: negoziazione di beni Se io ti faccio un'offerta, mi aspetto che tu mi risponda accettando o rifiutando l'offerta, entro il tempo massimo d H(tell(Me,You,offer(Item,Price),T)  E(tell(You,Me,accept(Item,Price),T’) ^ T’<=T+d ∨ E(tell(You,Me,refuse(Item,Price), T’) ^ T’<=T+d’ Se tu accetti la mia offerta, mi aspetto che tu, successivamente, non la rifiuti H(tell(You,Me,accept(Item,Price), T)  EN(tell(You,Me,refuse(Item,Price), Tr) ^ Tr>=T

10 Example (fulfillment)  H(tell(yves,thomas,offer(scooter,10$),1) thomas yves E(tell(thomas,yves,accept(scooter,10$),T’), T’ < 7 ∨ E(tell(thomas,yves,refuse(scooter,10$),T’), T’ < 7 E(tell(thomas,yves,accept(scooter,10$),T’), T’ < 7 ∨ E(tell(thomas,yves,refuse(scooter,10$),T’), T’ < 7 H(tell(thomas,yves,accept(scooter,10$),5)  fulfillment!

11 Esempio di violazione  H(tell(yves,thomas,offer(scooter,10$),1) thomas yves H(tell(thomas,yves,accept(Item,Price ), T) v EN(tell(thomas,yves,refuse(Item,Price), Tr), Tr>=T H(tell(thomas,yves,accept(Item,Price ), T) v EN(tell(thomas,yves,refuse(Item,Price), Tr), Tr>=T H(tell(thomas,yves,accept(scooter,10$),5)  H(tell(thomas,yves,refuse(scooter,10$),8)  violazione!

12 Istanza di Societa` = Abductive Logic Program n L'istanza di una Societa` (S HAP ) e` modellata mediante un programma logico abduttivo : –P = SOKB  HAP –Ab = {E, EN, ¬ E, ¬ EN} –IC = IC S n Consistenza: –IC S -Consistency –E-Consistency –¬-Consistency –Fulfillment n L'istanza di una Societa` (S HAP ) e` modellata mediante un programma logico abduttivo : –P = SOKB  HAP –Ab = {E, EN, ¬ E, ¬ EN} –IC = IC S n Consistenza: –IC S -Consistency –E-Consistency –¬-Consistency –Fulfillment

13 Def: Consistenza, fulfillment e violazione Data una societa` ed un set HAP di eventi: 1. un insieme EXP di aspettative e` IC s -consistent iff SOKB  HAP  EXP ⊨ IC s 2. un insieme EXP di aspettative e` E-consistent iff { E(p), EN(p) } ⊈ EXP 3. un insieme EXP di aspettative e` ¬-consistent iff { E(p),  E(p) } ⊈ EXP { EN(p),  EN(p) } ⊈ EXP 4. un insieme EXP di aspettative (IC s,E,¬) consistent e` fulfilled iff HAP  EXP  {E(p) → H(p)}  {EN(p) →  H(p)} ╞ 5. se non esiste un insieme di aspettative fulfilled, HAP produce una violazione nella societa`. Data una societa` ed un set HAP di eventi: 1. un insieme EXP di aspettative e` IC s -consistent iff SOKB  HAP  EXP ⊨ IC s 2. un insieme EXP di aspettative e` E-consistent iff { E(p), EN(p) } ⊈ EXP 3. un insieme EXP di aspettative e` ¬-consistent iff { E(p),  E(p) } ⊈ EXP { EN(p),  EN(p) } ⊈ EXP 4. un insieme EXP di aspettative (IC s,E,¬) consistent e` fulfilled iff HAP  EXP  {E(p) → H(p)}  {EN(p) →  H(p)} ╞ 5. se non esiste un insieme di aspettative fulfilled, HAP produce una violazione nella societa`.

14 Society Constraint Proof Procedure (wrt IFF) Dato l'insieme HAP di una societa` (history), la proof procedure abduttiva SCIFF (Society Constraint IFF) genera le aspettative corrispondenti agli eventi, ne verifica la consistenza, identificando situazioni di fulfillment o di violazione. La SCIFF estende la IFF [ Fung, Kowalski, 97 ] Estensioni (rispetto a IFF): n Meccanismo incrementale: accetta nuovi eventi man mano che accadono n Genera le aspettative E, not E, EN, not EN in base al comportamento osservato degli agenti e agli IC s. n Verifica la corrispondenza tra gli eventi accaduti e le aspettative (fulfillment) n Identifica situazioni di violazione e/o inconsistenza n Vincoli CLP n Gli atomi abdotti possono avere variabili quantificate esistenzialmente e universalmente Dato l'insieme HAP di una societa` (history), la proof procedure abduttiva SCIFF (Society Constraint IFF) genera le aspettative corrispondenti agli eventi, ne verifica la consistenza, identificando situazioni di fulfillment o di violazione. La SCIFF estende la IFF [ Fung, Kowalski, 97 ] Estensioni (rispetto a IFF): n Meccanismo incrementale: accetta nuovi eventi man mano che accadono n Genera le aspettative E, not E, EN, not EN in base al comportamento osservato degli agenti e agli IC s. n Verifica la corrispondenza tra gli eventi accaduti e le aspettative (fulfillment) n Identifica situazioni di violazione e/o inconsistenza n Vincoli CLP n Gli atomi abdotti possono avere variabili quantificate esistenzialmente e universalmente

15 Implementazione dell'infrastruttura sociale: SOCS-SI n Implementa la SCIFF proof procedure n Interfaccia utente n Gestione/visualizzazione della societa`: membri, protocolli, history, aspettative n Monitor degli eventi sociali  verifica di conformita` n Implementa la SCIFF proof procedure n Interfaccia utente n Gestione/visualizzazione della societa`: membri, protocolli, history, aspettative n Monitor degli eventi sociali  verifica di conformita` Medium LayerFile SystemPrompt > User Defined Protocols Society Infrastructure Society Module Society GUI Module User

16 Un caso applicativo: specifica e verifica di linee guida in campo medico n Linee guida: raccomandazioni di comportamento clinico prodotte allo scopo di assistere medici e pazienti nella decisione delle modalità assistenziali più appropriate in determinate situazioni cliniche. n Distribuzione e Complessita`: molti attori, eterogeneita`, concorrenza, necessita` di sincronizzazione n Importanza di specifica e verifica n Specifica mediante ICs: H(misura_temp(Med,Paz,T)) ^ T>=38  E(somministra(Inf,Paz,paracetamolo)) ^ E(registra(Inf2,Paz,T)). Necessita` di formalismi piu` intuitivi  GOSPEL n Linee guida: raccomandazioni di comportamento clinico prodotte allo scopo di assistere medici e pazienti nella decisione delle modalità assistenziali più appropriate in determinate situazioni cliniche. n Distribuzione e Complessita`: molti attori, eterogeneita`, concorrenza, necessita` di sincronizzazione n Importanza di specifica e verifica n Specifica mediante ICs: H(misura_temp(Med,Paz,T)) ^ T>=38  E(somministra(Inf,Paz,paracetamolo)) ^ E(registra(Inf2,Paz,T)). Necessita` di formalismi piu` intuitivi  GOSPEL

17 GOSPELGOSPEL n Guideline prOcess SPEcification Language n Linguaggio grafico, basato sul paradigma dei flow-chart, per –Specificare un processo –Verificare se i partecipanti si comportano secondo specifica n La verifica è possibile grazie alla traduzione di un diagramma GOSPEL in un insieme di vincoli sociali di integrità n Guideline prOcess SPEcification Language n Linguaggio grafico, basato sul paradigma dei flow-chart, per –Specificare un processo –Verificare se i partecipanti si comportano secondo specifica n La verifica è possibile grazie alla traduzione di un diagramma GOSPEL in un insieme di vincoli sociali di integrità

18 Livello epistemologico n Graficamente, GOSPEL permette di esprimere i concetti fondamentali per la modellazione di un processo n Elementi: –Attività atomiche e complesse –Punti di decisione –Sezioni di concorrenza n Relazioni binarie fra elementi: –D’ordine (eventualmente associate a guardie logiche) –Temporali (vincoli sulle attività) n Graficamente, GOSPEL permette di esprimere i concetti fondamentali per la modellazione di un processo n Elementi: –Attività atomiche e complesse –Punti di decisione –Sezioni di concorrenza n Relazioni binarie fra elementi: –D’ordine (eventualmente associate a guardie logiche) –Temporali (vincoli sulle attività)

19 Attività complesse n Tipico approccio top-down utilizzando i macroblocchi –Visti al livello in cui vengono inseriti come attività atomiche –Incapsulano la definizione di un nuovo (sotto)processo n I macroblocchi dicono anche quali sono le modalità di esecuzione del sottoprocesso –Azione complessa  esecuzione lineare –Iteration  esecuzione ciclica tipo for –While  esecuzione ciclica tipo do…while n GOSPEL pone particolare attenzione alla riusabilità dei macroblocchi –I processi modellati possono essere riutilizzati per costruirne di nuovi n Tipico approccio top-down utilizzando i macroblocchi –Visti al livello in cui vengono inseriti come attività atomiche –Incapsulano la definizione di un nuovo (sotto)processo n I macroblocchi dicono anche quali sono le modalità di esecuzione del sottoprocesso –Azione complessa  esecuzione lineare –Iteration  esecuzione ciclica tipo for –While  esecuzione ciclica tipo do…while n GOSPEL pone particolare attenzione alla riusabilità dei macroblocchi –I processi modellati possono essere riutilizzati per costruirne di nuovi

20 Livello ontologico n Tramite un’ontologia di dominio specifichiamo l’interpretazione di un diagramma GOSPEL nel dominio di interesse n GOSPEL non definisce un’ontologia a priori: –Linguaggio general purpose –L’ontologia diventa un parametro del modello –Di volta in volta ci si può calare su differenti domini applicativi n Due grandi tassonomie: attività e entità (partecipanti) n Tramite un’ontologia di dominio specifichiamo l’interpretazione di un diagramma GOSPEL nel dominio di interesse n GOSPEL non definisce un’ontologia a priori: –Linguaggio general purpose –L’ontologia diventa un parametro del modello –Di volta in volta ci si può calare su differenti domini applicativi n Due grandi tassonomie: attività e entità (partecipanti)

21 Un esempio il medico misura la temperatura del paziente il paziente va trattenuto il paziente va rilasciato un’infermiera registra il valore un’infermiera somministra paracetamolo STOP se la temperatura è superiore a 38 gradi altrimenti il medico decide che... Action misura_temp Entity Temperatura Paziente Medico

22 GOSPEL Integrity Constraints (ICs) procedura di traduzione

23 Procedura di traduzione visita il diagramma individuando la prossima finestra estrai un elemento dalla frontiera metti lo start del processo nella frontiera genera le regole per la finestra aggiorna la frontiera

24 FinestreFinestre blocco di startevento di start blocco di azioneevento “ontologico” blocco di endevento di end

25 Traduzione di una finestra H(e1) E(e2) E(e3)E(e4) E(e5)E(e6) /\ \/ \/  H(e1)--->E(e2)\/E(e3)\/E(e4)\/E(e5)/\E(e6)

26 Un esempio T  38 T<38 H(misura_temp(Med,Paz,T))/\T<38--->E(trattieni(Med,Paz)) \/ E(rilascia(Med,Paz)) H(misura_temp(Med,Paz,T))/\T<38--->E(trattieni(Med,Paz)) H(misura_temp(Med,Paz,T))/\T>=38--->E(somministra(Inf,Paz,paracetamolo)) /\ E(registra(Inf2,Paz,T)).

27 Work in progress n Lato specifica: editor (in via di sviluppo) –Progettazione grafica –Controlli di consistenza –Integrazione con Protégé per le ontologie n Lato verifica: –Verifica statica di proprietà (esiste una history conforme al modello?) –Verifica di conformità in tempo reale Traduzione Esecuzione… n Lato specifica: editor (in via di sviluppo) –Progettazione grafica –Controlli di consistenza –Integrazione con Protégé per le ontologie n Lato verifica: –Verifica statica di proprietà (esiste una history conforme al modello?) –Verifica di conformità in tempo reale Traduzione Esecuzione…

28 Compliance Verification layerIntegrazioneIntegrazione triggers GOSPEL model configuration translation Database Layer Legacy Applications


Scaricare ppt "Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo."

Presentazioni simili


Annunci Google