Introduzione Il presente progetto ha come scopo la

  • Slides: 31
Download presentation
Introduzione § Il presente progetto ha come scopo la sperimentazione della composizione automatica di

Introduzione § Il presente progetto ha come scopo la sperimentazione della composizione automatica di web services (WS) per mezzo della tecnica di Simulazione, tramite l’uso del tool TLV.

Composizione via Simulazione: il Problema § n TS sorgenti non deterministici costituenti la comunità.

Composizione via Simulazione: il Problema § n TS sorgenti non deterministici costituenti la comunità. § Avere una composizione dei servizi di comunità, per un TS target t deterministico, significa disporre di un programma che ne “realizzi” il comportamento coordinando i servizi di comunità in modo opportuno: ogni azione computata sul target t sarà automaticamente “delegata” ad uno dei TS di comunità.

Composizione via Simulazione: Tool TLV § L’uso di TLV ci permette di computare l’OG,

Composizione via Simulazione: Tool TLV § L’uso di TLV ci permette di computare l’OG, qualora esista, a partire dalle sole codifiche smv dei TS sorgenti e target

Scenario Applicativo § Nell’ambito di una università, vengono esposti WS per servizi di e-learning

Scenario Applicativo § Nell’ambito di una università, vengono esposti WS per servizi di e-learning per ogni Corso di Laurea limitatamente alla facoltà di Ingegneria § Dal punto di vista didattico, il contesto elearning prevede un’informativa suddivisa in due settori: le video-lezioni e il classico materiale didattico (dispense).

Funzionalità § In un tale scenario ogni WS potrebbe esporre funzionalità di ricerca e

Funzionalità § In un tale scenario ogni WS potrebbe esporre funzionalità di ricerca e fruizione di video e dispense particolari per il singolo corso di laurea, oltre che ricerca di informazioni di carattere generale sull’intera facoltà, quali prenotazioni di esami, prenotazioni in biblioteca e laboratorio, ricerca di stage, login, prenotazioni ricevimento professori, informazioni sulla segreteria amministrativa etc.

Available Services § I TS sorgenti previsti sono – nel nostro caso – i

Available Services § I TS sorgenti previsti sono – nel nostro caso – i seguenti sette: 1. 2. 3. 4. 5. 6. 7. Informatica , “S 1” Elettronica, “S 2” Gestionale, “S 3” Log-in, “S 4” Edile, “S 5” Chimica, “S 6” Elettrica, “S 8”

Sottosistemi comuni a tutte le sorgenti (1/2) § Sottosistema prenotazione esami / ricevimento Professori

Sottosistemi comuni a tutte le sorgenti (1/2) § Sottosistema prenotazione esami / ricevimento Professori NX_7_2 NX_1 NX_7_4 list. Courses list. Exams list. Degree Courses NX_7_3 NX_7_5 list. Teacher reserve. Appointment reserve. Exam

Sottosistemi comuni a tutte le sorgenti (2/2) § Sottosistemi richiesta informazioni segreteria amministrativa, gestione

Sottosistemi comuni a tutte le sorgenti (2/2) § Sottosistemi richiesta informazioni segreteria amministrativa, gestione profilo utente e richiesta informazioni biblioteche: info. Adm. Secr overwrite. Data info. Library list. Libraries info. Login

TS Login – S 4 Reg-KO N 4_3 N 4_1 reg Login-KO login logout

TS Login – S 4 Reg-KO N 4_3 N 4_1 reg Login-KO login logout N 4_2

TS TARGET “T 1” Sottosistema T 1_5 (8/10) NT 1_21 info. Libraries list. Libraries

TS TARGET “T 1” Sottosistema T 1_5 (8/10) NT 1_21 info. Libraries list. Libraries NT 1_1 info. Login NT 1_22 info. Adm. Secr overwrite. Data

TS TARGET “T 1” Sottosistema T 1_5 – (1/2) NOME FILE: T 1_5. smv

TS TARGET “T 1” Sottosistema T 1_5 – (1/2) NOME FILE: T 1_5. smv RISULTATO ATTESO: composizione esistente RISULTATO OTTENUTO: composizione esistente NUM. STATI OG: NUM. TRANSIZIONI OG: TEMPO CPU: Bat_T 1_5 31 354 0. 1 sec

