Towards Cross Language Process Model Reuse – A
Language Independent Representation of Process Models


          Khurram S...
Agenda
1. Background
2. The Generic Process Description
3. The Generic Data Model
4. Using the Generic Data Model
5. The B...
Background
The Universal Process Model Repository (UPR)
Project aims to
    Provide basic understanding of process models
...
Generic Process Description
In the Process Model Repository,                                                        proces...
Generic Process Description
A business process is defined as,
   “A collection of related, structured activities or tasks ...
Generic Process Description (Cont..)

Four perspectives
of    a    business
process are used to
develop a generic
meta mod...
Generic Process Description (Cont…)
  The Generic Process Description Defined:
PD = {Elements, Control-flow, Process Logic...
The Generic Data Model
The   generic     data
   model consists of
   Partial data model
   Mapping specification
The Generic Data Model
Partial Data Model is generated from generic PD
  Entities derived from elements and control flow
 ...
Matching Process Languages to the Generic Metamodel
     Generic         Activity Diagram          BPMN                   ...
Lang. Specific Process Description Defined
Using the results from the matching, we define the language specific
    proces...
Using the Generic Data Model
The use of the data model can be explained using
two use cases:
  Store Process Model
  Retri...
Retrieving a Process Model from the UPR
     Assumption: a process is identified
       Input: identified process descript...
Example of PD DB
    Process Table                                                 Event Table
ProcessID    ProcessName   ...
Example of BPMN Process Description
Process Description (BPMN)
(start-event, task, connection) = (receive a call, 1, seque...
Example of Process Model Generation
Using the draw function of the algorithm, a process model can
be developed
 Step 1: Dr...
The Benefits and Conclusion
The model support storing of a process model
   Independent of process modeling language
   Th...
Questions Raised
1.   Can you describe the Completeness and Incompleteness of your
     Generic Process Description?
2.   ...
Upcoming SlideShare
Loading in …5
×

Cross Language Process Model Reuse Po Em2009

635 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
635
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cross Language Process Model Reuse Po Em2009

  1. 1. Towards Cross Language Process Model Reuse – A Language Independent Representation of Process Models Khurram Shahzad, Mturi Elias, Paul Johannesson Information Systems Laboratory (SysLab) Department of Computer and Systems Science (DSV), Royal Institute of Technology (KTH)/ Stockholm University (SU), Sweden
  2. 2. Agenda 1. Background 2. The Generic Process Description 3. The Generic Data Model 4. Using the Generic Data Model 5. The Benefits and Conclusion
  3. 3. Background The Universal Process Model Repository (UPR) Project aims to Provide basic understanding of process models offer a starting point for modeling business processes There are several modeling languages Have different elements and control structures Specification of business processes varies from one language to another In order to support multiple languages, a common format is needed Therefore in this paper we propose a generic data model for storing and sharing process models between different modeling languages
  4. 4. Generic Process Description In the Process Model Repository, process definitions will exist at two levels, The user level is a higher level at which a business process is viewed as a process model. The repository level is a lower level at which a business process is stored as a process description. Process Transformation User level Inserted Process Conversion Description Process Process Model Retrieved Description DB Repository level Actor
  5. 5. Generic Process Description A business process is defined as, “A collection of related, structured activities or tasks that produce a specific service or product (serve a particular goal) for a particular customer or customers.” A process model is defined as, “A graphical depiction of a business process detailing the arrangement of task interdependency, controls, and allocated resources.” PD = {Elements, Control-flow, Process Logic}
  6. 6. Generic Process Description (Cont..) Four perspectives of a business process are used to develop a generic meta model. Functional Behavioral Organizational Informational
  7. 7. Generic Process Description (Cont…) The Generic Process Description Defined: PD = {Elements, Control-flow, Process Logic} Where, Elements = {start-event, activity, participant, resource, end-event} Control flow = {operator, connection} ; connection = sequence flow, message flow, association Process logic = {(start-event, activity, connection), (activity, activity, connection), (participant, activity, connection), (activity, operator, connection), (operator, activity, connection), (activity, stop event, connection), (resource, activity, connection), (activity, resource, connection)}
  8. 8. The Generic Data Model The generic data model consists of Partial data model Mapping specification
  9. 9. The Generic Data Model Partial Data Model is generated from generic PD Entities derived from elements and control flow Relationships derived from process logic Mapping specification entity is derived from the generic process description and language specific process description It consists of elements of a generic process description, their corresponding elements in the specific process description and their associated construct.
  10. 10. Matching Process Languages to the Generic Metamodel Generic Activity Diagram BPMN EPC YAWL Metamodel Subprocess Subprocess Sub process Activity Activity Task Function Task Event Start Event Initial node Start Event Pre-activity Event Input condition on activity End Event Final node End event Post-activity Event Output condition (process) on activity Control Flow Operator Forknode, join, AND/OR/XOR, XOR, AND, OR AND, split & join decision, merge Complex connector Connection Control flow, Sequence flow, Control flow No formal name of Object flow association, message the construct flow Participant Pool Org. Unit, Org Role Resource Informational Object Node Data objects Information resource objects
  11. 11. Lang. Specific Process Description Defined Using the results from the matching, we define the language specific process description Process Description for BPMN. Elements = {start event, tasks, pools, dataobject, end event} Operators = { AND, OR, XOR} Connection = {sequence flow-ID, message flow-ID, association-ID} ; ID is unique identifier Process logic = {(start-event, task, connection) (task, task, connection), (pool, task, connection) (task, operator, connection) (operator, task, connection) (dataobject, task, connection) (task, dataobject, connection) (task, stop event, connection) (operator, operator, connection)}
  12. 12. Using the Generic Data Model The use of the data model can be explained using two use cases: Store Process Model Retrieve Process Model On Storing Identificatio Conversion Storing in n of to PD UPR Elements <<uses>> <<uses>> Retrieval Conversion Conversion from UPR to PD to PM <<uses>> <<uses>> Actor On Retrieving
  13. 13. Retrieving a Process Model from the UPR Assumption: a process is identified Input: identified process description Output: a process model in BPMN Create alias for the data model Algorithm for extracting process models is composed of three phases: 1. Data Retrieval from a Process Description DB 2. Conversion to Process Description (BPMN) 3. Conversion to BPMN Process Model
  14. 14. Example of PD DB Process Table Event Table ProcessID ProcessName VersionID Language EventID EventType 1 Eye care 1 BPMN referral 1 Start event 2 End event Activity Table ActivityID ActivityName ProcessID RelatedActivityID 1 Offer a time-slot 1 2 2 Get payment 1 3
  15. 15. Example of BPMN Process Description Process Description (BPMN) (start-event, task, connection) = (receive a call, 1, sequenceflow-null) // where in sequenceflow-null, sequenceflow is the type of flow null is the label. 1 is the taskID. (task, task, connection) = (1, 2, sequenceflow-null ); (2, 4, messageflow- null)… (pool, task, connection) = (patient, 2, messageflow-null ); (primaycare, 1, messageflow-null )… (task, operator, connection) = (5, OR-diagnose?, sequenceflow-null ) (operator, task, connection) = (OR-diagnose?, 7, sequenceflow-yes); (OR- diagnose?, 8, sequenceflow-no)… (task, end event, connection) = (12, A, sequenceflow-null); (10, B, sequenceflow-null)…
  16. 16. Example of Process Model Generation Using the draw function of the algorithm, a process model can be developed Step 1: Draw (startevent, task, connection) Step 2: Draw (task, task, connection) Step 3: Draw (Pool, task, connection) Step 4: Draw (task, operator, connection) Step 5: Draw (operator, task, connection) Step 6: Draw (task, endevent, connection)
  17. 17. The Benefits and Conclusion The model support storing of a process model Independent of process modeling language The automated method for storing and retrieval facilitate users to use the model without any effort Process model can be shared and reused without language restriction However only the fundamental elements are captured, therefore, only basic understanding of a process model can be provided.
  18. 18. Questions Raised 1. Can you describe the Completeness and Incompleteness of your Generic Process Description? 2. Why only Curti’s framework is used to develop the business process metamodel? Why not other frameworks? 3. How does the proposed repository differ from MIT Handbook? 4. What if BPMN 2.0 is upgraded to BPMN 2.1, how will you deal with the changes 5. And many more

×