BPMN, BPEL, BPML and XPDL, an attempt to make some order in the business modeling

Introduction

The ability to collaborate has always been of vital importance to businesses and businesses. Combining the resources and talents of a group of people together is the best way to solve complex problems and tasks. Collaborative work is the work done jointly by several people who pool their knowledge and skills, organize and coordinate their actions to achieve a result for which they are collectively responsible. Of course, the collective work is not decreed overnight in a company. It is the result of a common desire gradually implemented around a common project. The success factors of this approach are: the benevolence of the various stakeholders, the clarity in the collaboration and the application of the principle give and take. Collaborative work is one of the major challenges of project management. Until now, there are several languages ​​for modeling CBP (Collaborative Business Process), namely: XPDL, BPMN, WS-CDL, BPDM, WSFL, XLANG, BPSS, ebXML, WPDL etc.Business processes are by nature collaborative processes. The modeling of collaborative systems is at the center of current management\’s concerns and therefore constitutes the main issue of modeling efforts.Collaboration is viewed as set of exchange between a collection of participants and their processes. We can say that there are two types of collaboration: (1) Integrated Collaboration, which means that business and application logic are integrated into a single monolithic system used by all participants; (2) External Collaboration that takes place between two or more autonomous systems. Collaborative process modeling are increasingly used in practice [1, 2] and software engineering results have shown that collaboration can increase quality and efficiency significantly.The main goal of a collaborative process is to define the choreography of the interactions between the partners involved in this collaboration. So it’s a process that occurs between two or more collaborators and consists of two parts: a public interface and several private interfaces corresponding to each partner figure 1.Private process: it’s composed of confidential information and is developed internally.

Public process: it is a partial image of a private process. It consists of all the activities that can be viewed by the other partners.Collaborative Process:consists of activities shared among participants during a collaboration.

Figure 1: Collaborative Process: Private, public and collaborative process

[3]During a collaboration collaborative process can represent inter-organizational process (between two internal services of the organization) or extra-organizational process (with an external partner). There are several independent identities that represent several decision makers which means autonomy of collaborators;
several collaborative activities which means sharing resources and communication between actors; sharing of responsibility and decisions; finally, a confidentiality and security of resources and data. We can say that all these requirements are essential for a successful collaboration.In fact, BPMN is a business process modeling method that is based on graphical notation and can be used to model collaborative processes. So we directly think about using BPMN for modeling our collaborative processes. Nevertheless, it still represents some restrictions on the description of the data exchanged between the participants and specification of the roles of the collaborators. To address the lack of a clear and comprehensive vision of CBP, and to satisfy the previous requirements.We developed an extension of the BPMN and try to extend data object and activity with new concept of privacy, confidentiality, traceability, etc. As a result, our extension is clearly defined because it respect the graphical syntax of the BPMN and finally, offer new concepts for collaborative environment. Our goal is not only to add new notation useful for CBP but also to help in the evolution and updating of these processes.The remainder of this paper is structured as follows: section 2 present background on business process model and notation (BPMN) also the shortcoming of this standard. Section 3 is a related work on BPMN extensions.