TS TARGET “T 1” Sottosistema T 1_5 – (2/2) § L’alto numero di transizioni

TS TARGET “T 1” Sottosistema T 1_5 – (2/2) § L’alto numero di transizioni in uscita dagli stati mostrati è dovuto all’alto grado di non determinismo angelico delle azioni info. Login, list. Libraries, info. Adm. Secr

TS Elettronica – S 2 watch. Lesson_2 search. Video. By. Program_2 S 7 N

TS Elettronica – S 2 watch. Lesson_2 search. Video. By. Program_2 S 7 N 2_1 watch. Lesson_2 N 2_2 search. Video. By. Program_2 search. Paper. By. Program_2 read. Paper_2 N 2_3 search. Paper. By. Program_2

Pattern per la simulabilità del Target (1/2) watch. Lesson_2 search. Paper. By. Program_2 …

Pattern per la simulabilità del Target (1/2) watch. Lesson_2 search. Paper. By. Program_2 … … search. Video By. Program_2 … § il primo, il secondo e lo stato che segue l’azione “search. Video. By. Program_2” sono opzionalmente finali § lo stato che segue l’azione “search. Paper. By. Program_2” è obbligatoriamente non finale § una volta eseguita l’azione “watch. Lesson_2”, limitatamente alle azioni di esclusiva competenza di S 2, il target può invocare esclusivamente quelle mostrate rispettandone l’ordine, o in alternativa fermarsi in uno stato opzionalmente finale.

TS TARGET “T 2 a” (1/3) § Progettato per la consultazione a cascata di

TS TARGET “T 2 a” (1/3) § Progettato per la consultazione a cascata di tutte le informazioni di interesse relative ai soli corsi di laurea di informatica ed elettronica. § Non si lascia totale flessibilità di consultazione all’utente in quanto lo scopo di T 2 a è quello di guidarlo in una analisi comparativa delle offerte formative secondo un ordine prefissato di esplorazione di corsi di laurea.

TS TARGET “T 2 a” (2/3) Reg-KO NT 2 a_L_1 logout Login-KO NT 2

TS TARGET “T 2 a” (2/3) Reg-KO NT 2 a_L_1 logout Login-KO NT 2 a_L_2 reg Login-KO login search. Papers read. Papers_1 By. Program_1 search. Video watch. Lesson_1 By. Program_1 NT 2 a_5 NT 2 a_4 NT 2 a_2 search. Papers By. Program_1 NT 2 a_1 search. Video NT 2 a_3 By. Program_1 search. Video search. Papers search. Paper. By. Pro gram_2 By. Program_1 logout search. Paper. By. Pro gram_2 NT 2 a_9 watch. Lesson_2 search. Paper. By. Pro gram_2 NT 2 a_6 NT 2 a_8 search. Video. By. Pro gram_2 read. Paper_2 search. Video. By. Pro gram_2 NT 2 a_7

TS TARGET “T 2_a” – (1/3) NOME FILE: T 2_a. smv RISULTATO ATTESO: composizione

TS TARGET “T 2_a” – (1/3) NOME FILE: T 2_a. smv RISULTATO ATTESO: composizione esistente RISULTATO OTTENUTO: composizione esistente NUM. STATI OG: NUM. TRANSIZIONI OG: TEMPO CPU: Bat_T 2_a 43 106 0. 12 sec

TS TARGET “T 2_a” - (2/3) § Il target T 2_a esercita il non

TS TARGET “T 2_a” - (2/3) § Il target T 2_a esercita il non determinismo dell’azione “watch. Lesson_2” di S 2. L’O. G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: 22 Action = SVP_2 T 2_a. loc = 8 S 2. loc = 0 S 4. loc = 1 Action = logout T 2_a. loc = 8 S 2. loc = 0 S 4. loc = 0 24 Action = logout T 2_a. loc = 8 S 2. loc = 1 S 4. loc = 0 25 Action = WL_2 T 2_a. loc = 7 S 2. loc = 1 S 4. loc = 1 21 Action = SVP_2 T 2_a. loc = 8 S 2. loc = 1 S 4. loc = 1 23

TS TARGET “T 2_a” - (3/3) § Per meglio evidenziare l’invocazione dell’azione non deterministica,

