Verifying Web Service Composition Claudio Pedica Verification of Web Services Composotions Laurea Magistrale in Informatica - Seminario di Reti degli Elaboratori II Università di Camerino Claudio Pedica. Laurea Magistrale in Informatica Seminario di Reti degli Elaboratori II
Sommario Problema della verifica di composizioni Necessità di una verifica formale Introduzione all’approccio Model Checking Osservazioni conclusive
Composizioni di Servizi Comporre servizi è l’attività principale nella progettazione di una SOA Soluzione B2B Orchestrazioni Coreografie Di grande interesse per il mercato dell’IT
Problema La composizione è specificata da un workflow che modella il processo di business (es. BPEL, CDL) Svolgere le attività del workflow significa eseguire elaborazioni intrinsecamente distribuite (conversazioni) Il numero degli stati del workflow cresce molto rapidamente (provider concorrenti) Alta probabilità che il workflow generi dipendenze ed errori
Rischio Vengono sprecate una quantità enorme di risorse pubbliche Gli errori possono essere gestiti e trattati in run-time ma questo comporta: Il roll-back di tutte le transazioni non terminate Occupazione di risorse di rete Vengono sprecate una quantità enorme di risorse pubbliche NB Diminuiscono le performance dell’architettura NB
Verifica Formale E’ assolutamente necessario utilizzare una tecnica formale di verifica delle composizioni di servizi
Nella pratica è il metodo di verifica formale più conveniente Model Checking Efficace: più che sufficiente per dimostrare raggiungibilità, assenza di dead-lock e progress properties specifiche Efficiente: si integra bene nei processi agili ed è una tecnica matura (ottimi checker) Nella pratica è il metodo di verifica formale più conveniente
Nakajima (2002) Oggi BPEL o CDL Linguaggio di specifica di SPIN La semantica operazionale deve restare inalterata. Diversi papers mostrano come tradurre workflow BPEL o CDL in Promela Oggi BPEL o CDL Progress property specifiche dell’applicazione Linguaggio di specifica di SPIN
Traduzione Bisogna automatizzare la traduzione evitando perdite di semantica Il problema è decisamente non banale Architettura di VSAT: tool di analisi formale di workflow BPEL
Bogor Model Checker Bogor è più efficiente di SPIN produce modelli più compatti (meno stati) Permette la descrizione di tutti i costrutti BPEL linguaggio di specifica BIR (basso e alto livello) La traduzione più semplice Estendibile ad altri linguaggi di workflow Si può integrare in Eclipse come tool Verrà sperimentato dalla comunità di sviluppatori
Osservazioni Molti sforzi della comunità scientifica attualmente sono rivolti al model checking delle composizioni Qualsiasi nuova soluzione va proposta velocemente
Altre osservazioni Applicabile Poco Costoso L’attività di ricerca deve essere sperimentale Applicabile Poco Costoso L’obiettivo è rendere il model checking
All’orizzonte Automatizzare il processo di composizione (es. Progetto Astro) Le tecniche di Model Checking sono utili in fase di design Monitoraggio: Model Checking a run-time Si entra nel mondo dei Semantic WS e dell’AI planning