Section 4 presents an overview on collaborative business process and the central concepts that describe this environment. Section 5 describe the proposed approach which is extending BPMN 2.0 with new collaborative concepts. Section 6 is an illustration to our approach to better understand the benefit of the extension. Finally, we concluded the paper in section 7.Business process modelingBusiness Process Modeling is a method of representing the activity of an organization to respond more quickly to customer demand and corporate goals. Thus, it is an organizational management that systematizes the daily tasks of the organization and allows a process to be better understood by the different partners, be it manager, process owner or IT engineering who will implement the system. Business process modeling languages ​​are a great help to model these processes, they are designed for several purposes so it is very difficult to categorize them into one dimension. However, we can distinguish four major scientific traditions of language [4]: the traditional process modeling languages that are typically non-formal, the workflow modeling languages that describe a workflow, they are formal and executable, the integration languages processes and object-oriented languages.Business Process Model and Notation (BPMN)Indeed, BPMN (Business Process Modeling Notation) as Business Process Modeling Language [5] is an important standard developed by OMG that meets the requirements of standardization. Among other popular standards [6, 7, 8], only the BPMN has been widely accepted by users as well as producers. Thus BPMN is qualified as a leading professional standard in the field of business process modeling.The first version of BPMN1.0 was released in 2004 with the purpose of providing a graphical notation to business processes. The last version of BPMN2.0 was published in 2011, this version has brought more elements to the standard and new diagrams (Choreography and collaboration diagram). BPMN 2.0.2, released in December 2013, included only minor modifications in terms of typo corrections. The main advantages of BPMN is:Providing an understandable notation by the business users. Ranging from the business analysts who define the initial drafts of the processes to the technical developers responsible for implementing them, and finally to the business staff deploying and monitoring such processesThe ability to be executed via BPEL [9] (BPEL, also known as WS-BPEL) which breathed life into model-driven process execution.Providing an “extension by addition” mechanism [10] that enables the definition and integration of domain-specific concepts and ensures the validity of the BPMN core elements.Based in the previous assessment, BPMN is taken as a basis for the representation of business processes. BPMN graphical elements are divided into five basic categories: Flow Objects, Data, Connection Objects, Swimlanes, and Artefacts. Moreover, the BPMN modeling environment consists of three diagrams:Processes (Orchestration): These process are called generally workflow or BPMN process, they can be private or public.Choreographies: Represent a procedural contract between interacting Participants. Thus, choreography exists between Pools or participants. It’s similar to a process because it consists of activities, Gateways and Events (Figure 2). However, it’s different in that the Activities are interactions that represent a set of Message exchanges.

Figure 2: Example of choreographie

Collaborations: Can include Processes and/or Choreographies: it’ illustrate existing interactions between two organizations and / or processes. It usually contains two or more Pools that represent the participants in the collaboration, the messages exchanged between them are shown by Message Flow that connects the Pools (Figure 3).Choreography elements may be shown “in between” the Pools as they bisect the Message Flows between the Pools.

Figure 3: Example of collaboration

