![Page 1: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/1.jpg)
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 BolognaENDIF, Universita` di Ferrara
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 BolognaENDIF, Universita` di Ferrara
![Page 2: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/2.jpg)
ProtocolloProtocolloProtocolloProtocollo
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)
– ...
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)
– ...
concetto generale applicabile a sistemi complessi e distribuiti: necessita` di strumenti per:
– specificare i protocolli
– verificare i protocolli
![Page 3: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/3.jpg)
Obiettivi Obiettivi Obiettivi Obiettivi
Individuare formalismi basati su logica per la descrizione di protocolli di interazione per agenti in società aperte:– specifica formale
– verifica di proprietà
– implementazione
Sperimentazione in casi reali:– linee guida cliniche
– e-commerce (protocolli per aste e transazioni commerciali)
– e-learning (by doing)
– protocolli internet (TCP/IP)
– ...
Sinergia con il progetto europeo
Individuare formalismi basati su logica per la descrizione di protocolli di interazione per agenti in società aperte:– specifica formale
– verifica di proprietà
– implementazione
Sperimentazione in casi reali:– linee guida cliniche
– e-commerce (protocolli per aste e transazioni commerciali)
– e-learning (by doing)
– protocolli internet (TCP/IP)
– ...
Sinergia con il progetto europeo
![Page 4: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/4.jpg)
SOCS: societa` aperte di agenti basate su logica SOCS: societa` aperte di agenti basate su logica computazionalecomputazionale
SOCS: societa` aperte di agenti basate su logica SOCS: societa` aperte di agenti basate su logica computazionalecomputazionale
agenti eterogenei: non e` possibile fare assunzioni sulla struttura interna degli agenti, ma e` possibile osservare il comportamento sociale degli agenti (interazioni)
Gli agenti e la societa` hanno conoscenza incompleta dell'ambiente in cui operano.
Applicazione di forme di ragionamento abduttivo per modellare sia le interazioni tra agenti logici, che il comportamento del singolo agente.
Definizione di un linguaggio di programmazione logica (opportunamento esteso) per descrivere le societa`
Definizione di procedure di dimostrazione come supporto operazionale:
– verifica automatica delle interazioni
– verifica di proprieta` del protocollo
agenti eterogenei: non e` possibile fare assunzioni sulla struttura interna degli agenti, ma e` possibile osservare il comportamento sociale degli agenti (interazioni)
Gli agenti e la societa` hanno conoscenza incompleta dell'ambiente in cui operano.
Applicazione di forme di ragionamento abduttivo per modellare sia le interazioni tra agenti logici, che il comportamento del singolo agente.
Definizione di un linguaggio di programmazione logica (opportunamento esteso) per descrivere le societa`
Definizione di procedure di dimostrazione come supporto operazionale:
– verifica automatica delle interazioni
– verifica di proprieta` del protocollo
![Page 5: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/5.jpg)
Verifica delle interazioni Verifica delle interazioni Verifica delle interazioni Verifica delle interazioni
Protocolli?
Agenti
SocialBehaviour
Infrastruttura Sociale
Fulfillment
Violation
Reasoning and verification
module
Protocols
![Page 6: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/6.jpg)
Modello della Societa`:Modello della Societa`:<<SOKB, SEKBSOKB, SEKB, , ICICss, , GoalsGoals>>
Modello della Societa`:Modello della Societa`:<<SOKB, SEKBSOKB, SEKB, , ICICss, , GoalsGoals>>
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 ] )
ICs: descrizione dei protocolli mediante vincoli sociali di integrita` SOKB: conoscenza statica associata alla societa` (roles and rules)
– LP clauses with expectations Goals: la societa` puo` essere goal-directed (LP Goals)
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 ] )
ICs: descrizione dei protocolli mediante vincoli sociali di integrita` SOKB: conoscenza statica associata alla societa` (roles and rules)
– LP clauses with expectations Goals: la societa` puo` essere goal-directed (LP Goals)
![Page 7: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/7.jpg)
Eventi e AspettativeEventi e AspettativeEventi e AspettativeEventi e Aspettative
ICs formalizzano i protocolli in termini di:
– Eventi accaduti (H(..))
– Aspettative relative al comportamento degli agenti al fine di seguire I protocolli (E(..), EN(..))
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
![Page 8: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/8.jpg)
Social infrastructureSocial infrastructureSocial infrastructureSocial infrastructure
Eventi
Fulfillment
Violation
Reasoning VerifyCompliance
YES
NO
Aspettative
(1)verifica on-the fly della conformita` ai protocolli
(1)verifica on-the fly della conformita` ai protocolli
![Page 9: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/9.jpg)
Social Integrity Constraints Social Integrity Constraints (ICs)(ICs)
Social Integrity Constraints Social Integrity Constraints (ICs)(ICs)
permettono la descrizione dei protocolli mediante una sintassi logica basata su regole forward, che possono contenere vincoli CLP sulle variabili.
Esempio: negoziazione di beniSe 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
permettono la descrizione dei protocolli mediante una sintassi logica basata su regole forward, che possono contenere vincoli CLP sulle variabili.
Esempio: negoziazione di beniSe 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
![Page 10: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/10.jpg)
Example (fulfillment)Example (fulfillment)Example (fulfillment)Example (fulfillment)
H(tell(yves,thomas,offer(scooter,10$),1) H(tell(yves,thomas,offer(scooter,10$),1)
thomasthomasyvesyves
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) H(tell(thomas,yves,accept(scooter,10$),5)
fulfillment!fulfillment!
![Page 11: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/11.jpg)
Esempio di violazioneEsempio di violazioneEsempio di violazioneEsempio di violazione
H(tell(yves,thomas,offer(scooter,10$),1) H(tell(yves,thomas,offer(scooter,10$),1)
thomasthomasyvesyves
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,accept(scooter,10$),5)
H(tell(thomas,yves,refuse(scooter,10$),8) H(tell(thomas,yves,refuse(scooter,10$),8)
violazione!violazione!
![Page 12: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/12.jpg)
Istanza di Societa` = Abductive Logic Istanza di Societa` = Abductive Logic ProgramProgram
Istanza di Societa` = Abductive Logic Istanza di Societa` = Abductive Logic ProgramProgram
L'istanza di una Societa` (SHAP) e` modellata mediante un programma logico abduttivo <P,Ab,IC>:– P = SOKB HAP– Ab = {E, EN, ¬ E, ¬ EN}– IC = ICS
Consistenza:– ICS-Consistency– E-Consistency– ¬-Consistency– Fulfillment
L'istanza di una Societa` (SHAP) e` modellata mediante un programma logico abduttivo <P,Ab,IC>:– P = SOKB HAP– Ab = {E, EN, ¬ E, ¬ EN}– IC = ICS
Consistenza:– ICS-Consistency– E-Consistency– ¬-Consistency– Fulfillment
![Page 13: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/13.jpg)
Def: Consistenza, fulfillment e Def: Consistenza, fulfillment e violazioneviolazione
Def: Consistenza, fulfillment e Def: Consistenza, fulfillment e violazioneviolazione
Data una societa` ed un set HAP di eventi:
1. un insieme EXP di aspettative e` ICs-consistent iffSOKB HAP EXP ⊨ ICs
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 (ICs,E,¬) consistent e` fulfilled iffHAP 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` ICs-consistent iffSOKB HAP EXP ⊨ ICs
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 (ICs,E,¬) consistent e` fulfilled iffHAP EXP {E(p) → H(p)} {EN(p) → H(p)} ╞
5. se non esiste un insieme di aspettative fulfilled, HAP produce una violazione nella societa`.
![Page 14: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/14.jpg)
Society Constraint Proof Procedure Society Constraint Proof Procedure (wrt IFF)(wrt IFF)
Society Constraint Proof Procedure Society Constraint Proof Procedure (wrt IFF)(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): Meccanismo incrementale: accetta nuovi eventi man mano che accadono Genera le aspettative E, not E, EN, not EN in base al comportamento osservato
degli agenti e agli ICs. Verifica la corrispondenza tra gli eventi accaduti e le aspettative (fulfillment) Identifica situazioni di violazione e/o inconsistenza Vincoli CLP 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): Meccanismo incrementale: accetta nuovi eventi man mano che accadono Genera le aspettative E, not E, EN, not EN in base al comportamento osservato
degli agenti e agli ICs. Verifica la corrispondenza tra gli eventi accaduti e le aspettative (fulfillment) Identifica situazioni di violazione e/o inconsistenza Vincoli CLP Gli atomi abdotti possono avere variabili quantificate esistenzialmente e
universalmente
![Page 15: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/15.jpg)
Implementazione dell'infrastruttura sociale: Implementazione dell'infrastruttura sociale:
SOCS-SISOCS-SIImplementazione dell'infrastruttura sociale: Implementazione dell'infrastruttura sociale:
SOCS-SISOCS-SI Implementa la SCIFF proof procedure Interfaccia utente Gestione/visualizzazione della societa`: membri,
protocolli, history, aspettative Monitor degli eventi sociali verifica di conformita`
Implementa la SCIFF proof procedure Interfaccia utente Gestione/visualizzazione della societa`: membri,
protocolli, history, aspettative Monitor degli eventi sociali verifica di conformita`
Medium Layer File System Prompt >
User DefinedProtocols
Society Infrastructure
Society ModuleSociet
yGUI
Module
User
![Page 16: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/16.jpg)
Un caso applicativo: Un caso applicativo: specifica e verifica di linee guida in specifica e verifica di linee guida in
campo medicocampo medico
Un caso applicativo: Un caso applicativo: specifica e verifica di linee guida in specifica e verifica di linee guida in
campo medicocampo medico 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.
Distribuzione e Complessita`: molti attori, eterogeneita`, concorrenza, necessita` di sincronizzazione
Importanza di specifica e verifica 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
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.
Distribuzione e Complessita`: molti attori, eterogeneita`, concorrenza, necessita` di sincronizzazione
Importanza di specifica e verifica 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
![Page 17: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/17.jpg)
GOSPELGOSPELGOSPELGOSPEL
Guideline prOcess SPEcification Language Linguaggio grafico, basato sul paradigma dei flow-chart,
per– Specificare un processo
– Verificare se i partecipanti si comportano secondo specifica
La verifica è possibile grazie alla traduzione di un diagramma GOSPEL in un insieme di vincoli sociali di integrità
Guideline prOcess SPEcification Language Linguaggio grafico, basato sul paradigma dei flow-chart,
per– Specificare un processo
– Verificare se i partecipanti si comportano secondo specifica
La verifica è possibile grazie alla traduzione di un diagramma GOSPEL in un insieme di vincoli sociali di integrità
![Page 18: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/18.jpg)
Livello epistemologicoLivello epistemologicoLivello epistemologicoLivello epistemologico
Graficamente, GOSPEL permette di esprimere i concetti fondamentali per la modellazione di un processo
Elementi:– Attività atomiche e complesse– Punti di decisione– Sezioni di concorrenza
Relazioni binarie fra elementi:– D’ordine (eventualmente associate a guardie logiche)– Temporali (vincoli sulle attività)
Graficamente, GOSPEL permette di esprimere i concetti fondamentali per la modellazione di un processo
Elementi:– Attività atomiche e complesse– Punti di decisione– Sezioni di concorrenza
Relazioni binarie fra elementi:– D’ordine (eventualmente associate a guardie logiche)– Temporali (vincoli sulle attività)
![Page 19: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/19.jpg)
Attività complesseAttività complesseAttività complesseAttività complesse
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
I macroblocchi dicono anche quali sono le modalità di esecuzione del sottoprocesso
– Azione complessaesecuzione lineare– Iterationesecuzione ciclica tipo for– Whileesecuzione ciclica tipo do…while
GOSPEL pone particolare attenzione alla riusabilità dei macroblocchi
– I processi modellati possono essere riutilizzati per costruirne di nuovi
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
I macroblocchi dicono anche quali sono le modalità di esecuzione del sottoprocesso
– Azione complessaesecuzione lineare– Iterationesecuzione ciclica tipo for– Whileesecuzione ciclica tipo do…while
GOSPEL pone particolare attenzione alla riusabilità dei macroblocchi
– I processi modellati possono essere riutilizzati per costruirne di nuovi
![Page 20: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/20.jpg)
Livello ontologicoLivello ontologicoLivello ontologicoLivello ontologico
Tramite un’ontologia di dominio specifichiamo l’interpretazione di un diagramma GOSPEL nel dominio di interesse
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
Due grandi tassonomie: attività e entità (partecipanti)
Tramite un’ontologia di dominio specifichiamo l’interpretazione di un diagramma GOSPEL nel dominio di interesse
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
Due grandi tassonomie: attività e entità (partecipanti)
![Page 21: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/21.jpg)
Un esempioUn esempioUn esempioUn esempio
il medico misura la temperatura del
paziente
il paziente va trattenuto
il paziente va rilasciato
un’infermieraregistra il valore
un’infermiera somministra
paracetamolo
STOPSTOP
se la temperatura è superiore a 38 gradi
altrimenti
il medico decideche...
Action
misura_temp
Entity
Temperatura
PazienteMedico
![Page 22: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/22.jpg)
GOSPELGOSPEL
Integrity Constraints (ICs)Integrity Constraints (ICs)
procedura di traduzione
![Page 23: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/23.jpg)
Procedura di traduzioneProcedura di traduzioneProcedura di traduzioneProcedura di traduzione
visita il diagramma visita il diagramma individuando la individuando la
prossima finestraprossima finestra
estrai un estrai un elemento dalla elemento dalla
frontierafrontiera
metti lo start del metti lo start del processo nella processo nella
frontierafrontiera
genera le genera le regole per regole per la finestrala finestra
aggiorna la aggiorna la frontierafrontiera
![Page 24: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/24.jpg)
FinestreFinestreFinestreFinestre
blocco di start evento di start
blocco di azione evento “ontologico”
blocco di end evento di end
![Page 25: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/25.jpg)
Traduzione di una finestraTraduzione di una finestraTraduzione di una finestraTraduzione di una finestra
H(e1)H(e1)
E(e2)E(e2)
E(e3)E(e3) E(e4)E(e4)
E(e5)E(e5) E(e6)E(e6)
/\/\
\/\/
\/\/
H(e1)H(e1)--->--->E(e2)E(e2)\/E(e3)\/E(e3)\/E(e4)\/E(e4)\/E(e5)/\E(e6)\/E(e5)/\E(e6)
![Page 26: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/26.jpg)
Un esempioUn esempioUn esempioUn esempio
T38
T<38H(misura_temp(Med,Paz,T))H(misura_temp(Med,Paz,T))/\T<38/\T<38--->--->E(trattieni(Med,Paz))E(trattieni(Med,Paz))\/ E(rilascia(Med,Paz))\/ E(rilascia(Med,Paz))
H(misura_temp(Med,Paz,T))H(misura_temp(Med,Paz,T))/\T>=38/\T>=38--->--->E(somministra(Inf,Paz,paracetamolo))E(somministra(Inf,Paz,paracetamolo))/\ E(registra(Inf2,Paz,T))./\ E(registra(Inf2,Paz,T)).
![Page 27: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/27.jpg)
Work in progressWork in progressWork in progressWork in progress
Lato specifica: editor (in via di sviluppo)– Progettazione grafica– Controlli di consistenza– Integrazione con Protégé per le ontologie
Lato verifica:– Verifica statica di proprietà (esiste una history conforme al
modello?)– Verifica di conformità in tempo reale
• Traduzione• Esecuzione…
Lato specifica: editor (in via di sviluppo)– Progettazione grafica– Controlli di consistenza– Integrazione con Protégé per le ontologie
Lato verifica:– Verifica statica di proprietà (esiste una history conforme al
modello?)– Verifica di conformità in tempo reale
• Traduzione• Esecuzione…
![Page 28: Specifica e verifica di protocolli nel progetto Massive Marco Alberti, Fedrico Chesani, Anna Ciampolini, Paola Mello, Marco Montali, Sergio Storari, Paolo](https://reader036.vdocuments.pub/reader036/viewer/2022062701/5542eb6a497959361e8d6c7a/html5/thumbnails/28.jpg)
ComplianceVerificationlayer
IntegrazioneIntegrazioneIntegrazioneIntegrazione
triggerstriggers
GOSPEL model
configuration
translation
DatabaseLayer
LegacyApplications