• No results found

PROCESS MODELING LANGUAGES 35 resource domain. EEML is a semi-formal language and has a set of graphical modeling

State of the Art

3.1. PROCESS MODELING LANGUAGES 35 resource domain. EEML is a semi-formal language and has a set of graphical modeling

notations. An illustrated example of EEML process model provides an overview of EEML notations for the process and resource domains in Figure 3.3. In process domain, EEML models the operational/functional perspective by task which is notated as a round rectangle with input and output (two diamonds on the left and right side within the rectangle). A task can be decomposed so that the hierarchy of process can be structured. The control perspective is represented through the flows (lines with arrow) linking tasks, milestones (diamonds along the flow with "start", "milestone" and "finish") and decision point (diamonds along the flow with logic connector like AND, OR, XOR).

Organizational and resources perspectives are well supported by specifying different resource types (e.g. person, organization, information object, ... ) associated with resource roles (circles in a task). It is not obvious to model the data transaction perspective in EEML although milestone could be used as "state" sometimes. Details of the EEML modeling language are described in Appendix B.

Figure 3.3: Overview of EEML modeling constructs and relationships for process and resource domains

3.1.4 UML Activity Diagram

As one of standard proposals in UML [125], UML Activity Diagrams in the behavior category are typically used for business process modeling. An Activity Diagram in UML represents the business and operational step-by-step workflows of components in a system, the overall flow of control. In UML 1.x, an Activity Diagram is a variation of the UML State Diagram2where the "states" represent actions, and the transitions represent the activities that happen when the operation is complete. The UML 2.0 Activity Diagram, while similar looking to the UML 1.x Activity Diagram, now has semantics based on Petri nets. In UML 2.0, Activity Diagram can represent the interaction overview of e-business.

UML Activity Diagram is a semi-formal language with the following basic graphical notations [2]: initial node and activity final node (filled circle with or without border), activity (round rectangle), flow/edge (arrow), fork and join (black bar), decision and

2UML State Diagrams depict the dynamic behavior of an entity based on its response to events, showing how the entity reacts to various events depending on the current state that it is in [2].

36 CHAPTER 3. STATE OF THE ART

Figure 3.4: An example of UML activity model [107]

merge (diamond), partition/swimlane (line without arrow like a border). The nota-tions are exemplified in Figure 3.4. Partition/swimlane is normally used to indicate who/what is performing the activities, which can specify the organizational perspective.

The rest notations can represent the operational/functional and control perspectives.

No particular notations are provided for the phenomena associated with data in UML Activity Diagram. However, it allows to use texts linked to the flows and activities to indicate condition, object or message passed in the process. UML Activity Diagram is often asked to be combined with other UML diagrams to model multiple process perspectives. For example, UML Use Case Diagram can capture loose collections of related activities at the high level, which might provide a view of the structural per-spective of processes. After all, the lack of first class process modeling primitives is a major limitation of UML [26].

3.1.5 BPMN (Business Process Modeling Notation)

BPMN is a new standard of modeling business processes and Web service processes put forth by the Business Process Management Initiative [126], which is merged with OMG organization now. BPMN is a semi-formal modeling language providing no-tations understandable by business users. Nevertheless, it is also created as visual

3.1.PROCESSMODELINGLANGUAGES37

Table 3.1: Modeling constructs of different business process modeling languages

Petri Net EPC EEML UML

Activ-ity

Data Transaction token event milestone, flow with resource

38 CHAPTER 3. STATE OF THE ART modeling language for execution languages, such as BPEL4WS [58] and BPML [11].

The BPMN specification provides a mapping between the graphics of the notation and the constructs of those formal languages. BPMN intends to provide businesses with the capability of understanding their internal business procedures in graphical nota-tions and give organizanota-tions the ability to communicate these procedures in a standard manner.

BPMN is initiated as a standard process modeling language for conventional busi-ness, B2B and services process modeling. Hence BPMN has the capabilities of handling B2B business process concepts, such as public and private processes and choreograhies, as well as advanced modeling concepts, such as exception handling and transaction com-pensation in addition to the traditional business process notations [12]. Private business processes are those internal processes to a organization and they are traditional business processes or workflows. Public processes are also called abstract processes or interface processes according to the BPMI terminology. They represents the interactions between a private business process and another process or participant. Choreographies repre-sents collaboration processes. A collaboration process depicts a sequence of activities that represent the messages being sent between the entries involved.

According to the BPMI terminology, the modeling constructs are the elements with corresponding notations. The main elements of BPMN are event, task, process/sub-process, sequence flow, message flow, pool, lanes, data object, fork (AND-split), join (AND-join), decision/branching point (OR-split), merging (OR-join), looping, etc. We refer those elements to the perspectives in the BPM systems paradigm. A sub-process is a compound activity included within a process. The collapsed/expanded sub-process can hide and show the details of the sub-process. Hereby, the structural perspective can be represented by BPMN through such a mechanism. Respectively, task, process/sub-process are elements for the operational/functional perspective. Tasks and process/sub-processes are controlled through event, sequence flow, fork, join, decision, merging and looping.

Resource can be represented by data object. Organizations are usually represented by lanes in the pool. The data transaction is specified through message flow together with data object.

The details of the BPMN specifications from BPMI can refer Appendix A. The names and the notations of the BPMN elements used in this section are from the standard proposal. When a modeling tool implements a certain modeling language (e.g. BPMN), the names and the notations might be slightly changed to adjust the tool implementation. For example, task, process/subprocess are implemented as "Logical Process" in an enterprise modeling tool Metis [183].

3.1.6 Categorizing the modeling constructs of process modeling lan-guages

The investigation of existing process modeling languages has shown the diversity of modeling constructs. The modeling constructs of the process modeling languages is cat-egorized in Table 3.1 according to the six process perspectives defined in the paradigm of BPM systems.