BPMN shortcomingInsufficient support for the process state concept. In fact the BPMN does not understand the concept of task progress knowing that this concept is very important to follow the progress of the tasks by collaborators.The concept of confidentiality is not taken into account by the BPMN. Confidentiality of information is essential for successful collaboration. The shared information should not be distributed outside or even inside the organization with non-affected persons.Pools in PBMN can represent individual participants so all the activities into this one belong to the same participant. But in collaboration an activity can be made by several partners, therefore we need to distinguish the cases where one participant is involved or if there can be potentially many participants involved.Of course BPMN represents the exchange of data between several processes. However, this representation remains very limited compared to the need for collaboration. Indeed, in a collaborative environment, the artefact exchange representation is a key point for the success of the collaboration. We must distinguish between the types of these artifacts their level of importance, their version etc .Data objects are represented simply by a symbol; their internal structure is not defined and their main purpose is not specified. However the exchange of data is a very sensitive point when it comes to collaborative work. The type of data and their purpose must be specified to add value to the collaborative process.Related worksSeveral works benefit from the mechanism of extension of the BPMN to adapt it to their needs. We will present therefore some work that has developed BPMN extension in different ways: in the field of knowledge dimension and sensitive business process model, [12] developed an extension (named BPMN4KM) that link different types of knowledge, information and data to the BPMN model. Other work [13] focuses on the field of clinical pathways and develops an extension (named BPMN4CP) which allows to integrate the concepts of this domain into BPMN model.Concerning collaborative environments, [14] is interested in the life cycle of the data objects and the information exchanged between the processes during a collaboration. Thus, it develops an extension to model artifact-centric processes by taking inspiration from the existing graphical notations and best modeling practices. As for [15], he is interested in highly collaborative processes by adding new notations to model tasks that are common in this type of process. In [16] the author treats on complex collaborative processes. He presents the limitations of the BPMN concerning the modeling of complex choreographies. So he develops an extension to remedy this problem by adding new concepts: “participant Set”, “References”, “References sets”, “Reference Passing”, then he validates his work by using Service Interaction Patterns. In other field the author introduce BPMN4TOSCA[17]. He take as reference the standards TOSCA, is an upcoming standard to capture cloud application topologies and their management in a portable way. So to simplify the modeling of management plans, he extends BPMN with four TOSCA-specific elements: TOSCA Topology Management Task, TOSCA Node Management Task, TOSCA Script Task, and TOSCA Data Object. Zor and al. [18] propose a BPMN extension for the manufacturing domain to explicitly handle products and resources. [19] Used the BPMN 2.0 extensibility mechanism to include the representation of specific tailoring relationships namely suppression, local contribution, and local replacement, which establish links between process elements (such as in the case of SPEM). Moreover, this paper also presents some rules to ensure the consistency of BPMN models when using tailoring relationships. Some works are interested to include the security aspect into BPMN. For example in [20] the author include access control or intrusion detection through a set of new annotations. Brucker et al. [21] presents SecureBPMN, a methodology for secure and compliant business processes covering modeling and execution. This includes a BPMN extension to add requirements such as access control or separation of tasks in the process model.Extension mechanisms are used to represent domain-specific concepts in general purpose modeling languages. They can also be used to add information needed to transform models into platform-specific models or code. BPMN provides an extension mechanism that allows attaching additional attributes and elements to its original elements. All of these approaches represent an extension of BPMN from a different point of view. However, none of these ones specify an extension that supports the different aspects of collaborative processes as we have proposed. Inspired by some work, we try to extend BPMN with graphic elements that:Represent concept of CBPRespect the shape of the standardAppear the extension as natural as possibleCollaborative business processOverviewThe concept of collaboration is derived from the Latin collaborare meaning “to work together” and can be seen as a process of shared creation. It can be defined as a process in which partners share information, resources and responsibilities to jointly evaluate a program of activities to achieve a common goal. Thus it\’s a process by which one group of entities enhances the capabilities of the each other. Collaboration involves mutual engagement of participants which implies mutual trust, sharing risks, responsibilities, and rewards. A collaborative process occurs, for instance, when a team of experts jointly develops a new product or improve an internal service to satisfy their customers. Such collaboration is about cooperation between organizations by linking their business processes and exchanging messages between heterogeneous IT systems to achieve business goals. Building and managing collaborations that transcend independent organizational boundaries and their systems is a challenge because it requires linking the elements of each business into a coherent and cohesive whole. Moreover, it must be carried out in accordance with the organization\’s policies, industry guidelines, applicable legislation, technical capabilities and limitations.Furthermore, organizations must be able to model their requirements so that: its internal processes describe its private activities; its public processes describe how it can interact with others; and its partner\’s public process describes what it expects from its partner. These requirements can be diverse, ranging from sequencing activities to sharing resources, defining security objectives, etc. On the basis of these requirements, organizations must then have the means to establish a clear, well-defined collaborative process that respects these requirements and the consistency of private and public behavior of partners.To this end, there is strong interest from organizations in utilizing collaborative modelling concepts to be able to specify the different requirements applicable to their collaboration. On the basis of the resulting collaborative model, companies must then be able to evolve their internal processes or rectify specific requirements of the collaboration contract without affecting the proper functioning of the overall collaborative process as well as partner’s process. Finally, the sketched development allows the modeling of the resources exchanged between the partners as well as the flow of relevant activities. To describe and model collaborative business processes, several companies have come up with their own specification languages, such as Microsoft, IBM, SAP, etc. Some specification languages have been delivered to standard organizations, such as OASIS, W3C, OMG, WfMC and so on and have been published as standards.Concept of collaborationAs we have seen in the previous section the BPMN is limited with respect to collaboration. In fact, collaboration is not just about sharing resource and exchanging messages between collaborators but it is a very complex operation that requires a lot of effort from participants. Collaborative business process are difficult and their success depend on some requirements:Traceability: Sharing implies sharing responsibility of participation and sharing responsibility of results. Indeed, a successful collaboration depends on a job with traceable tasks that allow the smooth running of the process.Confidentiality: Confidentiality of information is essential for successful collaboration. The shared information should not be distributed outside or even inside the organization with non-affected persons.Communication and sharing of resources is a great challenge, whether it is resources exchanged by collaborators or resources acquired during a meeting in order to fulfill the task.Decision-making: any decision made must be shared with collaboratorsTask monitoring and the progress of work: these two points are of a great importance in collaboration work. When sharing resources, it is necessary to assess their stat of progress.In order to develop a rich and expressive graphical representation of collaborative business process. We try to exploit as much as possible the requirements we have mentioned before thus we propose a conceptualization for specifying collaborative business process in the form of a generic BPMN Meta-model for Collaboration (BPMN4Collaboration). Our work is based on the principle of extending the basic concepts of BPMN namely Activity, DataObject, SequenceFlow etc. The extension of the concepts of collaboration on these artifacts is detailed in Figure 4.

