Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Verso una gestione IT delle organizzazioni fondata sulla realtà

246 views

Published on

Presentazione invitata alla giornata di lavoro "Collavoriamo", organizzata dall'azienda Info Easy SRL (Imola).

  • Be the first to comment

  • Be the first to like this

Verso una gestione IT delle organizzazioni fondata sulla realtà

  1. 1. Verso un supporto IT alle organizzazioni fondato sulla realtà Marco Montali Facoltà di Scienze e Tecnologie Informatiche Libera Università di Bolzano1
  2. 2. Disclaimer • La realtà verrà necessariamente “semplificata”, talvolta portata all’estremo • Le critiche/provocazioni andranno viste in “positivo”.
 Non per criticare lo stato attuale, ma per indicare strade da seguire nel prossimo futuro! 2
  3. 3. Le due realtà Gestione 
 dell’organizzazione Realtà aziendale studiata, analizzata, pianificata attraverso l’uso di modelli e di dati ottenuti 
 sull’andamento dell’organizzazione Lavoro quotidiano 
 nell’organizzazione Realtà aziendale esperita direttamente 3
  4. 4. Problema classico Gestione 
 dell’organizzazione Lavoro quotidiano 
 nell’organizzazione 4
  5. 5. Il nostro obiettivo Gestione 
 dell’organizzazione Lavoro quotidiano 
 nell’organizzazione 5 IT
  6. 6. Alcune domande chiave • Come gestire la complessità nelle organizzazioni di oggi? • Chi prende le decisioni strategiche? Su quali basi? • Come coordinare le diverse competenze umane? • Di chi è la responsabilità? • Come far interagire gli esperti di dominio con gli esperti IT? • Cosa lasciare alla competenza dell’uomo? Cosa delegare alle macchine? • Come comprendere la realtà aziendale? Come collezionare informazioni importanti in tal senso? • Come collegare i modelli con la realtà? Come estrarre informazioni utili per prendere decisioni strategiche fondate su questo collegamento? 6
  7. 7. Il grande dilemma 7 manager/ analista responsabile IT esperto di dominio realtà ?? ? ??
  8. 8. Il grande dilemma 1. Come far interagire i diversi attori in modo da comprendere la realtà, costruire una visione comune, e condividere gli obiettivi strategici? 2. Come ripensare queste interazioni alla luce di nuovi dati ottenuti dalla realtà? 8
  9. 9. Cosa vedremo… • Introduzione progressiva di modelli di gestione orientati ai processi nella gestione delle organizzazioni • Il punto di discontinuità: data science • Il tentativo azzardato di eliminare i modelli • La riconciliazione tra dati e modelli: process mining 9
  10. 10. Modello Rappresentazione di un oggetto o di un fenomeno, che corrisponde alla cosa modellata per il fatto di riprodurne alcune caratteristiche o comportamenti fondamentali 10
  11. 11. Modello Rappresentazione di un oggetto o di un fenomeno, che corrisponde alla cosa modellata per il fatto di riprodurne alcune caratteristiche o comportamenti fondamentali • Quali caratteristiche/comportamenti sono importanti? • Come verificare che questi siano riprodotti? 11
  12. 12. Modelli concettuali organizzativi Il “collante” fondamentale per colLavorare! • La modellazione concettuale è “l’attività di descrivere formalmente alcuni aspetti del mondo fisico e sociale che ci circonda, al fine di comprendere e comunicare” (John Mylopoulos, 1992) 12
  13. 13. Modelli concettuali organizzativi Il “collante” fondamentale per colLavorare! • “Una volta rappresentato come artefatto concreto, un modello supporta la comunicazione, l’apprendimento e l’analisi degli aspetti rilevanti del dominio di interesse. […] la rappresentazione diagrammata di un modello creata da uno sconosciuto diventa un medium per preservare e comunicare una certa visione del mondo, e può fungere da perno per il ragionamento e il problem solving, nonché l’acquisizione di nuova conoscenza (magari producendo nuove, folgoranti idee!) su quella visione del mondo” (Giancarlo Guizzardi, 2005) 13
  14. 14. 14
  15. 15. 15 Conceptual Modeling Languages: Clarity: how easy the language can be und stakeholders). • Graphical vs t • The language foundation. • The more exp di cult is to r • Less expressiv combinations • Abstraction: remove unnecessary det abstraction. •
  16. 16. 16 Un po’ di storia
  17. 17. La fabbrica degli spilli (1751-1766) 17
  18. 18. La fabbrica degli spilli (1751-1766) 18
  19. 19. F.W. Taylor (~1911) • Punto di partenza: le organizzazioni non sono organizzate secondo principi solidi • Impossibile misurarne l’efficienza e la qualità degli output • Idea: applicare il metodo scientifico alla gestione delle organizzazioni • Decomposizione del lavoro in unità elementari • Analisi scientifica di ogni unità fissando confini e regole d’azione ben definite • Acquisizione, training e controllo del personale secondo tali regole • Divisione di competenze: il management controlla, il personale agisce • Risultato: divisione del lavoro (catena di montaggio), analisi dettagliata delle singole attività ma non del loro coordinamento 19
  20. 20. Attività nella catena del valore 20 ness Functions and Refinement into Activities chy of business ns follows the ation abstraction. usiness functions activities. rco Montali (unibz) DPM - 7.BPM A.Y. 2014/2015 22 / 41
  21. 21. Hammer&Champy (1990s) • Punto di partenza: limiti della divisione del lavoro in attività isolate • Visione end-to-end assente nel business, troppo burocratico e frammentato • Idea: fondare il business sui processi e la loro re-ingegnerizzazione • “Non è più necessario né desiderabile per le aziende organizzare il proprio lavoro attorno ai principi di divisione del lavoro di Adam Smith. Il lavoro orientato alle attività è obsoleto nel mondo odierno, competitivo e dinamico. Al contrario, le aziende devono organizzare il lavoro attorno al concetto di processo” (Hammer&Champy) 21
  22. 22. Coordinamento di attività 22 Functional Decomposition and Business Processes To understand how the enterprise works, and to model how it is expected to work, dynamic constraints over the execution of activities are made explicit in terms of BPs: control-flow. Marco Montali (unibz) DPM - 7.BPM A.Y. 2014/2015 26 / 41
  23. 23. Processo di business • Un insieme di attività eseguite al fine di raggiungere un obiettivo aziendale per un cliente o mercato specifico (Davenport, 1992) • Una collezione di attività che prendono uno o più input per trasformarli in un risultato che è di valore per il cliente (Hammer&Champy, 1993) • Un insieme di attività eseguite in modo coordinato all’interno di un dominio organizzativo e tecnico. Tali attività realizzano, congiuntamente, un obiettivo strategico. Ogni processo è eseguito all’interno di un’organizzazione, ma può interagire con processi di altre organizzazioni (Weske, 2011) 23
  24. 24. 24
  25. 25. Business Process Management Un insieme di 
 concetti, metodologie e tecniche 
 per supportare la 
 modellazione, amministrazione, configurazione, esecuzione, e analisi 
 dei 
 processi di business 25
  26. 26. Ciclo di vita dei processi 26
  27. 27. Business Process Lifecycle 27 8 1 Introduction Fig. 1.3 The BPM life-cycle showing the different uses of process models As Fig. 1.3 shows, process models play a dominant role in the (re)design and © W.M.P. van der Aalst. Process Mining. Springer, 2011.
  28. 28. L’approccio classico 28 1 Introduction 3 The BPM life-cycle showing the different uses of process models Fig. 1.3 shows, process models play a dominant role in the (re)design and
  29. 29. Quali modelli? Modelli strutturali • Rappresentano la struttura del dominio di interesse • Indicano le entità e le relazioni rilevanti per l’attività dell’organizzazione • Esempi “generici”: i modelli sottostanti i sistemi CRM/ERP 29
  30. 30. Quali modelli? Modelli dinamici (di processo) • Visione end-to-end del business • Attività e meccanismi di coordinamento nel tempo • Es.: order-to-cash, procure-to-pay, issue-to-resolution, … 30 Receive order Check availability Article available? Ship article Financial settlement yes Procurement no Payment received Inform customer Late deliveryUndeliverable Customer informed Inform customer Article removed Remove article from catalogue Input Output
  31. 31. Creazione di modelli Tipica metodologia • Modellazione • Interazione continua con esperti di dominio e clienti • Modularizzazione + raffinamento iterativo • Processo ripetuto per il sistema “as-is” e il sistema “to-be” • Importante di per sé • Creazione di un “contratto basato sui modelli” • Uso dei modelli in fase di audit • Progetto • modelli consegnati all’IT 31
  32. 32. Tipica metodologia • Modellazione • Interazione continua con esperti di dominio e clienti • Modularizzazione + raffinamento iterativo • Processo ripetuto per il sistema “as-is” e il sistema “to-be” • Importante di per sé • Creazione di un “contratto basato sui modelli” • Uso dei modelli in fase di audit • Progetto • modelli consegnati all’IT Creazione di modelli 32 I modelli sono corretti? Verifica Riflettono la realtà? Validazione Gli artefatti computazionale corrispondono ai modelli? Allineamento concettuale
  33. 33. Correttezza di modelli strutturali • I modelli sviluppati sono consistenti? • I vincoli modellati sono in conflitto tra loro? • Quale conoscenza implicita è nascosta nei modelli? • Come rispondere a queste domande quando i modelli sono sviluppati a più mani, contengono migliaia di concetti e relazioni, vanno integrati con altri modelli? 33
  34. 34. Esempio con UML 34 credits to Enrico Franconi
  35. 35. OBDI framework Query answering Ontology languages Mappings Identity Conclusions Capturing UML class diagrams/ER schemas in DL-Lite Researcher name: String salary: Integer Manager PrincInv Coordinator Project projectName: String 1..? supvsdBy H 1..1 1..? worksFor H 1..? 1..1 manages N 1..1 {disjoint} Manager v Researcher PrincInv v Manager Coordinator v Manager PrincInv v ¬Coordinator Researcher v 9salary 9salary v xsd:int (funct salary) 9worksFor v Researcher 9worksFor v Project Researcher v 9worksFor Project v 9worksFor 9manages v Coordinator 9manages v Project Coordinator v 9manages Project v 9manages manages v worksFor (funct manages) (funct manages ) · · ·DL-Lite cannot capture covering constraints. To do so, would require disjunction. Diego Calvanese (FUB) Ontologies for Data Integration FOfAI 2015, Buenos Aires – 27/7/2015 (25/52) KR alla riscossa • Knowlege representation and automated reasoning: area dell’AI focalizzata sulla rappresentazione della conoscenza e l’automazione del ragionamento • Ragionamento su modelli strutturali tradotto in un problema di deduzione logica • Intensa ricerca su algoritmi efficienti 35
  36. 36. E i dati? 36 ntology: Wellbore wbName: String altName: String Licence number: String hasLicence I ata sources: D1, D2, D3 contain information about wellbores. D4 contains information about licences. D1 D2 D3 D4 id1 name a1 ’A’ a2 ’B’ a3 ’H’ id2 name Well b1 null 1 b2 ’C’ 2 b6 ’B’ 3 id3 aName c3 ’U1’ c4 ’U2’ c5 ’U6’ id4 lNum 9 ’Z1’ 8 ’Z2’ 7 ’Z3’ appings: Wellbore and wbName are defined using D1 and D2. altName is defined using D3. hasLicense is defined using D4. Moreover, URIs for wellbores from source Dk are generated as wbk(id). lvanese (FUB) Ontologies for Data Integration FOfAI 2015, Buenos Aires – 27/7/2015
  37. 37. Albori dei sistemi informativi 37 OS Application 1970 OS GUI DBMS Application OS DBMS Application Database Database t 1980 1990 from M. Weske: Business Process Management, © Springer-Verlag Berlin Heidelberg 2007
  38. 38. Sistemi verticali e integrazione 38 OS DBMS Human Resources Application HR DB OS DBMS Purchase Order Management POM DB OS Warehouse Management Warehouse file system data store Redundancy of data
  39. 39. Sistemi ERP 39 OS DBMS Client nClient 2Client 1 ERP Server Application ERP Database . . .
  40. 40. Evoluzione a silos • Necessità di estendere ERP coprendo altre funzionalità fondamentali (CRM, supply chain) 40 OS DBMS Application Logic of CRM System GUI OS DBMS OS DBMS Application Logic of SCM System Application Logic of ERP System GUI GUI SCM Database ERP Database CRM Database
  41. 41. Integrazione punto a punto • Problema di flessibilità • Frammentazione concettuale 41 ERP System CRM System SCM System Inventory Management Data Warehouse Human Resources Application
  42. 42. Da qui… Collegamento con i dati 42 OBDI framework Query answering Ontology languages Mappings Identity Conclusions Capturing UML class diagrams/ER schemas in DL-Lite Researcher name: String salary: Integer Manager PrincInv Coordinator Project projectName: String 1..? supvsdBy H 1..1 1..? worksFor H 1..? 1..1 manages N 1..1 {disjoint} Manager v Researcher PrincInv v Manager Coordinator v Manager PrincInv v ¬Coordinator Researcher v 9salary 9salary v xsd:int (funct salary) 9worksFor v Researcher 9worksFor v Project Researcher v 9worksFor Project v 9worksFor 9manages v Coordinator 9manages v Project Coordinator v 9manages Project v 9manages manages v worksFor (funct manages) (funct manages ) · · ·DL-Lite cannot capture covering constraints. To do so, would require disjunction. Diego Calvanese (FUB) Ontologies for Data Integration FOfAI 2015, Buenos Aires – 27/7/2015 (25/52)
  43. 43. …a qui! Collegamento con i dati 43
  44. 44. Risultato Crompton (2008): gli esperti di dominio spendono (troppo) tempo nel cercare i dati utili per prendere decisioni ed eseguire le proprie attività • Ingegneri del settore petrolifero/gas: 30-70% del proprio lavoro in ricerca e analisi qualità dei dati 44
  45. 45. Optique • Progetto EU Optique: Scalable, End-User Access to Big Data) • http://optique-project.eu • Obiettivo: sviluppo di tecniche per l’accesso “concettuale” a grossi moli di dati • Casi di studio: Statoil (trivellazioni), Siemens (turbine) • In Statoil, esperti geologi e geofisici sviluppano modelli stratigrafici di aree inesplorate, sulla base dei dati acquisiti su operazioni di trivellazione fatte in aree vicine 45
  46. 46. Fatti su Statoil • 1000 TB di dati memorizzati in DB relazionali (standard SQL) • Schemi non allineati • Più di 2000 tabelle, sparpagliate in vari DBMS • 900 esperti nella divisione “Statoil Exploration” • 30-70% del tempo speso in ricerca dei dati • Fino a 4 gg necessari per formulare le interrogazioni richieste e farle tradurre in SQL dagli esperti IT 46
  47. 47. Esempio di interrogazione 47 OBDI framework Query answering Ontology languages Mappings Identity Conclusions How much time/money is spent searching for data? A user query at Statoil Show all norwegian wellbores with some aditional attributes (wellbore id, completion date, oldest penetrated age,result). Limit to all wellbores with a core and show attributes like (wellbore id, core number, top core depth, base core depth, intersecting stratigraphy). Limit to all wellbores with core in Brentgruppen and show key atributes in a table. After connecting to EPDS (slegge) we could for instance limit futher to cores in Brent with measured permeability and where it is larger than a given value, for instance 1 mD. We could also find out whether there are cores in Brent which are not stored in EPDS (based on NPD info) and where there could be permeability values. Some of the missing data we possibly own, other not. Diego Calvanese (FUB) Ontologies for Data Integration FOfAI 2015, Buenos Aires – 27/7/2015 (5/52)
  48. 48. 48 er query at Statoil w all norwegian wellbores with some aditional attributes bore id, completion date, oldest penetrated age,result). Lim wellbores with a core and show attributes like (wellbore id number, top core depth, base core depth, intersecting graphy). Limit to all wellbores with core in Brentgruppen key atributes in a table. After connecting to EPDS (slegg ould for instance limit futher to cores in Brent with measu eability and where it is larger than a given value, for insta We could also find out whether there are cores in Brent w ot stored in EPDS (based on NPD info) and where there ermeability values. Some of the missing data we possibly o not. SELECT [...] FROM db_name.table1 table1, db_name.table2 table2a, db_name.table2 table2b, db_name.table3 table3a, db_name.table3 table3b, db_name.table3 table3c, db_name.table3 table3d, db_name.table4 table4a, db_name.table4 table4b, db_name.table4 table4c, db_name.table4 table4d, db_name.table4 table4e, db_name.table4 table4f, db_name.table5 table5a, db_name.table5 table5b, db_name.table6 table6a, db_name.table6 table6b, db_name.table7 table7a, db_name.table7 table7b, db_name.table8 table8, db_name.table9 table9, db_name.table10 table10a, db_name.table10 table10b, db_name.table10 table10c, db_name.table11 table11, db_name.table12 table12, db_name.table13 table13, db_name.table14 table14, db_name.table15 table15, db_name.table16 table16 WHERE [...] table2a.attr1=‘keyword’ AND table3a.attr2=table10c.attr1 AND table3a.attr6=table6a.attr3 AND table3a.attr9=‘keyword’ AND table4a.attr10 IN (‘keyword’) AND table4a.attr1 IN (‘keyword’) AND table5a.kinds=table4a.attr13 AND table5b.kinds=table4c.attr74 AND table5b.name=‘keyword’ AND (table6a.attr19=table10c.attr17 OR (table6a.attr2 IS NULL AND table10c.attr4 IS NULL)) AND table6a.attr14=table5b.attr14 AND table6a.attr2=‘keyword’ AND (table6b.attr14=table10c.attr8 OR (table6b.attr4 IS NULL AND table10c.attr7 IS NULL)) AND table6b.attr19=table5a.attr55 AND table6b.attr2=‘keyword’ AND table7a.attr19=table2b.attr19 AND table7a.attr17=table15.attr19 AND table4b.attr11=‘keyword’ AND table8.attr19=table7a.attr80 AND table8.attr19=table13.attr20 AND table8.attr4=‘keyword’ AND table9.attr10=table16.attr11 AND table3b.attr19=table10c.attr18 AND table3b.attr22=table12.attr63 AND table3b.attr66=‘keyword’ AND table10a.attr54=table7a.attr8 AND table10a.attr70=table10c.attr10 AND table10a.attr16=table4d.attr11 AND table4c.attr99=‘keyword’ AND table4c.attr1=‘keyword’ AND table11.attr10=table5a.attr10 AND table11.attr40=‘keyword’ AND table11.attr50=‘keyword’ AND table2b.attr1=table1.attr8 AND table2b.attr9 IN (‘keyword’) AND table2b.attr2 LIKE ‘keyword’% AND table12.attr9 IN (‘keyword’) AND table7b.attr1=table2a.attr10 AND table3c.attr13=table10c.attr1 AND table3c.attr10=table6b.attr20 AND table3c.attr13=‘keyword’ AND table10b.attr16=table10a.attr7 AND table10b.attr11=table7b.attr8 AND table10b.attr13=table4b.attr89 AND table13.attr1=table2b.attr10 AND table13.attr20=’‘keyword’’ AND table13.attr15=‘keyword’ AND table3d.attr49=table12.attr18 AND table3d.attr18=table10c.attr11 AND table3d.attr14=‘keyword’ AND table4d.attr17 IN (‘keyword’) AND table4d.attr19 IN (‘keyword’) AND table16.attr28=table11.attr56 AND table16.attr16=table10b.attr78 AND table16.attr5=table14.attr56 AND table4e.attr34 IN (‘keyword’) AND table4e.attr48 IN (‘keyword’) AND table4f.attr89=table5b.attr7 AND table4f.attr45 IN (‘keyword’) AND table4f.attr1=‘keyword’ AND table10c.attr2=table4e.attr19 AND (table10c.attr78=table12.attr56 OR (table10c.attr55 IS NULL AND table12.attr17 IS NULL))
  49. 49. 49 er query at Statoil w all norwegian wellbores with some aditional attributes bore id, completion date, oldest penetrated age,result). Lim wellbores with a core and show attributes like (wellbore id number, top core depth, base core depth, intersecting graphy). Limit to all wellbores with core in Brentgruppen key atributes in a table. After connecting to EPDS (slegg ould for instance limit futher to cores in Brent with measu eability and where it is larger than a given value, for insta We could also find out whether there are cores in Brent w ot stored in EPDS (based on NPD info) and where there ermeability values. Some of the missing data we possibly o not. SELECT [...] FROM db_name.table1 table1, db_name.table2 table2a, db_name.table2 table2b, db_name.table3 table3a, db_name.table3 table3b, db_name.table3 table3c, db_name.table3 table3d, db_name.table4 table4a, db_name.table4 table4b, db_name.table4 table4c, db_name.table4 table4d, db_name.table4 table4e, db_name.table4 table4f, db_name.table5 table5a, db_name.table5 table5b, db_name.table6 table6a, db_name.table6 table6b, db_name.table7 table7a, db_name.table7 table7b, db_name.table8 table8, db_name.table9 table9, db_name.table10 table10a, db_name.table10 table10b, db_name.table10 table10c, db_name.table11 table11, db_name.table12 table12, db_name.table13 table13, db_name.table14 table14, db_name.table15 table15, db_name.table16 table16 WHERE [...] table2a.attr1=‘keyword’ AND table3a.attr2=table10c.attr1 AND table3a.attr6=table6a.attr3 AND table3a.attr9=‘keyword’ AND table4a.attr10 IN (‘keyword’) AND table4a.attr1 IN (‘keyword’) AND table5a.kinds=table4a.attr13 AND table5b.kinds=table4c.attr74 AND table5b.name=‘keyword’ AND (table6a.attr19=table10c.attr17 OR (table6a.attr2 IS NULL AND table10c.attr4 IS NULL)) AND table6a.attr14=table5b.attr14 AND table6a.attr2=‘keyword’ AND (table6b.attr14=table10c.attr8 OR (table6b.attr4 IS NULL AND table10c.attr7 IS NULL)) AND table6b.attr19=table5a.attr55 AND table6b.attr2=‘keyword’ AND table7a.attr19=table2b.attr19 AND table7a.attr17=table15.attr19 AND table4b.attr11=‘keyword’ AND table8.attr19=table7a.attr80 AND table8.attr19=table13.attr20 AND table8.attr4=‘keyword’ AND table9.attr10=table16.attr11 AND table3b.attr19=table10c.attr18 AND table3b.attr22=table12.attr63 AND table3b.attr66=‘keyword’ AND table10a.attr54=table7a.attr8 AND table10a.attr70=table10c.attr10 AND table10a.attr16=table4d.attr11 AND table4c.attr99=‘keyword’ AND table4c.attr1=‘keyword’ AND table11.attr10=table5a.attr10 AND table11.attr40=‘keyword’ AND table11.attr50=‘keyword’ AND table2b.attr1=table1.attr8 AND table2b.attr9 IN (‘keyword’) AND table2b.attr2 LIKE ‘keyword’% AND table12.attr9 IN (‘keyword’) AND table7b.attr1=table2a.attr10 AND table3c.attr13=table10c.attr1 AND table3c.attr10=table6b.attr20 AND table3c.attr13=‘keyword’ AND table10b.attr16=table10a.attr7 AND table10b.attr11=table7b.attr8 AND table10b.attr13=table4b.attr89 AND table13.attr1=table2b.attr10 AND table13.attr20=’‘keyword’’ AND table13.attr15=‘keyword’ AND table3d.attr49=table12.attr18 AND table3d.attr18=table10c.attr11 AND table3d.attr14=‘keyword’ AND table4d.attr17 IN (‘keyword’) AND table4d.attr19 IN (‘keyword’) AND table16.attr28=table11.attr56 AND table16.attr16=table10b.attr78 AND table16.attr5=table14.attr56 AND table4e.attr34 IN (‘keyword’) AND table4e.attr48 IN (‘keyword’) AND table4f.attr89=table5b.attr7 AND table4f.attr45 IN (‘keyword’) AND table4f.attr1=‘keyword’ AND table10c.attr2=table4e.attr19 AND (table10c.attr78=table12.attr56 OR (table10c.attr55 IS NULL AND table12.attr17 IS NULL)) 50.000.000 € persi ogni anno
  50. 50. Quali soluzioni? • Migrazione verso sistemi monolitici/integrati • Sostenibile in termini di costi? • Ogni quanto? • Come integrare sistemi legacy? • Come gestire la ridondanza dei dati? • Non risolve il problema di “comprendere” i dati, comunque necessario per una buona migrazione • Attenzione: questi problemi esistono anche per le PMI!!! 50
  51. 51. OBDA Accesso ai dati mediato da ontologie 51 OBDI framework Query answering Ontology languages Mappings Identity Conclusions Ontology-based data integration framework . . . . . . . . . . . . Query Result Ontology provides global vocabulary and conceptual view Mappings semantically link sources and ontology Data Sources external and heterogeneous We achieve logical transparency in accessing data: does not know where and how the data is stored. can only see a conceptual view of the data. sorgenti di dati modello strutturale mapping
  52. 52. OBDA • I dati vengono lasciati nelle loro sorgenti • I mapping permettono di interpretare i dati secondo i modelli concettuali sviluppati • Gli utenti finali esprimono le proprie interrogazioni sul modello concettuale • Il sistema OBDA è “intelligente”: • Traduce automaticamente le interrogazioni astratte in query eseguite sulle sorgenti di dato • Aggrega e ritraduce le risposte così ottenute 52
  53. 53. Ontop • Sistema di OBDA open-source sviluppato alla Libera Università di Bolzano (Prof. Calvanese) • Supporta standard per il web semantico (OWL, SPARQL) • Si integra con una pletora di DBMS relazionali • Apache open license • http://ontop.inf.unibz.it 53
  54. 54. Correttezza dei modelli di processo Analisi di tutte le possibili “dinamiche” • Conformità con le leggi (compliance/governance) • Proprietà generali desiderate (terminazione, assenza di vicoli ciechi, …) • Proprietà di dominio • è possibile chiudere un ordine senza pagarlo? • è sempre vero che un utente non può accedere a due offerte contemporaneamente? • è garantito che chi apre un “ticket” viene prima o poi servito? • … 54
  55. 55. Verifica Formale Modello di processo 55 Proprietà (non) desiderata
  56. 56. Proprietà (non) desiderata Sistema a transizioni Formula temporale|= Verifica Formale 56 Modello di processo
  57. 57. |= Verifica via model checking 2007 Turing award: Clarke, Emerson, Sifakis Verifica Formale 57 Modello di processo Proprietà (non) desiderata Sistema a transizioni Formula temporale
  58. 58. I modelli di processo sono adeguati? 58
  59. 59. BPM! 59
  60. 60. BPM? 60
  61. 61. Il tema della flessibilità 61
  62. 62. Il nuovo trend 62 8 1 Introduction Fig. 1.3 The BPM life-cycle showing the different uses of process models As Fig. 1.3 shows, process models play a dominant role in the (re)design and
  63. 63. Ma ad oggi? • Processi solo parzialmente automatizzati • I sistemi lasciano quasi sempre la possibilità di trovare una scappatoia • Se non lo fanno, il rischio è che le persone agiscano fuori dal sistema per poi utilizzarlo a posteriori • Incremento processi knowledge-intensive, inter- organizzativi, distribuiti —> solo parzialmente controllabili! 63
  64. 64. Processo clinico modellato 64
  65. 65. Processo clinico reale 65 eexceptions.Figure4depictstheresultofafirstattempttoanalyzethe icationserverlogsusingtheheuristicsminer[4]. Exception (complete) 187 EstabelecimentoNotFoundException (complete) 187 0,991 152 GREJBPersistencyException (complete) 179 0,909 159 PGWSException (complete) 168 0,889 12 ITPTExternalServiceException (complete) 183 0,944 162 SIPSCNoRecordsFoundException (complete) 160 0,8 5 PessoaSingularNotFoundException (complete) 138 0,667 3 BusinessLogicException (complete) 183 0,75 4 SICCLException (complete) 175 0,857 19 NaoExistemRegistosException (complete) 143 0,833 6 RPCBusinessException (complete) 38 0,75 3 SAFBusinessException (complete) 115 0,8 68 GREJBBusinessException (complete) 45 0,75 23 DESWSException (complete) 14 0,667 14 NullPointerException (complete) 104 0,8 91 ValidationException (complete) 31 0,8 12 GILBusinessException (complete) 14 0,5 6 GRServicesException (complete) 7 0,667 3 CSIBusinessException (complete) 14 0,5 6 ConcorrenciaException (complete) 5 0,5 2 CSIPersistencyException (complete) 3 0,5 2 0,857 34 ITPTServerException (complete) 21 0,667 15 COOPException (complete) 4 0,5 2 RSIValidationException (complete) 25 0,667 18 BasicSystemException (complete) 16 0,667 11 PesquisaAmbiguaException (complete) 6 0,5 6 CPFBusinessException (complete) 3 0,5 2 0,8 95 ADOPException (complete) 6 0,5 5 AFBusinessException (complete) 64 SIPSCRemoteBusinessException (complete) 51 0,833 13 ConcurrentModificationException (complete) 5 0,5 1 CDFBusinessException (complete) 6 0,667 2 AssinaturaNaoIncluidaException (complete) 1 0,5 1 SICCSException (complete) 32 0,8 11 CartaoCidadaoException (complete) 64 0,833 38 SOAPException (complete) 22 0,667 14 TooManyRowsException (complete) 112 0,667 18 SIPSCFatalException (complete) 20 0,667 9 LimiteTemporalException (complete) 4 0,5 2 0,8 28 SVIBusinessUserException (complete) 18 0,75 12 GRConcurrencyException (complete) 8 0,5 2 ContribuinteRegionalNotFoundException (complete) 63 0,75 30 JDOFatalUserException (complete) 124 0,947 49 0,667 5 SQLException (complete) 9 0,667 7 IOException (complete) 27 0,75 22 PessoaColectivaNotFoundException (complete) 23 0,75 20 ServiceDelegateRemoteException (complete) 3 0,5 2 0,5 5 PASException (complete) 2 0,5 1 FileNotFoundException (complete) 31 0,75 13 QgenMIParametrizedBusinessException (complete) 1 0,5 1 ADOPMessageException (complete) 3 0,5 2 LayoffException (complete) 1 0,5 1 0,75 8 CMPException (complete) 1 0,5 1 GREJBRemoteServiceException (complete) 34 0,75 4 RSIPersistenceException (complete) 24 0,75 4 CSIRemoteException (complete) 3 0,5 1 SIPSCFatalRemoteCallException (complete) 3 0,5 1 SIPSCDatabaseException (complete) 1 0,5 1 BusinessException (complete) 159 0,667 9 SVIBusinessException (complete) 1 0,5 1 ParametrizedBusinessException (complete) 2 0,5 2 GDServicesException (complete) 4 0,5 3 ServerException (complete) 132 0,75 16 PGException (complete) 6 0,667 5 0,75 4 DESException (complete) 135 0,667 13 0,667 2 0,75 9 SIPSCException (complete) 27 0,75 9 ReportException (complete) 5 0,667 2 SSNServiceException (complete) 1 0,5 1 AFException (complete) 1 0,5 1 InvalidNISSException (complete) 14 0,75 4 0,75 14 GILConcurrencyException (complete) 1 0,5 1 RSISystemException (complete) 28 0,75 7 0,667 5 0,667 1 0,75 2 0,667 5 0,833 5 0,667 5 0,667 4 0,75 12 0,981 53 ADOPUserChoiceException (complete) 1 0,5 1 0,667 5 RPCException (complete) 1 0,5 1 GREJBConcurrencyException (complete) 15 0,875 8 0,5 1 0,5 1 0,667 1 MoradaPortuguesaNotFoundException (complete) 1 0,5 1 0,75 4 0,5 1 0,667 6 0,5 1 0,5 2 0,889 8 0,75 3 0,8 3 RSIException (complete) 1 0,5 1 0,5 1 0,5 1 0,667 4 0,667 3 0,5 1 0,5 2 0,75 5 0,5 1 0,5 1 0,5 2 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,5 1 0,8 1 0,5 1 0,5 1 0,5 1 4.Spaghettimodelobtainedfromtheapplicationserverlogsusingtheheuristics r.
  66. 66. L’impasse • Esperti di dominio: visione locale • Management: visione globale ma spesso non allineata alla realtà • Come facciamo a riportare la realtà in azienda? 66
  67. 67. Economia digitale Validare i modelli rispetto alla realtà richiede innanzitutto di ottenere una “impronta digitale” della realtà 67
  68. 68. Dati nei sistemi controllati • Tracciatura di tutti gli eventi importanti necessaria • Alla gestione interna • Al calcolo di indicatori importanti (KPI) • Per legge (compliance e audit esterni) 68
  69. 69. Dati “fuori controllo” Tracciati da qualche parte! 
 La nostra è una società digitale! 69
  70. 70. 70
  71. 71. Data Science • Nuova area all’intersezione tra informatica, management, statistica, apprendimento automatico • Richiede nuovi esperti in big data management&analytics, data mining, machine learning, data visualization, aspetti legali ed etici legati alla gestione dei dati, … 71
  72. 72. 72
  73. 73. Alcuni esempi 73
  74. 74. I modelli servono? 74
  75. 75. Mars Orbiter • Dispositivo per lo studio del clima marziano • Costo missione: 327.600.000 € • Perso al momento di entrare in orbita su Marte 75 Why Data is not Enough • Developed to study the martian climate and atmosphere. • Mission cost: $ 327.6M. • During the orbital insertion maneuver, it went out of radio contact permanently. • Why? Metric Mixup. I Software on orbiter: Newtons; Software on earth: Pound-force. Conversion factor: ≥ 4.5. I Same data, di erent interpretations. I Lack of testing (and budget). Danger of re-use.
  76. 76. Causalità vs Casualità 76
  77. 77. Causalità vs Casualità 77
  78. 78. Verso il completamento 
 del ciclo 78 8 1 Introduction Fig. 1.3 The BPM life-cycle showing the different uses of process models As Fig. 1.3 shows, process models play a dominant role in the (re)design and
  79. 79. Process Mining 79 1.3 Process Mining 9 Fig. 1.4 Positioning of the three main types of process mining: discovery, conformance, and en- hancement
  80. 80. Punto di partenza • Visione orientata ai processi dei dati che tracciano la realtà • IEEE Standard XES • Dati di partenza ottenibili con… • Tecniche ETL • Data warehousing • OBDA (ricerca attiva) 80 Technische Universiteit Eindhoven University of Technology Log Trace Event Float Int Date String Container List Attribute Classifier Extension name prefix URI Key Value <declares> <defines> <defines> <defines> <trace-global> <event-global> <contains> <contains> ntains> ntains> Boolean <orders>
  81. 81. Play-out 81 register travel request (a) get detailed motivation letter (c) get support from local manager (b) check budget by finance (d) decide (e) accept request (g) reject request (h) reinitiate request (f) start end Case Activity Timestamp Resource 432 register travel request (a) 18-3-2014:9.15 John 432 get support from local manager (b) 18-3-2014:9.25 Mary 432 check budget by finance (d) 19-3-2014:8.55 John 432 decide (e) 19-3-2014:9.36 Sue 432 accept request (g) 19-3-2014:9.48 Mary credits to W.M.P. van der Aalst
  82. 82. 82
  83. 83. Play-in 83 register travel request (a) get detailed motivation letter (c) get support from local manager (b) check budget by finance (d) decide (e) accept request (g) reject request (h) reinitiate request (f) start end Case Activity Timestamp Resource 432 register travel request (a) 18-3-2014:9.15 John 432 get support from local manager (b) 18-3-2014:9.25 Mary 432 check budget by finance (d) 19-3-2014:8.55 John 432 decide (e) 19-3-2014:9.36 Sue 432 accept request (g) 19-3-2014:9.48 Mary credits to W.M.P. van der Aalst
  84. 84. Discovery 84 credits to W.M.P. van der Aalst
  85. 85. Replay 85 register travel request (a) get detailed motivation letter (c) get support from local manager (b) check budget by finance (d) decide (e) accept request (g) reject request (h) reinitiate request (f) start end Case Activity Timestamp Resource 432 register travel request (a) 18-3-2014:9.15 John 432 get support from local manager (b) 18-3-2014:9.25 Mary 432 check budget by finance (d) 19-3-2014:8.55 John 432 decide (e) 19-3-2014:9.36 Sue 432 accept request (g) 19-3-2014:9.48 Mary credits to W.M.P. van der Aalst
  86. 86. Conformance Checking 86 credits to W.M.P. van der Aalst
  87. 87. Hands-on • Piccola azienda dedicata allo sviluppo di tecniche di process mining • Tool Disco • Slide successive: credits a Anne Rozinat e Christian Guenther 87
  88. 88. Scenario 88 Purchasing process ERP Requester Purchasing Agent Requester Manager Supplier Financial Manager
  89. 89. Strategia 89 Questions Data Extraction Presentation Data Analysis
  90. 90. Problemi 1.Gestione inefficiente 2.Lamentele sui tempi di gestione 3.Necessità di mostrare compliance 90
  91. 91. Estrazione dati • Il personale IT estrae i log di eventi dal sistema ERP dell’azienda • Il log è estratto come file di testo (campi separati da virgole) 91 ERP CSV Data
  92. 92. 92
  93. 93. Importazione dei dati • Identificazione delle colonne • Dove si trova l’identificativo dell’istanza di processo (id dell’ordine)? • Dove stanno le attività? • E i tempi di esecuzione? • Dove trovo i ruoli e i responsabili delle attività? 93
  94. 94. 94
  95. 95. Magia… 95
  96. 96. Dettagli 96
  97. 97. Zoom 97 Uscita!!!
  98. 98. Interazione! 98
  99. 99. fluxicon
  100. 100. fluxicon Vista sui tempi di esecuzione
  101. 101. fluxicon
  102. 102. Visione organizzativa 102
  103. 103. Uno sguardo ulteriore • ProM framework (iniziativa accademica, centinaia di plug-in) 103 creenshot of ProM 5.2 PAGE 7
  104. 104. Conclusioni • BPM come metafora di gestione organizzativa orientata alla “qualità totale” • Necessità di connettere i modelli prodotti alla realtà • Supporto alla creazione di modelli di qualità • Process mining per arricchire, modificare, approfondire i modelli con “l’impronta digitale” della realtà 104
  105. 105. Grazie 105

×