Sei sulla pagina 1di 18

Facolt di Scienze Matematiche Fisiche e Naturali Corso di laurea Magistrale in Informatica curriculum Ingegneria Informatica

PROGETTO E REALIZZAZIONE DI MOTORI BPMN 2.0 ESTENSIBILI PER WORKFLOW SCIENTIFICI E LORO VALUTAZIONE SPERIMENTALE
svolta presso ESTECO S.p.A.

Laureando: Marco CELLA

Relatore:

Prof. Ing. Eric MEDVET

Correlatore: Dott. Carlos KAVKA Anno accademico 2010/2011

Scenario
Workflow: automazione dei passi di esecuzione dei processi Workflow Scientifici Risoluzione problemi scientifici Supporto nella analisi e monitoraggio dei dati Ambienti di calcolo complessi e distribuiti, sistemi affidabili Elaborazione di grandi quantit di dati

Obiettivi
Sviluppo di un motore di esecuzione in sistema di controllo per

workflow scientifici a partire da due motori di esecuzione per


business workflow

Studio della fase di esecuzione di processi in sistemi di controllo


per workflow scientifici

Esempio Applicativo
Problema di ottimizzazione multi obiettivo Funzioni obiettivo Obiettivi in conflitto tra loro Vincoli sulle variabili decisionali Fasi di studio Pianificazione della ottimizzazione

Selezione dei design da valutare


Algoritmo di ottimizzazione Simulazione: esecuzione del workflow
Design di un modello di vela

Interpretazione dei risultati (post-processing)

Esempio Applicativo
Problema: sviluppo del design di un modello di vela Obiettivi: max forza motrice, min momento di sbandamento Variabili di progetto riferite alla figura della vela

Modello di workflow
Creazione della struttura mesh della vela Simulazione del modello di vela

Estrazione delle metriche (obiettivi)


Variabili di progetto

Esempio Applicativo - Workflow

camber layers 1...4 draft layers 1...4

twist layers 3...4 mesh-file

cfxprefile cfxppstfile

Output_forces

MORPHING

CFX_RUN

SELECT METRICS

area

mesh-file

Output_forces

Fx

Fz

Sistemi di controllo per workflow scientifici


Sistema di controllo per workflow scientifici
Presentazione

Presentazione e Visualizzazione

Realizzazione del workflow

Gestione Workflow

altri Workflow Engine

Workflow Engine

Amministrazione e strumenti di monitoraggio

Gestione Task

Gestione dati e tipi di dato

Gestione delle informazioni di provenienza dei dati

Gestione dei Task

Livello Operativo

Ambienti di esecuzione

Sorgenti dati

Strumenti software

Servizi

Sistemi di controllo per workflow scientifici


Operazioni di creazione, gestione, esecuzione e monitoraggio di workflow
Requisiti User Interface Riproducibilit scientifica Tipi di dati Monitoraggio del workflow Gestione degli errori Interoperabilit Caratteristiche Servizi eterogenei e distribuiti

Computazione ad alto livello


Gestione esplicita del flusso dati

Standard BPMN 2.0


Perch definire uno standard Portabilit del modello di workflow Esatta riproducibilit del processo BPMN 2.0 (Business Process Model and Notation) Regole di modellizzazione dei componenti del workflow Modello semantico Sistemi di controllo per Business workflow

Estensioni del motore BPMN 2.0


Estensione: inserimento di elementi e funzionalit al motore BPMN 2.0 Estensione del modello semantico: elementi, attributi e tipi di dati Inserimento di funzionalit al motore

Estensioni del motore BPMN 2.0


Estensione: inserimento di elementi e funzionalit al motore BPMN 2.0 Estensione del modello semantico: elementi, attributi e tipi di dati Inserimento di funzionalit al motore Modello semantico Implementato nei motori BPMN 2.0 come XML Schema

Estensioni per addizione, derivazione, ridefinizione

Estensioni del motore BPMN 2.0


Estensione: inserimento di elementi e funzionalit al motore BPMN 2.0 Estensione del modello semantico: elementi, attributi e tipi di dati Inserimento di funzionalit al motore Modello semantico Implementato nei motori BPMN 2.0 come XML Schema

Estensioni per addizione, derivazione, ridefinizione


Funzionalit dei motori BPMN 2.0 Service Task: interfaccia e tipi di dati Cicli e sottoprocessi

Motori BPMN 2.0


Framework selezionati JBoss jBPM 5 Motivazioni Licenza Apache Linguaggio Java

Alfresco Activiti
Componenti motori BPMN 2.0

Parser validazione del modello di workflow costruzione della struttura statica del processo
Servizio di esecuzione processo creazione istanza del processo esecuzione della istanza di processo

JBoss jBPM 5
Estensibilit modello semantico BPMN 2.0 Estensioni per addizione e derivazione

Estensione con custom namespace


Estensione per ridefinizione

Estensioni applicate al motore di esecuzione


Gestione di attributi ed elementi per il nodo Service Task esteso Loop Activity Sub-Process

Alfresco Activiti
Estensibilit modello semantico BPMN 2.0 Estensioni per addizione e derivazione

Estensione con custom namespace (non nella definizione di nodi)


Estensione per ridefinizione

Estensioni applicate al motore di esecuzione


Gestione della interfaccia e tipi di dati per elemento Task Inserimento di propriet nel nodo

Parse listeners ed Execution listeners

Valutazione sperimentale motori BPMN 2.0


Parametri di valutazione Corretta terminazione della esecuzione del processo

Velocit di esecuzione del processo

nValB

loopValB

InstanceCounter nrOfInstances

instanceCounter < nrOfInstances

Confronto motori BPMN 2.0


32 30 28 26

tempo di esecuzione (ore)

24 22 20 18 16 14 12 10 8 6 4 2

Activiti jBPM5

0
1000 5000 10000 25000 50000 75000

numero di istanze

Conclusioni
Obiettivi raggiunti Sviluppo di motori di esecuzione per workflow scientifici

Valutazione sperimentale motori BPMN 2.0

Sviluppi futuri

Estensione del modello semantico con nuovi elementi


Confronto tra i modelli di sviluppo di workflow scientifici