Figure 4: Extension of the concept of collaboration on BPMN artefacts

The concepts discussed in this section will help us later to build a modeling language that better describes business processes in a collaborative environment.*Corresponding Author Name, Address, Contact No & EmailBPMN4Collaboration: A BPMN extension including collaboration conceptsExtended BPMN4Collaboration Meta-modelThe metamodel of our extension called BPMN4Collaboration is shown in Figure 5. We try to represent in detail the stereotypes that describe the new concepts of collaboration

Figure 5: BPMN4 Collaboration metamodel

CollaborativeActivity: We add the property of privacy, urgency, the mode contactable and multiparticipant by creating this stereotype which is an extension of BPMN Activity. The attribute isConfidential show that Activity can be private or shared. Private activity can be seen only by the participant to which it belongs. Otherwise, shared activity is seen by all participants. The attribute isUrgent specifie that the attribute isContactable specifies that we can contact this activity before the end of the execution of the process. The attribute isMultiParticipantTask specifies if activity is made by several participants. A collaborative activity has also a state of progress.TraceableActivity: this stereotype add the option of traceability. We can trace the execution status of the activityActor: this metaclass specifies that activity has an actor so that it can be on or several actors.CollaborativeData: extends BPMN Data Object. It has also the attribute isConfidential and isUrgent. A collaborative data can be in the form of: Email, Decision or DocumentDecision: this metaclass is a type of collaborative data, it must be an output of an activity. It’s always connected with an activity and a Message Notification event. A decision must be notified to all participants before the end of the process.Document: this metaclass is a type of collaborative data, it has two attributes: isLocked to specify that document cannot be modified or updated. isValidate to specify that the manager or responsible of this document has validated it. A Document has also an owner and version and state of progress.Owner: a document has always an owner which describes the initial state of the document for example decide if the document is locked or not, if it’s confidential, etc.Version: this metaclass specifies the version of the document. A document has inevitably at least a first version and a final version if it’s completed.stateOfProgress: this metaclass is linked to the stereotype CollaborativeData and CollaborativeActivity to shown the state of progress of artifact. It has three states: in progress, on break and completed.Graphical Concrete SyntaxWe propose an advanced graphical syntax which defines the elements of the new concepts of BPMN4Collaboration in Table 1 below:DiscussionThrough this modeling, we have been able to achieve an extension that satisfies the collaboration concepts mentioned in section 4. Indeed:Traceability is modeled by \”traceable activity\”confidentiality lies in defining « private artefacts », « public artefacts » and « locked data »Communication and exchange of resources is a trivial point that is represented by all of these new elements and specially « contactable Activity ».Decision-making is ensured by « Decision Data » and « Data Rules ».Task monitoring and progress of work are provided by the elements « state of progress artefact », « urgent artefact » and « validate data ».Finally, the collaboration is more precise by \”multi-participant Activity\”. The latter allows to emphasize the fact that task can be performed by several participants and not by the actor specified by the model BPMN.DemonstrationIllustrative example

Figure 6 : Example of collaborative BPMN within an insurance

