Verifica di conformità di processi di business alle norme Laura Giordano Dipartimento di...

Post on 02-May-2015

216 views 0 download

Transcript of Verifica di conformità di processi di business alle norme Laura Giordano Dipartimento di...

Verifica di conformità

di processi di business

alle norme

Laura GiordanoDipartimento di Informatica

Università del Piemonte Orientale

Verifica di conformità

di processi di business

alle norme

- Quali linguaggi di specifica?- Quali tecniche di verifica?- Quali strumenti per la verifica?

Quale linguaggio di specifica?

•Molti linguaggi di business process modelling e di workflow:

BPMN, XPDL, BPEL, EPCs, UML-AD, YAWL, ...

• Linguaggio YAWL [Van der Aalst&Hoefstede, 2002]:

•pochi costrutti e piena copertura dei workflow patterns

•mapping di gran parte dei linguaggi di workflow e di BPM in YAWL

•open source workflow system

•workflow YAWL: Rete di Petri estesa

Esempio di processo bancario

Verifica di Norme

(1) La banca deve fornire all’investitore informazioni adeguate sui suoi servizi e le sue politiche prima che ogni contratto venga siglato

(2) Se l’investitore firma un ordine, la banca è tenuta ad inviargli una copia del contratto

Quali tecniche di verifica?

•Le tecniche di verifica di workflow sono basate sull’uso di Reti di Petri e tecniche di Model Checking.

- Esempio: traduzione di BPMN in Promela (SPIN)

- Strumenti per la verifica di workflow in YAWL (soundness, weak soundness,...) basati sull’analisi dello spazio degli stati (tecniche di riduzione dello spazio degli stati)

•Obiettivo: estendere tali tecniche alla verifica delle norme

Verifica delle normemediante model

checking•modello =

business process

•proprietà = norma da verificare

Le norme come proprietà da verificare

•La codifica delle norme come proprietà (formule temporali) da verificare non è banale:

•le norme possono essere fra loro conflittuali, possono avere priorità ed eccezioni

•necessario stabilire una connessione fra le norme (proprietà da provare) ed il modello sulla base di annotazioni

“I veicoli sono soggetti al pagamento della tassa automobilistica, con l’eccezione delle auto intestate a disabili,

delle autoambulanze, dei veicoli in dotazione alle forze armate,..........”

Verifica delle norme nella logica computazionale

•Processi di business e norme modellati nel medesimo formalismo logico

• Norme come regole che generano obblighi, proibizioni e permessi (rappresentazione modulare delle regole)

• Bounded model checking nella logica computazionale per verificare che gli obblighi siano realizzati

Individuare esecuzioni che violano le norme (sistemi dlv, Smodels)

Verifica di norme

•Model Checking

- Petri Nets

- LTL model checking (SPIN)

- Bounded Model Checking

Verifica di YAWL-net .......

<xs:schema xmlns:xs="http://www.w3.org/2001/ XMLSchema" /> <decomposition id="New_Net_1" isRootNet="true" xsi:type="NetFactsType"> <processControlElements> <inputCondition id="InputCondition_1"> <flowsInto> <nextElementRef id="Investor_identification_3" /> </flowsInto> </inputCondition> <task id="Investor_identification_3"> <name>Investor identification</name> <flowsInto> <nextElementRef id="Investor_profiling_5" /> </flowsInto> <join code="xor" /> <split code="and" /> </task>. .......

MapperMapper

CPNCPN Promela Promela processprocess

Model CheckerModel Checker

Logical Logical specificationspecification