Il Progetto ASTRO nella WS Composition: Analisi e Confronto con il Roman Approach Tesina per il corso di Seminari di Ingegneria del Software Anno 2006-07.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

Programmazione ad oggetti
Sistemi dinamici discreti e computabilità intrinseca
Macchine di Turing e ricorsività generale
Analisi e progettazione
Procedure e funzioni A. Ferrari.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Linguaggi Regolari e Linguaggi Liberi
Linguaggi di programmazione
Specifiche Algebriche
Web Services.
Type Checking (1° parte)
Metodologie di Programmazione = decomposizione basata su astrazioni
Università degli Studi di Modena e Reggio Emilia
Generazione di Piani attraverso Grafi di Pianificazione
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Metodologie di progettazione di e-service come sistemi di supporto alle transazioni Chiara Francalanci 1 giugno 2004.
Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Ambiente di Invocazione Dinamica dei Servizi Enrico Mussi - WP2.
TEORIA RAPPRESENTAZIONALE DELLA MISURA
Argomenti Avanzati di Sistemi Informativi Approfondimento su Workflow e Web Services: "Gestione delle eccezioni: confronto tra soluzioni per applicazioni.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Testing e Debugging.
Algoritmi e Strutture Dati (Mod. A)
Modelli simulativi per le Scienze Cognitive
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Scheduling in GrADS Il progetto GrADS (Grid Application Development Software) ha lo scopo di semplificare lo sviluppo di unapplicazione Grid. Tra le funzionalità
Sistemi Operativi GESTIONE DEI PROCESSI.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Introduzione alla modellazione di sistemi interattivi
Elementi di Informatica
Sistemi a Regole Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.
Candidato : Giuseppe Circhetta Relatori :
Elementi di Informatica Simone Scalabrin a.a. 2008/2009.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
L’ingegneria del software
MODEL-DRIVEN DEVELOPMENT DI APPLICAZIONI WEB
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti dispense prof. G. Levi.
Verifying Web Service Composition
Composizione automatica di servizi: lapproccio ASTRO Corso di Seminari di Ingegneria del software Proff. G. De Giacomo, M. Mecella, R. Rosati Autore Piacentini.
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
1 How to generate testing models into MDA approach to software development. A beginner’s point of view. Università degli Studi dell’Aquila Facoltà di Scienze.
Lo SNAP Agreement Protocol Il nucleo dell’architettura di gestione delle risorse è rappresentato da un’interazione tipo client-server utilizzata per negoziare.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Analisi dettagliata e design
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Giuseppe Gramazio e Massimo Legnani Framework integrato per il delivery di applicazioni context aware, multimodali e accessibili – SAF (Situation aware.
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Specifiche. Scopo e significato delle specifiche (1) Lo scopo di una specifica è di definire il comportamento di un ’ astrazione. Gli utenti si baseranno.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Composizione di servizi via TLV Il progetto ha come obiettivo primario la composizione automatica dei web services basandosi sulla tecnica Simulation sperimentando.
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Automi temporizzati.
Informatica e Informatica di Base
DIT Department of Information and Communication Technology Information System Ingegneria del Software: un caso di studio.
Eprogram informatica V anno.
Le basi di dati.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
Università degli studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria Elettronica Gruppo di Elettromagnetismo Metodo di Progettazione Automatica.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Il Progetto ASTRO nella WS Composition: Analisi e Confronto con il Roman Approach Tesina per il corso di Seminari di Ingegneria del Software Anno Docenti: proff. G.DeGiacomo, M.Mecella, R.Rosati Autore: Alessandro Pagliaro

Overview della Relazione Introduzione al problema della WS Composition Analisi dell'Approccio ASTRO Richiami sul Roman Approach Analisi di Confronto tra le due metodologie Esame del Toolset sviluppato dal Progetto ASTRO

Il Problema della WS Composition Allettanti possibilità offerte dai Composite Services Necessità di alta astrazione, focus sulla business logic Requisiti per affrontare il problema:  un linguaggio per la rappresentazione comportamentale dei Component e Target Services  una metodologia di composizione, fondata su solide basi teoriche  un ambiente di sviluppo che permetta esecuzione automatica di composizioni e deleghi al Mw le operazioni low-level  un composition engine per testing, monitoring, verification

WS Behavioral Representation Focus sul comportamento degli e-services in gioco Popolare descrizione usata in entrambi gli approcci in esame (sebbene con delle differenze): Transition System (FSM) Nodi come "stati stabili" dell'esecuzione; Archi come transizioni tra stati; Differenza tra external actions e internal actions (anche chiamate t -transitions)

Component and Composite Services as TSs search_by_title listen search_by_author listen search_by_title listen search_by_author = initial state= final state

The General WS Composition Workflow Component Services' behavioral Descriptions Requirements of Clients for Target Composite Service Abstraction Module Synthesis Engine Transition System Representation of Components and Requirements Building Module Abstract repres. of Composition Schema as a TS Concrete Composite Service Specification

L'Approccio ASTRO

Obiettivi dell'Effort ASTRO Fornire un framework per automatic service composition Fornire dei tools per implementare il framework, grande enfasi sulla traduzione nel concreto Fornire la possibilità di gestire l'intero lifecycle Automatizzare tasks noiosi ed error-prone Efficienza, ease-of-use, standards affermati

Macro-Aree del Project Modellazione di Business Requirements Automatic Service Synthesis Offline Service Verification Online Service Monitoring Semantics Support (still WIP)

Requirements in ASTRO Essenzialmente due generi di requirements:  Component e Target Services come Abstract BPEL Proc.  Business Requirement Goals come EAGLE Formula Presupposti dell'Approccio:  Ambiente ASINCRONO  Osservabilità PARZIALE dei servizi  EXTENDED Business Goals La rappresentazione comportamentale dei servizi è basata su STSs che distinguono azioni di input, di output ed interne, ad associano ad ogni stato un insieme di proprietà soddisfatte.

The Purchase and Ship Example Scenario Purchase & Ship W User W 3 Producer W 1 Shipper W 2 request(item, loc) offer(cost, delay) unavailable ack / nack info_reqst(item) info(size) request(item) offer(cost,delay) unavailable ack / nack request(size,loc) offer(cost,delay) unavailable ack / nack

Business Goals & EAGLE Distinzione tra "Main Goal" e "Recovery Goals"; NON un problema di reachability esprimibile in CTL; Presenza di condizioni di "forza" differente (Try vs Do); Presenza di situazioni "preferibili" (non modellabili con un semplice OR); Esempio: 1. Try to sell items at home; 2. Upon failure, not a single commit must be done

Traduzione in EAGLE dell'esempio TryReach user.pc = success && producer.pc = success && shipper.pc = success && user.offer_delay = add_delay(producer.offer_delay + shipper.offer_delay) && user.offer_cost = add_ cost (producer.offer_ cost + shipper.offer_ cost) Fail DoReach user.pc = failure && producer.pc = failure && shipper.pc = failure

The Astro Composition Workflow Component Services as abstract BPEL processes W 1... W n Composition Requirement R BPEL2STS S 1... S n STSs r EAGLE formula STS2DOM TRANSLATOR S || MBP Planning Domain D PLAN2STS Plan p STS2BPEL STS S C Concrete BPEL Proc W

Il Processo di Composizione In sintesi: innanzitutto vogliamo costruire un Planning Domain D a partire dal Parallel Product dei Component Services + il Target Service: una sorta di combinazione di tutte le esecuzioni concorrenti dei servizi in gioco. Dobbiamo passare al Belief-Level per ottenere Full Observability. Risolviamo un problema di planning via Symbolic Model Checking, cercando un piano p che soddisfi il goal r nel dominio D. Da tale piano sintetizziamo un deadlock-free controller STS che è il nostro Composite Service.

Step I - Parallel Product I Component Services e il Target Service vengono trasformati in STSs. Quindi viene calcolato il loro Prodotto Parallelo S || : Definizione: Parallel Product tra due STSs S1 e S2 Siano S 1 = e S 2 = due STSs tali che (I1 U O1) ∩ (I2 U O2) = insieme vuoto. Il Prodotto Parallelo S 1 || S 2 tra S 1 e S 2 è definito come: S 1 || S 2 = dove: appartiene a (R 1 || R 2 ) se appartiene a R 1 ; appartiene a (R 1 || R 2 ) se appartiene a R 2 ; e inoltre (L 1 || L 2 ) (s 1, s 2 ) = L 1 (s 1 ) U L 2 (s 2 ).

Step II - Controlled System Il nostro scopo è trovare un STS S C orchestratore per il Prodotto Parallelo, sotto certe condizioni. S C deve essere un CONTROLLER per S ||. Definizione: Controlled System Siano S = e S C = due STSs tali che la funzione di labeling di S C sia nulla per ogni stato s C, cioè L 0 (s C ) = insieme vuoto per ogni s C in S C. Il nuovo STS S C |> S descrive il comportamento di S controllato da S C, ed è definito come: S C |> S = R, L > dove: appartiene a (R C |> R) se appartiene a R C ; appartiene a (R C |> R) se appartiene a R; appartiene a (R C |> R), con a diverso da t, se appartiene a R C e inoltre appartiene a R;

Step III - Deadlock-free Controller Non tutti i controllers possibili soddisfano le nostre esigenze. Vorremmo che il sistema controllato possa sempre essere in grado di ricevere messaggi dal controller. Definizione: Deadlock-Free Controller w.r.t the controlled STS Siano S = e S C = due STSs tali S C è un controller per S. S C è detto "deadlock-free per S " se per ogni stato (s C, s) in S C x S raggiungibile dagli stati iniziali del Controlled System S C |> S, sono soddisfatte le seguenti proprietà: 1) se in R compare una transizione del tipo con 'a' azione di output, allora esiste uno stato s C ' appartenente alla t -closure(s C ) tale che in R C compaia la transizione per qualche s C '' appartenente a S C ; 2) se in R C compare una transizione del tipo con 'a' azione di input, allora esiste uno stato s' appartenente alla t -closure(s) tale che in R compaia la transizione per qualche s'' appartenente ad S;

