dr marcello la rosa bpm research group, queensland university of technology
TRANSCRIPT
AProMoRe: Advanced Process Model Repository
Dr Marcello La RosaBPM Research Group,
Queensland University of Technology
Fact Enterprises in various industries tend to collect thousands of
business process models over time: Thousands of activities and related artefacts
Numerous stakeholders with different skills and responsibilities
Difficult to keep track of such volumes of models (“model management”), especially due to: Overlapping content across models
Evolving content over time (legacy models vs. new versions)
Different modelling notations, e.g. EPCs, BPMN, Protos, BPEL...
Different modelling purposes and granularity
Different modelling guidelines
OpportunityResearch in BPM has flourished over the past decade:
1. Algorithms to evaluate the quality of models (e.g. correctness, structuredness)
2. Experiments to establish the factors that contribute to the understanding of process models by
users
3. Algorithms to identify similarities between process models
4. Techniques to customize process models (e.g. configuration, adaptation)
However, these techniques and tools look at process models in isolation, rather
than viewing a process model in relation to other process models, or deal with
small collections of models.
Proposal: AProMoReBuild an open and extensible platform for the storage and disclosure of
process models which provides advanced features to deal with large
process models and collections thereof.
Joint collaboration among 6 universities: QUT TU/e University of Tartu Humboldt University of Berlin University of Grenoble Hasso-Plattner Institute
Service Areas Evaluation
establish adherence to various quality notions(e.g. correctness criteria, benchmarking frameworks)
Comparisonsearch for similarities(e.g. conformance to reference models/patterns, track extensions)
Managementcontrol the creation and evolution of process models(e.g. via configuration, merging, improvement)
Presentationimprove the understanding of process models(e.g. contextualization via abstraction and colouring mechanisms)
Process models
Compare
Manage
Present
EvaluateEvaluate
Compare
Manage
Present
Canonical format: the power of losingCommon process representation as directed attributed graph:
1. Standardization – cross-language operations can be performed directly and concatenated
2. Interchangeability – non structural aspects captured by meta-data swap notations or semantics at (almost) no cost
3. Flexibility – inheritance mechanism different algorithms can work at different abstraction levels
Canonical format
Conversion chart (fragment)Canonical representationConcrete construct
WF-Net /Protos
Language
Protos
A
c1
c2 (X)ORJoin@: ® AJ
Work@: ® A
(X)ORSplit@: ® AS
c3
c4
ANDJoin@: ® AJ
Work@: ® A
ANDSplit@: ® AS
A
c1 c2
X/V
Work@: ® A
(X)ORSplit@: ® P
c1
c2P
EPC Edge@: ® c1
Edge@: ® c2
cx = Connection Condition
AS = split component of AAJ = join behavior of A
A
BPMN
XORJoin@: ® AJ
Work@: ® A
ANDSplit@: ® AS
A
Work@: ® A
ORSplit@: ® AS
c1
c1
(c3)
c2
(c3),default
cx = Flow Condition
cx = Edge with attribute condition="cx"
= Node = Edge
@: = annotation ® = refers to [concrete element]
= Edge with attribute default="true"default
Function
Event
(X)OR Connector
Task
Transition /Activity
Default Flow
Conditional Flow
c2
Note: the type of split and join (XOR or OR) can bedetermined only if this is explicitly set in a Protos Activity
A
c1 c2
c3 c4
A
YAWL
ANDJoin@: ® AJ
ORSplit@: ® AS
c1
c2
Work@: ® Ac1
c2
cx = Flow Predicate
Task
AND-join OR-split
Canonization – example
no mismatch
Createnew entry
Checkinvoicedetails
mis-match
Blockinvoice
invoicepresent
invoicenot present
Mismatchchecking
Insertinvoicedetails
Insertcustomer
detailsInvoice
outInvoice
received
Fin
anci
al D
epa
rtm
ent
LIV
Pro
cess
orO
ffic
er
ResourceTypeName: Officer
ResourceTypeName: Financial Department
specialization
ResourceTypeName: LIV Processor
ResourceTypeName: Financial Department
specialization
EventResourceType: Officer
TaskName: Check invoice details
ResourceType: Officer
EdgeCondition: Invoice not
present
EdgeCondition:
Invoice present
XORSplit
ANDSplit
TaskName: Create new entryResourceType: Officer
TaskName: Insert customer details
ResourceType: Officer
ANDJoin
XORSplit
TaskName: Block invoice
ResourceType: LIV Processor
XORJoin
TaskName: Insert invoice details
ResourceType: Officer
EdgeCondition: mismatch
EdgeCondition:
no mismatch
XORJoin
Message EventName: Invoice receivedResourceType: Officer
TaskName: Invoice out
ResourceType: Officer
TaskName: Mismatch checking
ResourceType:LIV Processor
XOR split
AND split
XOR join
XOR split
Architecture
Enterprise Layer
Intermediary Layer
Basic Layer
Portal(Web application)
Organization BPMS / Reference modelVendor
Repository Manager(public)
Toolbox(façade)
Algorithmsrelational
(De)Canonization(adapter)
XML
Data Access(basic)
Access Control(basic)
General purpose
data
Native processes, Canonical processes,
Annotations
Oryx Client Applications
Client Applications
Enterprise Layer
Intermediary Layer
Basic Layer
Portal(Web application)
Organization BPMS / Reference modelVendor
Repository Manager(public)
Toolbox(façade)
Algorithmsrelational
(De)Canonization(adapter)
XML
Data Access(basic)
Access Control(basic)
General purpose
data
Native processes, Canonical processes,
Annotations
Oryx Client Applications
Client Applications
Data layerServices: Portal, Manager, (De)Canonizer, Data AccessXML Schema for Canonical Process Format and AnnotationFacade classes to manipulate CPF, ANF, YAWL, EPML, XPDL...Facade-based (de)canonizer:
Full EPML 2.0 (EPCs, eEPCs, iEPCs, C-EPCs, C-iEPCs)Full XPDL 2.1 (BPMN 1.0, 1.1, 1.2)
WS functionalities (import, export, simple filter, edit)Oryx integration (XPDL 2.1)Gather model collections
Current implementation
Model collectionsYAWL
Order fulfillment (C) *Production *Municipalities (C) *
EPCVideo post-production (C) *Land development (C) *Suncorp insuranceSAP R/3
iEPCAudio post-production (C) *
BPMN
Land development (C) *TraumatologyAirports (C) *
ProtosMunicipalities (C) *
Can I help? Yes you can!Available projects:
Integration with ProM: import/export + log storage SVN Support Security layer (authentication, authorization, non disclosure) Support for other languages (WF-Nets, YAWL, Protos, BPEL...) Build your algorithms in it! Donate your content! (logs, models...)
© 2009, Marcello La Rosa
Marcello La RosaBusiness Process Management GroupFaculty of Science & TechnologyQueensland University of Technology126 Margaret StreetBrisbane QLD 4000Australia
p 07 3138-9482e [email protected] w www.marcellolarosa.com