TS TARGET “T 2_a” - (3/3) § Per meglio evidenziare l’invocazione dell’azione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: Action = SVP_2 T 2_a. loc = 7 S 2. loc = 1 S 4. loc = 1 Action = WL_2 T 2_a. loc = 8 S 2. loc = 0 S 4. loc = 1 Action = WL_2 Action = SVP_2 T 2_a. loc = 8 S 2. loc = 1 S 4. loc = 1

TS TARGET “T 2 b” (1/2) Reg-KO NT 2 b_L_1 logout Login-KO NT 2

TS TARGET “T 2 b” (1/2) Reg-KO NT 2 b_L_1 logout Login-KO NT 2 b_L_2 reg Login-KO login search. Papers read. Papers_1 By. Program_1 search. Video watch. Lesson_1 By. Program_1 NT 2 b_5 NT 2 b_4 NT 2 b_2 search. Papers NT 2 b_1 By. Program_1 search. Video search. Papers logout search. Video NT 2 b_3 search. Paper. By. Pro gram_2 By. Program_1 watch. Lesson_2 Non prevista dal pattern! search. Paper. By. Pro gram_2 NT 2 b_9 watch. Lesson_2 search. Paper. By. Pro gram_2 NT 2 b_6 NT 2 b_8 search. Video. By. Pro gram_2 read. Paper_2 search. Video. By. Pro gram_2 NT 2 b_7

TS TARGET “T 2_b” NOME FILE: RISULTATO ATTESO: Composizione non esistente RISULTATO OTTENUTO: Composizione

TS TARGET “T 2_b” NOME FILE: RISULTATO ATTESO: Composizione non esistente RISULTATO OTTENUTO: Composizione non esistente NUM. STATI OG: - NUM. TRANSIZIONI OG: - TEMPO CPU: § T 2_b. smv 0. 12 sec La rottura del pattern previsto per S 2 fa si che TLV restituisca Specification is unrealizable. Bat_T 2_b

TS Gestionale – S 3 list. PC N 3_6 N 3_5 reserve. PC read.

TS Gestionale – S 3 list. PC N 3_6 N 3_5 reserve. PC read. Paper_3 search. Papers. By. Program_3 list. Laboratories search. Papers. By. Program_3 list. All. Users search. Papers. By. Author_3 N 3_2 search. Papers. By. Author_3 N 3_1 S 7 search. Papers. By. Course. Year_3

TS Elettrica – S 8 watch. Lesson_8 N 8_5 search. Course_8 search. Video. By.

TS Elettrica – S 8 watch. Lesson_8 N 8_5 search. Course_8 search. Video. By. Lesson_8 N 8_2 search. Course_8 N 8_1 search. Video. By. Lesson_8 info. Course_8 list. All. Users S 7 search. Paper. By. Lesson_8 list. All. Users N 8_8 search. Course_8 N 8_4 list. Laboratories reserve. PC N 8_3 N 8_9 N 8_10 list. PC read. Paper_8

TS TARGET “T 1” Sottosistema T 1_6 (9/10) NT 1_27 NT 1_26 NT 1_28

TS TARGET “T 1” Sottosistema T 1_6 (9/10) NT 1_27 NT 1_26 NT 1_28 search. Paper. By. Lesson_8 read. Paper_8 search. Course_8 search. Video. By. Lesson_8 NT 1_1 watch. Lesson_8 list. All. Users NT 1_30 list. Laboratories reserve. PC NT 1_29 NT 1_31 list. PC NT 1_32

CONSIDERAZIONI SULLA SIMULABILITA’ DEL TARGET: § Le azioni “list. All. Users”, “list. Laboratories”, “list.

CONSIDERAZIONI SULLA SIMULABILITA’ DEL TARGET: § Le azioni “list. All. Users”, “list. Laboratories”, “list. PC” e “reserve. PC” sono offerte sia da S 8 che da S 3. Nel caso di un target che preveda il ramo di seguito riportato list. All. Users list. Laboratories list. PC reserve. PC l’Orchestrator Generator effettua le sue scelte a run-time : inizialmente si troverà a dover scegliere se computare l’azione list. All. Users su S 3 o su S 8; se sceglie S 3 è obbligato a continuare a scegliere S 3 per le prossime 3 azioni previste; se sceglie S 8 è interessante evidenziare che l’OG necessità di osservarne lo stato raggiunto: se esso è lo stato N 8_1, l’OG è obbligato a scegliere S 3 per le prossime tre azioni previste; se invece S 8 raggiunge lo stato N 8_8 l’OG continuerà a mappare le prossime azioni su S 8 poichè, per quanto espresso dalla definizione di Simulabilità, se il target si trova in uno stato finale anche tutte le sorgenti devono stare in uno stato finale.