Step IV - Belief State Per soddisfare il composition goal r, abbiamo bisogno di esplorare tutte le possibili esecuzioni del Sistema Controllato e le proprietà soddisfatte in tali esecuzioni. Non possiamo fare ciò sotto ipotesi di Partial Observability (il Controller non ha piena osservabilità sul Prodotto Parallelo Controllato). Ci portiamo quindi al Belief-Level, ovvero consideriamo sets di stati ugualmente plausibili date le nostre conoscenze, che evolvono tramite external transitions includendo nel nuovo Belief State stati raggiungibili tramite t -closure.

Belief Evolution Definizione: Belief Evolution Sia S un STS e B un Belief, con B sottoinsieme di S. Definiamo la Belief Evolution di B a causa dell'azione 'a' come un nuovo Belief B' = Evolve(B, a) etale che: Evolve(B, a) = { s' | exists s appartenente alla t-closure(B) con appartenente ad R } Le assunzioni di ambiente asincrono e t-transitions complicano il concetto di "proprietà soddisfatta da un Belief State". Diciamo che un Belief soddisfa una proprietà p se tutti i suoi stati la soddisfano oppure, se uno stato s non la soddisfa allora esiste uno stato s' appartenente alla t -closure(s) che la soddisfa.

Step V - Belief-Level System Ci prepariamo al planning considerando un STS che caratterizza il Controlled System e i cui stati sono Belief-States Definizione: Belief-Level System Sia S = un STS. Il corrispondente Belief-Level STS S B = è definito nel seguente modo: 1) S B è l'insieme di Beliefs di S raggiungibile dall'insieme di Beliefs iniziali S B 0 ; 2) S B 0 = { S 0 }; 3) se Evolve(B, a) = B', con B' diverso dall'insieme vuoto, per qualche azione a di input o ouput, allora appartiene a R B ; 4) L B (B) = { p appartenenti a Prop | B |= S p }.

