Processes and organizations - a look behind the paper wall
Verso una gestione IT delle organizzazioni fondata sulla realtà
1. Verso un
supporto IT alle organizzazioni
fondato sulla realtà
Marco Montali
Facoltà di Scienze e Tecnologie Informatiche
Libera Università di Bolzano1
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. 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
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
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. 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. 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. 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. 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. 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
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.
•
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. 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. 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. 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. 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
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
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. 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. 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. 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. 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. 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
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. 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
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
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. Integrazione punto a punto
• Problema di flessibilità
• Frammentazione concettuale
41
ERP System
CRM System
SCM System
Inventory
Management
Data Warehouse
Human Resources
Application
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)
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. 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. 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. 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
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
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. 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. 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. 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. 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. 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
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
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. 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
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. Economia digitale
Validare i modelli rispetto alla realtà
richiede innanzitutto di ottenere una
“impronta digitale” della realtà
67
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
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
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.
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. 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. 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. 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
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
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
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
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
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
103. Uno sguardo ulteriore
• ProM framework (iniziativa accademica, centinaia di plug-in)
103
creenshot of ProM 5.2
PAGE 7
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