TS TARGET “T 1” Sottosistema T 1_6 – (1/3) NOME FILE: T 1_6. smv

TS TARGET “T 1” Sottosistema T 1_6 – (1/3) NOME FILE: T 1_6. smv RISULTATO ATTESO: composizione esistente RISULTATO OTTENUTO: composizione esistente NUM. STATI OG: 14 NUM. TRANSIZIONI OG: 23 TEMPO CPU: Bat_T 1_6 0. 11 sec

TS TARGET “T 1” Sottosistema T 1_6 - (2/3) § Il target T 1_6

TS TARGET “T 1” Sottosistema T 1_6 - (2/3) § Il target T 1_6 esercita il non determinismo dell’azione “list. All. Users” di S 8 ed S 3. Utilizza inoltre le azioni “list. Laboratories”, “list. PC”, “reserve. PC” comuni a S 3 e S 8 stesso. L’O. G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: 5 4 Action = LAU T 1_6. loc = 0 S 3. loc = 0 S 8. loc = 0 Index = 3 Action = LAU T 1_6. loc = 0 S 3. loc = 0 S 8. loc = 0 Index = 8 3 Action = LL T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 0 Index = 3 Action = LL T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 7 Index = 8 8 6 9

TS TARGET “T 1” Sottosistema T 1_6 - (3/3) § Come evidenziato dalla rappresentazione

TS TARGET “T 1” Sottosistema T 1_6 - (3/3) § Come evidenziato dalla rappresentazione sottostante, l’OG – qualora mappi l’azione list. All. Users (L. A. U. ) su S 8 - è forzato ad osservarne lo stato di arrivo per poter scegliere su chi mappare la successiva azione “list. Laboratories”. Action = LAU / 3 {3, 8} T 1_6. loc = 0 S 3. loc = 0 S 8. loc = 0 T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 0 Action = list. Laboratories / 3 {3} Action = LAU / 8 {3, 8} T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 7 Action = list. Laboratories / 8 {8}

TS TARGET “T 1” Sottosistema T 1_6 – (1/3) NOME FILE: T 1_6. smv

TS TARGET “T 1” Sottosistema T 1_6 – (1/3) NOME FILE: T 1_6. smv RISULTATO ATTESO: composizione esistente RISULTATO OTTENUTO: composizione esistente NUM. STATI OG: 14 NUM. TRANSIZIONI OG: 23 TEMPO CPU: 0. 11 sec

TS TARGET “T 1” Sottosistema T 1_6 - (2/3) § Il target T 1_6

TS TARGET “T 1” Sottosistema T 1_6 - (2/3) § Il target T 1_6 esercita il non determinismo dell’azione “list. All. Users” di S 8 ed S 3. Utilizza inoltre le azioni “list. Laboratories”, “list. PC”, “reserve. PC” comuni a S 3 e S 8 stesso. L’O. G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: 5 4 Action = LAU T 1_6. loc = 0 S 3. loc = 0 S 8. loc = 0 Index = 3 Action = LAU T 1_6. loc = 0 S 3. loc = 0 S 8. loc = 0 Index = 8 3 Action = LL T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 0 Index = 3 Action = LL T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 7 Index = 8 8 6 9

TS TARGET “T 1” Sottosistema T 1_6 - (3/3) § Come evidenziato dalla rappresentazione

TS TARGET “T 1” Sottosistema T 1_6 - (3/3) § Come evidenziato dalla rappresentazione sottostante, l’OG – qualora mappi l’azione list. All. Users (L. A. U. ) su S 8 - è forzato ad osservarne lo stato di arrivo per poter scegliere su chi mappare la successiva azione “list. Laboratories”. Action = LAU / 3 {3, 8} T 1_6. loc = 0 S 3. loc = 0 S 8. loc = 0 T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 0 Action = list. Laboratories / 3 {3} Action = LAU / 8 {3, 8} T 1_6. loc = 29 S 3. loc = 0 S 8. loc = 7 Action = list. Laboratories / 8 {8}