The Astro Composition Problem Vantaggi dei Belief-Level System: Un unico initial state; FULLY Observable; Per ogni coppia esiste al massimo un B' tale che è in R B. Definizione: Astro Composition Problem Siano S 1,..., S n un insieme di STSs, e r un composition requirement. Il problema di composizione per S 1,..., S n e r è il problema di trovare un Controller S C che è deadlock-free e tale che S B |= r, dove S B è il Belief- Level System dell'STS S C |> ( S 1 ||...|| S n ).

Planning Preparations: the Domain Per applicare algoritmi di planning e risolvere il problema via Symbolic Model Checking, costruiamo un Dominio D. Tale dominio è un altro STS costruito a partire dal Belief-Level System del Parallel Product dei servizi coinvolti; uno stato del dominio D è formato da una coppia ; un carattere speciale * è usato per caratterizzare output-action transitions e casi in cui non c'è stato output nell'ultima transizione.

Domains, Goals and Plans Vogliamo trovare un piano p per il dominio D che soddisfi un goal g. p è una tupla, un insieme di contesti di esecuzione e funzioni di evoluzione per azioni e contesti; eseguire p su D significa considerare le possibili evoluzioni di configurazioni, coppie. Siamo interessati a piani eseguibili, da cui possiamo ricavare un STS S p deadlock-free in modo che il sistema controllato S p |> S || soddisfi il goal g.

A Solution through Planning Lemma: Controller/Plan Executability Sia S un deadlock-free STS, S B il suo Belief-Level System e D il corrispondente planning domain. Sia inoltre p un piano per D, e S p l'STS corrispondente a p. Si ha che se p è eseguibile su D, allora S p è eseguibile su S. Lemma: Controller/Plan Equivalence Sia S un deadlock-free STS, S B il suo Belief-Level System e D il corrispondente planning domain. Sia inoltre p un piano per D, e S p l'STS corrispondente a p. Si ha che se p è soluzione su D per il goal g, allora è vero che ( S p |> S ) |= g. Inoltre, se esiste un STS S C tale che ( S C |> S ) |= g, allora esiste un piano p che è soluzione per il goal g su D.

