1 Introduzione Il presente progetto ha come scopo la sperimentazione della composizione automatica di web services (WS) per mezzo della tecnica di Simulazione, tramite luso del tool TLV. Il presente progetto ha come scopo la sperimentazione della composizione automatica di web services (WS) per mezzo della tecnica di Simulazione, tramite luso del tool TLV.
2 Scenario applicativo Il lavoro si concentra sul particolare scenario applicativo delle-learning nellambito di corsi di laurea della facoltà di ingegneria di una data università. In particolare si ipotizza lesistenza di un WS per ogni corso di laurea (gestionale, informatica...), i quali rappresentano la nostra comunità dei WS sorgenti. Il lavoro si concentra sul particolare scenario applicativo delle-learning nellambito di corsi di laurea della facoltà di ingegneria di una data università. In particolare si ipotizza lesistenza di un WS per ogni corso di laurea (gestionale, informatica...), i quali rappresentano la nostra comunità dei WS sorgenti.
3 Focus sulle conversazioni Ogni WS sorgente in un dato momento dellinterazione col client offre un set limitato di azioni invocabili, nel rispetto dei particolari paradigmi di interazione previsti (conversazioni). Ogni WS sorgente in un dato momento dellinterazione col client offre un set limitato di azioni invocabili, nel rispetto dei particolari paradigmi di interazione previsti (conversazioni).
4 Transistion system: Un modello formale di rappresentazione(1/3) Formalmente, le conversazioni con il client supportate da un ws, vengono rappresentati tramite Transition System (TS), diagrammi con un maggiore potere espressivo degli ASF: Formalmente, le conversazioni con il client supportate da un ws, vengono rappresentati tramite Transition System (TS), diagrammi con un maggiore potere espressivo degli ASF: i TS sono riconoscitori di linguaggi, in grado di esprimere anche differenze al livello di comportamento dell interazione i TS sono riconoscitori di linguaggi, in grado di esprimere anche differenze al livello di comportamento dell interazione
5 Transistion system: Un modello formale di rappresentazione(2/3)
6 Transistion system: Un modello formale di rappresentazione(3/3) Definizione formale di TS: Definizione formale di TS:
7 Composizione via Simulazione:il Problema n TS sorgenti non deterministici costituenti la comunità. n TS sorgenti non deterministici costituenti la comunità. Avere una composizione dei servizi di comunità, per 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à. ogni azione computata sul target t sarà automaticamente delegata ad uno dei TS di comunità.
8 Composizione via Simulazione: il Community TS A partire dagli n TS sorgenti possiamo definire il TS A partire dagli n TS sorgenti possiamo definire il TS prodotto asincrono (detto community TS), a sua volta prodotto asincrono (detto community TS), a sua volta non deterministico. non deterministico.
9 Composizione via Simulazione: definizione di Simulazione Fondamentale nel problema della Composizione automatica di servizi via Simulazione è la definizione co-induttiva di relazione binaria di Simulazione R tra il TS target e il community TS Fondamentale nel problema della Composizione automatica di servizi via Simulazione è la definizione co-induttiva di relazione binaria di Simulazione R tra il TS target e il community TS : s è il generico stato del target T; community TS (q1,..,qn) è il generico stato del community TS.
10 Composizione via Simulazione: Esistenza di una composizione Detta RR la più grande relazione binaria di Simulazione tra il TS target e il community TS: Detta RR la più grande relazione binaria di Simulazione tra il TS target e il community TS : TEO1: Una composizione dei servizi per il target esiste se e solo se la coppia TEO1: Una composizione dei servizi per il target esiste se e solo se la coppia (s°,(q1°,...,qn°)) RR. (s°,(q1°,...,qn°)) RR. TEO2: Se esiste una composizione dei servizi per il target, ne esiste sempre una di dimensione finita. TEO2: Se esiste una composizione dei servizi per il target, ne esiste sempre una di dimensione finita.
11 Composizione via Simulazione: Orchestrator Generator OG (1/2) Se esiste una composizione, da RR è possibile costruire lorchestrator generator (OG) così definito: Se esiste una composizione, da RR è possibile costruire lorchestrator generator (OG) così definito:
12 Composizione via Simulazione: Orchestrator Generator OG (2/2) LO.G. quando esiste ha sempre dimensione finita. LO.G. quando esiste ha sempre dimensione finita. Se lO.G. esiste, è possibile realizzare il comportamento del target coordinando i servizi di comunità. Se lO.G. esiste, è possibile realizzare il comportamento del target coordinando i servizi di comunità.
13 Composizione via Simulazione: Orchestratore (1/2) Definiamo orchestratore un programma P(h,a) = i che prende in input la history h, ovvero la sequenza di azioni eseguite sul target fino a un dato momento, e lazione a da eseguire al passo successivo sceglie un particolare sorgente i tra quelli che possono computarla dal loro stato attuale Definiamo orchestratore un programma P(h,a) = i che prende in input la history h, ovvero la sequenza di azioni eseguite sul target fino a un dato momento, e lazione a da eseguire al passo successivo sceglie un particolare sorgente i tra quelli che possono computarla dal loro stato attuale
14 Composizione via Simulazione: Orchestratore (2/2) Conoscendo la history h è possibile risalire allo stato attuale del TS target per via del suo determinismo; Conoscendo la history h è possibile risalire allo stato attuale del TS target per via del suo determinismo; Conoscendo lorchestratore P è possibile sapere il sorgente scelto in ogni istante della history; Conoscendo lorchestratore P è possibile sapere il sorgente scelto in ogni istante della history; Tramite P è quindi possibile risalire allo stato assunto da tutti i TS sorgenti nellevoluzione della history. Tramite P è quindi possibile risalire allo stato assunto da tutti i TS sorgenti nellevoluzione della history. Il problema però è che qui linput h di P non è limitato, ma può crescere indefinitamente… Il problema però è che qui linput h di P non è limitato, ma può crescere indefinitamente…
15 Luso di TLV ci permette di computare lOG, qualora esista, a partire dalle sole codifiche smv dei TS sorgenti e target Luso di TLV ci permette di computare lOG, qualora esista, a partire dalle sole codifiche smv dei TS sorgenti e target Composizione via Simulazione: Tool TLV
16 Tipi di non determinismo Il non determinismo riguarda azioni il cui effetto sulle sorgenti non è sotto il controllo del client del target; A livello delle sorgenti il non determinismo può avere diversa natura: diversa natura: Devilish quando esso si osserva su un particolare sorgente (archi del OG non det Osservabilità totale) Devilish quando esso si osserva su un particolare sorgente (archi del OG non det Osservabilità totale) Angelish quando esso si osserva solo sul Community TS e non sulle singole sorgenti Angelish quando esso si osserva solo sul Community TS e non sulle singole sorgenti In ogni caso lOG ha il controllo su tutto ciò che accade a livello della comunità di sorgenti(osservabilità totale)
17 Scenario Applicativo Nellambito di una università, vengono esposti WS per servizi di e-learning per ogni Corso di Laurea limitatamente alla facoltà di Ingegneria Nellambito 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 e- learning prevede uninformativa suddivisa in due settori: le video-lezioni e il classico materiale didattico (dispense). Dal punto di vista didattico, il contesto e- learning prevede uninformativa suddivisa in due settori: le video-lezioni e il classico materiale didattico (dispense).
18 A scopo esemplificativo, mostriamo di seguito un possibile activity diagram per il generico sorgente, limitato,per semplicità, alle sole funzionalità di login e consultazione di video e dispense: A scopo esemplificativo, mostriamo di seguito un possibile activity diagram per il generico sorgente, limitato,per semplicità, alle sole funzionalità di login e consultazione di video e dispense: Activity Diagram
19 LEGENDA
20
21 Funzionalità aggiuntive 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 sullintera facoltà, quali prenotazioni di esami, prenotazioni in biblioteca e laboratorio, ricerca di stage, login, prenotazioni ricevimento professori, informazioni sulla segreteria amministrativa etc. 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 sullintera facoltà, quali prenotazioni di esami, prenotazioni in biblioteca e laboratorio, ricerca di stage, login, prenotazioni ricevimento professori, informazioni sulla segreteria amministrativa etc.
22 Sottosistemi comuni a tutte le sorgenti (1/2) Sottosistema prenotazione esami / ricevimento Professori listDegree Courses listCourses listExams reserveAppointment reserveExam listTeacher NX_7_5 NX_7_4 NX_7_2 NX_7_3 NX_1
23 Sottosistemi comuni a tutte le sorgenti (2/2) Sottosistemi richiesta informazioni segreteria amministrativa, gestione profilo utente e richiesta informazioni biblioteche: infoAdmSecr infoLogin overwriteData listLibraries infoLibrary
24 Available Services I TS sorgenti previsti sono – nel nostro caso – i seguenti sette: I TS sorgenti previsti sono – nel nostro caso – i seguenti sette: 1.Informatica, S1 2.Elettronica, S2 3.Gestionale, S3 4.Log-in, S4 5.Edile, S5 6.Chimica, S6 7.Elettrica, S8
25 TS Informatica – S1 N1_2 searchVideoByProgram_1 searchVideoByAuthor_1 N1_3 searchPaperByProgram_1 N1_1 searchPaperByAuthor_1 S7 searchPaperByProgram_1 readPaper_1 N1_7 N1_8 searchVideoByAuthor_1 watchLesson_1 searchPaperByAuthor_1 readPaper_1 N1_6 watchLesson_1 Output T5_a
26 Pattern per la simulabilità del Target (1/2) searchVideo ByAuthor_1 watchLesson_1 searchPaper ByAuthor_1 readPaper_1 … il primo, il terzo e il quinto stato sono opzionalmente finali il primo, il terzo e il quinto stato sono opzionalmente finali il secondo e il quarto stato sono obbligatoriamente non finali il secondo e il quarto stato sono obbligatoriamente non finali una volta eseguita lazione searchVideoByAuthor_1, il target, limitatamente alle azioni di esclusiva competenza di S1, deve invocare le azioni mostrate rispettandone lordine, fermandosi eventualmente al terzo stato se finale una volta eseguita lazione searchVideoByAuthor_1, il target, limitatamente alle azioni di esclusiva competenza di S1, deve invocare le azioni mostrate rispettandone lordine, fermandosi eventualmente al terzo stato se finale
27 Pattern per la simulabilità del Target (2/2) searchVideo ByAuthor_1 watchLesson_1 searchPaper ByAuthor_1 readPaper_1 … Non è quindi accettabile nessuna aggiunta o sostituzione di azioni, infatti: sostituendo lazione del pattern searchPaperByAuthor_1 con searchPaperByProgram_1, sostituendo lazione del pattern searchPaperByAuthor_1 con searchPaperByProgram_1, aggiungendo lazione searchPaperByProgram_1 in parallelo a searchPaperByAuthor_1, aggiungendo lazione searchPaperByProgram_1 in parallelo a searchPaperByAuthor_1, inserendo un cappio con una azione di esclusiva competenza di S1 in uno qualsiasi dei nodi costituenti il pattern, inserendo un cappio con una azione di esclusiva competenza di S1 in uno qualsiasi dei nodi costituenti il pattern, etc etc, etc etc, si otterrebbe 1 target non simulabile.
28 TS Elettronica – S2 searchVideoByProgram_2 watchLesson_2 N2_3 searchVideoByProgram_2 searchPaperByProgram_2 readPaper_2 S7 N2_1 watchLesson_2 searchPaperByProgram_2 N2_2 Output T1_3Output T2_a
29 Pattern per la simulabilità del Target (1/2) il primo, il secondo e lo stato che segue lazione searchVideoByProgram_2 sono opzionalmente finali il primo, il secondo e lo stato che segue lazione searchVideoByProgram_2 sono opzionalmente finali lo stato che segue lazione searchPaperByProgram_2 è obbligatoriamente non finale lo stato che segue lazione searchPaperByProgram_2 è obbligatoriamente non finale una volta eseguita lazione watchLesson_2, limitatamente alle azioni di esclusiva competenza di S2, il target può invocare esclusivamente quelle mostrate rispettandone lordine, o in alternativa fermarsi in uno stato opzionalmente finale. una volta eseguita lazione watchLesson_2, limitatamente alle azioni di esclusiva competenza di S2, il target può invocare esclusivamente quelle mostrate rispettandone lordine, o in alternativa fermarsi in uno stato opzionalmente finale. watchLesson_2searchPaperByProgram_2 … searchVideo ByProgram_2 … …
30 Pattern per la simulabilità del Target (2/2) Non è quindi accettabile nessuna aggiunta o sostituzione di azioni, infatti: infatti: eseguendo lazione watchLesson_2 due volte di seguito, eseguendo lazione watchLesson_2 due volte di seguito, inserendo un cappio con una azione di competenza di S2 in uno qualsiasi dei nodi costituenti il pattern, inserendo un cappio con una azione di competenza di S2 in uno qualsiasi dei nodi costituenti il pattern, etc etc, etc etc, si otterrebbe 1 target non simulabile. watchLesson_2searchPaperByProgram_2 … searchVideo ByProgram_2 … …
31 TS Gestionale – S3 N3_2 readPaper_3 searchPapersByCourseYear_3 searchPapersByAuthor_3 searchPapersByProgram_3 searchPapersByCourseYear_3 searchPapersByAuthor_3 searchPapersByProgram_3 S7 N3_1 N3_6 N3_5 listAllUsers listPC listLaboratories reservePC Output T1_6
32 TS Login – S4 N4_3 N4_2 Reg-KO reg Login-KO login Login-KO N4_1 logout
33 TS Edile – S5 readPaper_5 searchVideoByLesson_5 watchLesso n_5 searchVideoByLesson_5 searchPaperByLesson_5 searchCourse_5 infoCourse_5 searchCourse_5 searchPaperByLesson_5 S7 N5_1 N5_3 N5_2 N5_4 searchStage N5_5 infoStage searchStage Output T1_2
34 TS Chimica – S6 N6_4 searchCourse_6 infoProgr_6 searchCourse_6 infoCourse_6 searchPapersByLesson_6 searchPapers ByLesson_6 readPap_6 searchCourse_6 searchVideoByLesson_6 watchLes_6 searchCours e_6 searchTeach er_6 infoTeacher _6 S7 searchTeacher _6 N6_2 infoTeacher_6 searchStage_6 infoStage_6 N6_5 N6_6 N6_7 N6_8 N6_1 N6_3 searchStage infoStage Info Stage Output T1_2
35 Note sul non determinismo di infoStage Il non determinismo dellazione infoStage qui è molto pericoloso, perché se fossimo in un contesto in cui searchStage ed infoStage comparissero solo in S6 (come searchStage_6 ed infoStage_6) questo comporterebbe che mai in un target risulterebbe realizzabile il comportamento naturale : Tale interazione invece è sempre simulabile grazie al sorgente S5, nel quale lazione infoStage è deterministica. L OrchestratorGenerator quando a run-time riceve lazione searchStage(e successivamente lazione infoStage), sceglierà sempre di mapparla su S5.
36 TS Elettrica – S8 readPaper_8 searchVideoByLesson_8 watchLesson_8 searchVideoByLesson_8 searchPaperByLesson_8 searchCourse_8 infoCourse_8 searchPaperByLesson_8 S7 N8_1 N8_5 N8_2 N8_3 N8_4 listAllUsers listLaboratories listPC reservePC N8_8 N8_9 N8_10 Output T1_6
37 CONSIDERAZIONI SULLA SIMULABILITA DEL TARGET: Le azioni listAllUsers, listLaboratories, listPC e reservePC sono offerte sia da S8 che da S3. Nel caso di un target che preveda il ramo di seguito riportato Le azioni listAllUsers, listLaboratories, listPC e reservePC sono offerte sia da S8 che da S3. Nel caso di un target che preveda il ramo di seguito riportato lOrchestrator Generator effettua le sue scelte a run-time : inizialmente si troverà a dover scegliere se computare lazione listAllUsers su S3 o su S8; se sceglie S3 è obbligato a continuare a scegliere S3 per le prossime 3 azioni previste; se sceglie S8 è interessante evidenziare che lOG necessità di osservarne lo stato raggiunto: se esso è lo stato N8_1, lOG è obbligato a scegliere S3 per le prossime tre azioni previste; se invece S8 raggiunge lo stato N8_8 lOG continuerà a mappare le prossime azioni su S8 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. lOrchestrator Generator effettua le sue scelte a run-time : inizialmente si troverà a dover scegliere se computare lazione listAllUsers su S3 o su S8; se sceglie S3 è obbligato a continuare a scegliere S3 per le prossime 3 azioni previste; se sceglie S8 è interessante evidenziare che lOG necessità di osservarne lo stato raggiunto: se esso è lo stato N8_1, lOG è obbligato a scegliere S3 per le prossime tre azioni previste; se invece S8 raggiunge lo stato N8_8 lOG continuerà a mappare le prossime azioni su S8 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. listAllUsers listLaboratories listPC reservePC
38 TRANSITION SYSTEM TARGET
39 TS TARGET T1 (1/10) Consente di ottenere informazioni trasversali su tutti i corsi di laurea offerti dalla facoltà, attraverso percorsi che flessibilmente possono essere intrapresi dal client a seconda delle proprie esigenze. Consente di ottenere informazioni trasversali su tutti i corsi di laurea offerti dalla facoltà, attraverso percorsi che flessibilmente possono essere intrapresi dal client a seconda delle proprie esigenze. Per leggibilità seguono rappresentazioni grafiche (T1.1, T1.2, T1.3, T1.4, T1.5, T1.6) di T1 raffiguranti sottoparti dellintero TS target tutte aventi in comune lo stato finale NT1_1. Per leggibilità seguono rappresentazioni grafiche (T1.1, T1.2, T1.3, T1.4, T1.5, T1.6) di T1 raffiguranti sottoparti dellintero TS target tutte aventi in comune lo stato finale NT1_1.
40 TS TARGET T1 Sottosistema T1_1 - (2/10) watchLes_5 NT1_8 watchLes_1 searchCourse_5 infoCourse_5 searchPapByLes_5 readPap_5 searchVideoByLes_5 searchPapByProgr_1 readPap_1 searchVideoByProgr_1 searchCourse _5 NT1_1 NT1_4 NT1_2NT1_3 NT1_7 NT1_6 NT1_5 Reg-KO reg Login-KO login Login-KO NT1_L_1NT1_L_2 NT1_24 searchCourse_5 logout
41 TS TARGET T1 Sottosistema T1_2 - (3/10) search Papers ByCourseYear_3 searchCourse_6 watchLesson_6 readPaper_3 searchPapersB yProgram_3 search Papers ByAuthor_3 search Papers ByProgram_3 search Papers ByCourseYear_3 searchVideoByLesson_6 readPap_6 searchPapersByLesson_6 searchCourse_6 infoCourse_6 NT1_1 NT1_9 NT1_10 NT1_12 NT1_13 NT1_11 searchStage infoStage NT1_23 NT1_25 searchCourse_6 Output T1_2
42 Relativamente al non-determinismo dei sorgenti: T1.2 cattura il non determinismo dellazione infoStage in S6, ed è simulabile grazie alla presenza della stessa azione nel sorgente S5. T1.2 cattura il non determinismo dellazione infoStage in S6, ed è simulabile grazie alla presenza della stessa azione nel sorgente S5. TS TARGET T1 Sottosistema T1_2 - (4/10)
43 TS TARGET T1 Sottosistema T1_3 - (5/10) watchLes_2 searchPapByProgr_2 readPap_2 searchVideoByProgr_2 searchPapByProgr_2 NT1_1 NT1_14 NT1_15 NT1_16 Output T1_3
44 Relativamente al non-determinismo dei sorgenti: T1.3 cattura il non determinismo dellazione watchLesson_2 in S2,ed è simulabile perchè rispetta il pattern di S2. T1.3 cattura il non determinismo dellazione watchLesson_2 in S2,ed è simulabile perchè rispetta il pattern di S2. TS TARGET T1 Sottosistema T1_3 - (6/10)
45 TS TARGET T1 Sottosistema T1_4 - (7/10) listDegreeCourses listCourses listExams reserveExam NT1_1 NT1_17 NT1_18 NT1_19 Output T1_4
46 TS TARGET T1 Sottosistema T1_5 - (8/10) infoLibraries listLibraries overwriteData infoAdmSecr infoLogin NT1_1 NT1_21 NT1_22 Output T1_5
47 TS TARGET T1 Sottosistema T1_6 - (9/10) NT1_1 searchCourse_8 searchPaperByLesson_8readPaper_8 searchVideoByLesson_8 watchLesson_8 listAllUsers listLaboratories listPC reservePC NT1_26 NT1_27 NT1_28 NT1_29 NT1_30 NT1_31NT1_32 Output T1_6
48 Relativamente al non-determinismo dei sorgenti: T1.6 cattura il non determinismo dellazione listAllUsers in S8 e usufruisce di azioni in comune tra S3 e S8 forzando lOG ad osservare lo stato corrente dei TS sorgenti. T1.6 cattura il non determinismo dellazione listAllUsers in S8 e usufruisce di azioni in comune tra S3 e S8 forzando lOG ad osservare lo stato corrente dei TS sorgenti. TS TARGET T1 Sottosistema T1_6 - (10/10)
49 TS TARGET T2a (1/3) Progettato per la consultazione a cascata di tutte le informazioni di interesse relative ai soli corsi di laurea di informatica ed elettronica. 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 allutente in quanto lo scopo di T2a è quello di guidarlo in una analisi comparativa delle offerte formative secondo un ordine prefissato di esplorazione di corsi di laurea. Non si lascia totale flessibilità di consultazione allutente in quanto lo scopo di T2a è quello di guidarlo in una analisi comparativa delle offerte formative secondo un ordine prefissato di esplorazione di corsi di laurea.
50 TS TARGET T2a (2/3) searchPapers ByProgram_1 readPapers_1 searchVideo ByProgram_1 watchLesson_1 searchVideo ByProgram_1 searchVideo ByProgram_1 searchPapers ByProgram_1 searchPapers ByProgram_1 searchPaperByPro gram_2 readPaper_2 searchVideoByPr ogram_2 watchLesson_2 NT2a_6 NT2a_7 NT2a_8 NT2a_1 NT2a_2 NT2a_3 NT2a_4 NT2a_5 searchVideoByPr ogram_2 searchPaperByPro gram_2 Reg-KO reg Login-KO login Login-KO NT2a_L_1 NT2a_L_2 logout NT2a_9 Output T2_a
51 TS TARGET T2a (3/3) Riguardo al non determinismo dei sorgenti: Esercita il non determinismo dellazione watchLesson_2 di S2 ed è simulabile grazie alla sua aderenza al pattern previsto per tale sorgente. Esercita il non determinismo dellazione watchLesson_2 di S2 ed è simulabile grazie alla sua aderenza al pattern previsto per tale sorgente.
52 TS TARGET T2b (1/2) searchPapers ByProgram_1 readPapers_1 searchVideo ByProgram_1 watchLesson_1 searchVideo ByProgram_1 searchVideo ByProgram_1 searchPapers ByProgram_1 searchPapers ByProgram_1 searchPaperByPro gram_2 readPaper_2 searchVideoByPr ogram_2 watchLesson_2 NT2b_6 NT2b_7 NT2b_8 NT2b_9 NT2b_1 NT2b_2 NT2b_3 NT2b_4 NT2b_5 searchVideoByPr ogram_2 searchPaperByPro gram_2 login Login-KO NT2b_L_1NT2b_L_2 watchLesson_2 Non prevista dal pattern! Reg-KO Login-KOlogin logout reg
53 TS TARGET T2b (2/2) Riguardo al non determinismo dei sorgenti: Esercita il non determinismo dellazione watchLesson_2 di S2 e non è simulabile poichè non aderente al pattern previsto per tale sorgente (TLV restituisce specification is unrealizable). Esercita il non determinismo dellazione watchLesson_2 di S2 e non è simulabile poichè non aderente al pattern previsto per tale sorgente (TLV restituisce specification is unrealizable).
54 TS TARGET T5a (1/3) Progettato per la consultazione a cascata di tutte le informazioni di interesse relative ai soli corsi di laurea di informatica e elettronica. Progettato per la consultazione a cascata di tutte le informazioni di interesse relative ai soli corsi di laurea di informatica e elettronica. Non si lascia totale flessibilità di consultazione allutente in quanto lo scopo di T5a è quello di guidarlo in una analisi comparativa delle offerte formative secondo un ordine prefissato di esplorazione di corsi di laurea. Non si lascia totale flessibilità di consultazione allutente in quanto lo scopo di T5a è quello di guidarlo in una analisi comparativa delle offerte formative secondo un ordine prefissato di esplorazione di corsi di laurea.
55 TS TARGET T5a (2/3) searchVideo ByAuthor_1 watchLesson_1 searchPaper ByAuthor_1 readPaper_1 searchPaperBy Program_2 readPaper_2 NT5a_6 NT5a_7 NT5a_1 NT5a_2 NT5a_3 NT5a_4 NT5a_5 searchPaperBy Program_2 Reg-KO reg Login-KO login Login-KO NT5a_L_1 NT5a_L_2 logout Output T5_a
56 TS TARGET T5a (3/3) Riguardo al non determinismo dei sorgenti: Esercita il non determinismo dellazione searchVideoByAuthor_1 di S1 ed è simulabile grazie alla sua aderenza al pattern previsto per tale sorgente. Esercita il non determinismo dellazione searchVideoByAuthor_1 di S1 ed è simulabile grazie alla sua aderenza al pattern previsto per tale sorgente.
57 TS TARGET T5b (1/2) searchVideo ByAuthor_1 watchLesson_1 searchPaper ByProgram_1 readPaper_1 searchPaperBy Program_2 readPaper_2 NT5b_6 NT5b_7 NT5b_1 NT5b_2 NT5b_3 NT5b_4 NT5b_5 searchPaperBy Program_2 Reg-KO reg Login-KO login Login-KO NT5b_L_1NT5b_L_2 Non prevista dal pattern! logout
58 TS TARGET T5b (2/2) Riguardo al non determinismo dei sorgenti: Esercita il non determinismo dellazione searchVideoByAuthor_1 di S1 e non è simulabile in quanto non aderente al pattern previsto per tale sorgente (TLV restituisce Specification is unrealizable). Esercita il non determinismo dellazione searchVideoByAuthor_1 di S1 e non è simulabile in quanto non aderente al pattern previsto per tale sorgente (TLV restituisce Specification is unrealizable).
59 ANALISI DELLOUTPUT TLV
60 TS TARGET T1 Sottosistema T1_1 NOME FILE: T1_1.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:20 NUM. TRANSIZIONI OG:46 TEMPO CPU:0.11 sec
61 TS TARGET T1 Sottosistema T1_2 - (1/2) NOME FILE: T1_2.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:18 NUM. TRANSIZIONI OG:58 TEMPO CPU:0.11 sec
62 TS TARGET T1 Sottosistema T1_2 - (2/2) LOG, per lesecuzione dellazione searchStage, seleziona esclusivamente il sorgente S5. Difatti, graficando le transizioni dellOG, si ottiene quanto segue: LOG, per lesecuzione dellazione searchStage, seleziona esclusivamente il sorgente S5. Difatti, graficando le transizioni dellOG, si ottiene quanto segue: Action = SS Index=5 T1_2.loc = 0 S5.loc = 0 Action = IS Index=5 T1_2.loc = 22 S5.loc = S5S6T1_2
63 TS TARGET T1 Sottosistema T1_3 – (1/3) NOME FILE: T1_3.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:7 NUM. TRANSIZIONI OG:11 TEMPO CPU:0.1 sec
64 TS TARGET T1 Sottosistema T1_3 - (2/3) Il target T1_3 esercita il non determinismo dellazione watchLesson_2 di S2. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: Il target T1_3 esercita il non determinismo dellazione watchLesson_2 di S2. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: T1_3S2 Action = WL_2 T2_a.loc = 15 S2.loc = 1 Action = SPP_2 T2_a.loc = 0 S2.loc = 0 Action = RP_2 T2_a.loc = 13 S2.loc = 2 Action = SPP_2 T2_a.loc = 0 S2.loc = 1 Action = SPP_2 T2_a.loc = 13 S2.loc =
65 TS TARGET T1 Sottosistema T1_3 - (3/3) Rappresentando lOG in questultima forma, è evidente come le uniche transizioni non deterministiche siano quelle relative allazione watchLesson_2 (evidenziata in rosso). Rappresentando lOG in questultima forma, è evidente come le uniche transizioni non deterministiche siano quelle relative allazione watchLesson_2 (evidenziata in rosso). Per meglio evidenziare linvocazione dellazione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: Per meglio evidenziare linvocazione dellazione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: T2_a.loc = 15 S2.loc = 1 T2_a.loc = 0 S2.loc = 0 T2_a.loc = 13 S2.loc = 2 T2_a.loc = 0 S2.loc = 1 Action = WL_2 Action = SPP_2
66 TS TARGET T1 Sottosistema T1_4 – (1/2) NOME FILE: T1_4.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:25 NUM. TRANSIZIONI OG:60 TEMPO CPU:0.1 sec
67 TS TARGET T1 Sottosistema T1_4 – (2/2) Lalto numero di transizioni in uscita dagli stati mostrati è dovuto allalto grado di non determinismo angelico dellazione listDegreeCourses Lalto numero di transizioni in uscita dagli stati mostrati è dovuto allalto grado di non determinismo angelico dellazione listDegreeCourses T1_4
68 TS TARGET T1 Sottosistema T1_5 – (1/2) NOME FILE: T1_5.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:31 NUM. TRANSIZIONI OG:354 TEMPO CPU:0.1 sec
69 TS TARGET T1 Sottosistema T1_5 – (2/2) Lalto numero di transizioni in uscita dagli stati mostrati è dovuto allalto grado di non determinismo angelico delle azioni infoLogin, listLibraries, infoAdmSecr Lalto numero di transizioni in uscita dagli stati mostrati è dovuto allalto grado di non determinismo angelico delle azioni infoLogin, listLibraries, infoAdmSecr T1_5
70 TS TARGET T1 Sottosistema T1_6 – (1/3) NOME FILE: T1_6.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:14 NUM. TRANSIZIONI OG:23 TEMPO CPU:0.11 sec
71 TS TARGET T1 Sottosistema T1_6 - (2/3) Il target T1_6 esercita il non determinismo dellazione listAllUsers di S8 ed S3. Utilizza inoltre le azioni listLaboratories, listPC, reservePC comuni a S3 e S8 stesso. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: Il target T1_6 esercita il non determinismo dellazione listAllUsers di S8 ed S3. Utilizza inoltre le azioni listLaboratories, listPC, reservePC comuni a S3 e S8 stesso. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: T1_6S3 Action = LAU T1_6.loc = 0 S3.loc = 0 S8.loc = 0 Index = 3 Action = LL T1_6.loc = 29 S3.loc = 0 S8.loc = 0 Index = 3 Action = LAU T1_6.loc = 0 S3.loc = 0 S8.loc = 0 Index = Action = LL T1_6.loc = 29 S3.loc = 0 S8.loc = 7 Index = S8
72 TS TARGET T1 Sottosistema T1_6 - (3/3) Come evidenziato dalla rappresentazione sottostante, lOG – qualora mappi lazione listAllUsers (L.A.U.) su S8 - è forzato ad osservarne lo stato di arrivo per poter scegliere su chi mappare la successiva azione listLaboratories. Come evidenziato dalla rappresentazione sottostante, lOG – qualora mappi lazione listAllUsers (L.A.U.) su S8 - è forzato ad osservarne lo stato di arrivo per poter scegliere su chi mappare la successiva azione listLaboratories. T1_6.loc = 29 S3.loc = 0 S8.loc = 0 T1_6.loc = 0 S3.loc = 0 S8.loc = 0 Action = LAU / 3 {3,8} T1_6.loc = 29 S3.loc = 0 S8.loc = 7 Action = LAU / 8 {3,8} Action = listLaboratories / 3 {3} Action = listLaboratories / 8 {8}
73 TS TARGET T2_a – (1/3) NOME FILE: T2_a.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:43 NUM. TRANSIZIONI OG:106 TEMPO CPU:0.12 sec
74 TS TARGET T2_a - (2/3) Il target T2_a esercita il non determinismo dellazione watchLesson_2 di S2. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: Il target T2_a esercita il non determinismo dellazione watchLesson_2 di S2. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: Action = SVP_2 T2_a.loc = 8 S2.loc = 0 S4.loc = 1 Action = WL_2 T2_a.loc = 7 S2.loc = 1 S4.loc = 1 Action = SVP_2 T2_a.loc = 8 S2.loc = 1 S4.loc = Action = logout T2_a.loc = 8 S2.loc = 0 S4.loc = 0 Action = logout T2_a.loc = 8 S2.loc = 1 S4.loc =
75 TS TARGET T2_a - (3/3) Per meglio evidenziare linvocazione dellazione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: Per meglio evidenziare linvocazione dellazione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: T2_aS2 T2_a.loc = 7 S2.loc = 1 S4.loc = 1 T2_a.loc = 8 S2.loc = 0 S4.loc = 1 T2_a.loc = 8 S2.loc = 1 S4.loc = 1 Action = WL_2 Action = SVP_2
76 TS TARGET T2_b NOME FILE: T2_b.smv RISULTATO ATTESO:Composizione non esistente RISULTATO OTTENUTO:Composizione non esistente NUM. STATI OG:- NUM. TRANSIZIONI OG:- TEMPO CPU:0.12 sec La rottura del pattern previsto per S2 fa si che TLV restituisca Specification is unrealizable. La rottura del pattern previsto per S2 fa si che TLV restituisca Specification is unrealizable.
77 TS TARGET T5_a – (1/3) NOME FILE: T5a.smv RISULTATO ATTESO:composizione esistente RISULTATO OTTENUTO:composizione esistente NUM. STATI OG:20 NUM. TRANSIZIONI OG:44 TEMPO CPU:0.11 sec
78 TS TARGET T5_a - (2/3) Il target T5_a esercita il non determinismo dellazione searchVideoByAuthor_1 di S1. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: Il target T5_a esercita il non determinismo dellazione searchVideoByAuthor_1 di S1. LO.G. ottenuto dalla computazione di TLV tratta questa caratteristica negli stati corrispondenti, restituendo il seguente output: Action = SVA_1 T5_a.loc = 0 S1.loc = 0 Action = WL_1 T5_a.loc = 1 S1.loc = 1 Action = WL_1 T5_a.loc = 1 S2.loc =
79 TS TARGET T5_a - (3/3) Per meglio evidenziare linvocazione dellazione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: Per meglio evidenziare linvocazione dellazione non deterministica, possiamo intervenire nella sintassi grafica sopra utilizzata ottenendo le seguenti transizioni: T5_aS1 T5_a.loc = 0 S1.loc = 0 T5_a.loc = 1 S1.loc = 1 T5_a.loc = 1 S2.loc = Action = SVA_1 Action = WL_1
80 TS TARGET T5_b NOME FILE: T5b.smv RISULTATO ATTESO:Composizione non esistente RISULTATO OTTENUTO:Composizione non esistente NUM. STATI OG:- NUM. TRANSIZIONI OG:- TEMPO CPU:0.1 sec La rottura del pattern previsto per S1 fa si che TLV restituisca Specification is unrealizable. La rottura del pattern previsto per S1 fa si che TLV restituisca Specification is unrealizable.