• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cross Language Process Model Reuse Po Em2009

Cross Language Process Model Reuse Po Em2009






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Cross Language Process Model Reuse Po Em2009 Cross Language Process Model Reuse Po Em2009 Presentation Transcript

    • 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
    • Agenda 1. Background 2. The Generic Process Description 3. The Generic Data Model 4. Using the Generic Data Model 5. The Benefits and Conclusion
    • 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
    • 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
    • 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}
    • Generic Process Description (Cont..) Four perspectives of a business process are used to develop a generic meta model. Functional Behavioral Organizational Informational
    • 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)}
    • 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 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.
    • 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
    • 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)}
    • 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
    • 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
    • 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
    • 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)…
    • 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)
    • 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.
    • 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