Richiami sul Roman Model

Roman Model basics Services' "exported behaviors"; The Community as a "common understanding of a shared set of actions"; TSs as tuples Possibilità di "delegare" parte delle proprie azioni ad altri membri; Full Observability dal parte dell'orchestrator tramite runtime querying; Deterministic Target Service assembled via "building blocks"; Problem Reduction to DPDL SAT, use of small model property to solve the problem in EXPTIME.

An Example of Roman Model Community S 10 S 11 S 20 S1S1 S2S2 search display return display The Community S 00 S 01 S0S0 search display The Target Service S P0 P S P1 S P2 search, 1 display, 1 search, 1 display, 2 The Composition (S 10,S 20 ) (S 11,S 20 )

The Roman Model Composition Workflow Community Abstraction Module tgt service wsdl + behav components wsdl + behav Synth Engine (DPDL SAT + FSM Minimizer) FSMs Realization Module Composition FSM BPEL Specification for the Orchestrator

Confronto tra i due Approcci

Comparisons I Il Problema di Composizione Entrambi gli approcci hanno un taglio riconducibile all'approccio Client-Tailored, in quanto subordinano la costruzione del Composite Service ad un target service specificato dall'utente. L'atteggiamento "teoria vs pratica" delle due metodologie sembra essere alquanto differente: le solide basi teoriche e gli obiettivi ambiziosi del Roman Model da un lato, la dichiarata massima attenzione all'obiettivo di fornire un tool concreto del Progetto Astro dall'altro.

Comparisons II Componenti, Requisiti, Architettura di Fondo Modellazione per entrambi dei servizi via TSs, seppur con diversi "flavours". Senza dubbio la differenza più evidente è la presenza della struttura Community nel Roman Model, con tutti i benefici e le assunzioni che essa comporta, mentre in Astro non si hanno ipotesi di architetture pre-esistenti. Conseguenze: full vs partial observability, benefici indotti dall'architettura da bilanciare con gli oneri che essa comporta, alfabeti di composizione del tgt service leggermente differenti tra loro ("building bricks" vs "composite interface" approaches).

Comparisons III Astrazione e Sintesi Astro Abstraction: internal/external transitions, state properties Roman Abstaction: Community actions, possible final states Synthesis: DPDL SAT vs Planning via Model Checking Risultato Finale della Composizione Ci sono delle differenze: Astro vuole fornire un processo eseguibile che concilii l'esecuzione dei Component Services, un nuovo servizio, definito dall'utente ma "statico". Il Roman approach porta all'estremo l'atteggiamento Client- tailored avendo come scopo la costruzione di un internal schema per l'orchestrator, per usare differenti fragments di servizi secondo il "whim" dell'utente a runtime.

Our Approaches in the "WS Composition 3D Space" Statics in the System Dynamics in Component Services Dynamics in Client Target Request ASTRO ROMAN MODEL

L'Astro Suite toolset v3.4

A cooperative collection of modules Java and Eclipse environment; Tomcat application server; ActiveBPEL Engine; ASTRO wsToolset:  wsTranslator  synTools  NuSMV  wsMonitor  wsRequirements Eclipse plugin  wsChainManager Eclipse plugin  wsAnimator Eclipse plugin, wsUseCases

Synthesis Procedure Component Services e Target Service sono espressi come Abstract BPEL Processes + WSDL files. Un Wizard permette la creazione di un file XML "di coreografia" (.chor extension) che racchiude l'intero problema (component, target, requirements, properties to be monitored and verified) ed è ispezionabile ed editable. Una serie di chiamate ai vari software modules componenti il toolset permette la realizzazione pratica dell'approccio teorico discusso in precedenza. Il concrete BPEL Process ottenuto è automaticamente deployed su BPEL Engine, e può essere monitorato e testato.

Verification and Monitoring Per Verification si intende una procedura offline che a partire dal file.chor controlla determinate proprietà (sulla scia dell'uso di Metodi Formali nell'Ingegneria del Software) e fa rapporto all'utente, anche fornendo controesempi stile UML Sequence Diagram. Il Monitoring è una procedura online in cui viene eseguito del Java code generato automaticamente a partire dal file.chor per monitorare il running process del composite service e fornire reports su situazioni di interesse all'utente.

Composition Requirements

ChainManager

Deployed Process

Offline Verification

Verification Instance Found

Grazie per l'attenzione