Our example illustrates a collaboration between several organizations in the insurance field. Indeed, the collaboration is between the IIO and several insurances;Intermediate Insurance Organism (IIO): It is an organization that mediates between national and international insurance.Insurance: In our example we call our insurance \”insurance X\” as the IIO collaborates with several insurance at the same time.Description of the scenario: A person having an accident in a foreign country, the IIO will receive his notice of damage then will contact his insurance on his country to take charge of the material and corporal damage.The process begins at the IIO as seen in Figure 6. As soon as the IIO organization receives a notification of damage from his client (the victim). It notifies the concerned insurance (named in this example X) by sending a notification message. Before the process of the file some rules of collaborations must be checked by collaborators (these rules specifies that insurance X is in agreement with the organism). The file is then sent to the corresponding insurance which deals with it in turn and sends an answer to the organism. The process continues, if the client is not covered by insurance X, the IIO supervise the filed, then, the process ends. Otherwise, if the victim is insured by the insurance X the IIO reimburse the client. Of course this decision is sent to all collaborators. The IIO requests the funds from the insurance company, the latter makes its calculations and sends them to the organism, thus, the process of insurance X ends. Finally, the process of the organism ends after having received funds. In this process, there are several actors, namely: the client (or the victim), the intermediary organization (IIO) and the insurances that collaborates with the IIO. The exchange of data between these participants is done either by sending documents by email or post.

Figure 7: Example of collaborative BPMN conform to collaborative business process language

We notice that this modeling is not precise since a quantity of information is not specified on the model.Figure 7 demonstrate the evolved BPMN extension by presenting the new concepts of collaboration: Shared activity like “receive notice” is a public activity shared between client and IIO. Private activity like “calculate rate” is private, it’s done inside the insurance and can’t be seen by other participant. To supervise the progress of the treatment of the file, the IIO must keep in touch with this task. Then, the activity “process the file” done inside the insurance is traceable by the IOO. “Monitor the folder” is an activity made not only by the IIO, but by the insurance and the client, so it’s a multi-participant task.Concerning the exchange of data, in our extend model, data Objet are more clear. For example we can distinguish the private data (which keep the confidentiality of data). Rules date are input for the activity “treatment”, in fact, this activity can’t be performed if these rules are not satisfied. The integrity of data is clearly defined in the model (editable and locked data). And finely the decision data, when the IIO decide to refund the insured, all the participant (client, insurance) must be informed by a notification message .Plugin demonstrationFor our demonstration we use Eclipse BPMN2 modeler which is built on the Eclipse Plug-in Architecture. This graphical modeling tools provide extension points that help to customize and edit the appearance of editor by using the extension mechanism of BPMN2.0.We developed a specific plug-in that represent the aspects of collaboration which are treated by our approach. As we have explain is an extension of the Eclipse BPMN2 Modeler plug-in [22]. It allow us to integrate new attributes, properties and new graphic elements adapted to our needs.As we have extend in our work BPMN Activities and Data Objects. Now the BMPN2 palette include this new graphical elements.An example of a BPMN4Collaboration diagram and our proposed extension is depicted in Figure 8. We can see two tabs added in the palette \”Collaboration Task\” and \”Collaboration Data\”. They contain the new graphical collaboration syntaxes explained by our approach.Figure 8: Extension for Eclipse BPMN2 PaletteConclusion and future workThe modeling of collaborative processes is handled by several works and languages, namely the BPMN which is the standard most used by collaboration tools and companies. However, even the BPMN recognizes limitations in modeling collaborative processes and especially the modeling of data exchange that are presented in a general and unclear way. We have exploited the capacity of BPMN 2.0 extension mechanism which is specially designed to represent extensions of its standard elements to create an extension for collaborative environments. We tried to add new concepts useful for BPMN modeling and we gave more attention to the representation of the data exchanged between the collaborators. To create this extension we began by collecting some aspects useful in modeling collaborative process, after we create our proper metamodel by extending BPMN metaclasses and adding new stereotypes. Then, we gave a graphical syntax to this new elements. We can say that our extension is a useful for modeling collaborative processes by providing more precision on the shared elements between partners.Collaborative business processes are very complex and our extension only allows to treat a small part of this complexity. For that we will try in our next work to enrich our extension even more. As we know, BPMNcan be mapped to many executable languages to be implemented, so we plan to implement this new elements and explain in more details how they can be implemented for example in existing BPMN tools such as JBoss Jbpm [23]or BonitaSoft [24]or others.>