A Modeling Approach for Collaborative Business Processes based on the UP-ColBPIP Language Pablo David Villarreal1, Ivanna Lazarte1, Jorge Roa1, Omar Chiotti1,2 1
CIDISI, Universidad Tecnológica Nacional - Facultad Regional Santa Fe, Lavaisse 610, S3004EWB, Santa Fe, Argentina {pvillarr, ilazarte, jroa}@frsf.utn.edu.ar 2 INGAR-CONICET, Avellaneda 3657, S3002GJC, Santa Fe, Argentina {chiotti}@santafe-conicet.gov.ar
Abstract. The modeling of collaborative business processes is an important issue in order to allow enterprises to implement B2B collaborations with their business partners. We have proposed an MDA-based methodology for the modeling, verification and implementation of collaborative processes. Since collaborative process models are the main artifacts in this MDA-based methodology, a suitable modeling approach is required to design collaborative processes. In this work we describe a modeling approach for collaborative processes based on the UP-ColBPIP language, which is oriented to support the model-driven development of collaborative processes and B2B information systems. The behavior of collaborative processes is modeled through interaction protocols. Enhances to the control flow constructors of interaction protocols are introduced. In addition, we describe an Eclipse-based tool that supports this language. Keywords: Collaborative Business Process, Business-to-Business, ModelDriven Development, UML Profile, Interaction Protocol
1 Introduction The modeling of collaborative business processes is an important issue in order to allow enterprises to implement B2B collaborations. Business-to-Business collaborations entail a process-oriented integration among heterogeneous and autonomous enterprises at a business level and a technological level. At the business level, enterprises focus on the design of collaborative processes to define and agree on the behavior of the inter-enterprise collaboration. A collaborative business process defines the global view of the interactions between enterprises to achieve common business goals [20]. Through these processes, partners agree to jointly carry out decisions, coordinate their actions, and exchange information through B2B systems. At the technological level, enterprises focus on the implementation, integration and interoperability of their B2B information systems to execute collaborative processes. This implies the generation of B2B specifications, i.e. interfaces of the partners’ systems and business process specifications based on a B2B standard, required by
each enterprise to execute the role performed in a collaborative process and implement it in a business process management system (BPMS). In previous works, a methodology for the modeling, verification and implementation of collaborative processes was proposed [16, 17, 20]. This methodology uses techniques, languages and methods that exploit the principles of the model-driven architecture (MDA) [13] to guarantee the alignment between the business solution and the technological solution of a B2B collaboration. This MDAbased methodology enables both the design of collaborative processes independent of the idiosyncrasies of particular B2B standards, and the automatic generation of B2B specifications based on a B2B standard from conceptual collaborative process models. The main benefits of this methodology are: (1) the increase of the abstraction level because the main development artifacts are the technology-independent collaborative process models; (2) the reduction of development time and costs along with the guarantee of alignment of the business solution with the technological solution, since process specifications are generated automatically from collaborative process models; and (3) the independence of collaborative process models from B2B standards. Since collaborative process models are the main artifacts in this MDA-based methodology, a suitable modeling approach is required for collaborative processes. A collaborative process model should be independent of the implementation technology, understandable and easy to read by business analysts and system developers. Besides, the modeling approach should fulfill the capabilities required by B2B interactions [20, 22]: global choreography of B2B interactions, enterprise autonomy, decentralized management, peer-to-peer interactions and representation of complex negotiations. In this work we describe a modeling approach for collaborative business processes based on the UP-ColBPIP language (UML Profile for Collaborative Business Processes based on Interaction Protocols). This is oriented to support the modeldriven development of collaborative processes and B2B information systems and fulfill the requirements mentioned above. The behavior of collaborative processes is modeled through interaction protocols, which are focused on the representation of the communicative aspects of B2B interactions. Enhances to this language are introduced to provide a complete set of control flow constructors to model collaborative processes. In addition, a case tool that supports the UP-ColBPIP language is presented, which is built on the Eclipse open development platform [3]. This paper is organized as follows. Section 2 describes the MDA-based methodology for collaborative processes. Section 3 describes the modeling approach for collaborative processes based on the UP-ColBPIP language. Section 4 presents the Eclipse-based tool that supports this language. Section 5 discusses related work and Section 6 presents conclusions and future work.
2 MDA-based Methodology for Collaborative Business Processes The model-driven architecture (MDA) [13] was identified as a key enabler to support the development of collaborative processes [17]. An MDA-based approach was proposed to support the modeling of collaborative processes and the automatic generation of process specifications and partners’ system interfaces based on a B2B
standard [20]. Also, an MDA-based approach was proposed to generate formal specifications of collaborative processes and verify if they are well-formed [21]. Both approaches make up the MDA-based methodology for collaborative processes [17], which consists of three phases: analysis and design of collaborative processes, verification of collaborative processes and generation of B2B specifications. The analysis and design of collaborative processes is about the modeling of these processes from a business perspective, i.e. using concepts that are less bound to the implementation technology and are closer to the B2B collaboration domain. To support this phase, the UP-ColBPIP language [16, 20] is used in order to enable the modeling of technology-independent collaborative processes. The second phase consists of verifying the correctness of collaborative processes defined in a UP-ColBPIP model. The purpose is to support the verification of these processes at an early stage of the development, when most of the fundamental decisions of a B2B collaboration are carried out, i.e. previous to the generation of the technological solution. The verification is essential to allow partners to make sure the behavior of collaborative processes is well-defined. To support this, the MDA-based approach for generating Petri Net specifications from a UP-ColBPIP model is applied [21] (see Figure 1.a). Interaction protocols are formalized, transformed and mapped into Colored Petri Net [7] specifications, which are then verified with CPN Tools [2].
Fig. 1. MDA-based approaches for Collaborative Business Processes
Finally, the third phase consists of selecting the target implementation technology (i.e. the B2B standards) and generating the B2B specifications (i.e. the business process specifications and interfaces of the partners’ systems) that fulfill the collaborative processes defined in the first phase. Figure 1.b shows the MDA-based approach that supports this phase. The input is a UP-ColBPIP model that contains collaborative processes based on interaction protocols and partners’ business interfaces. From this model, technology-specific business process models and technology-specific partners’ interface models are made. Then, B2B specifications are generated. In previous work we described the application of this MDA approach to generate technological solutions based on the widely used B2B standards: ebXML [20], WS-BPEL [18] and WS-CDL [19]. We showed how UP-ColBPIP models can be used to generate technological solutions with these standards.
3 Modeling Collaborative Processes with the UPColBPIP Language The UP-ColBPIP language extends the UML2 semantics to model technologyindependent collaborative processes [16, 20]. The language was defined as a UML Profile in order to provide well-known graphical notations for modeling collaborative processes that were easy to understand by business analysts and system designers. This language encourages a top-down approach to model collaborative processes and provides the conceptual elements to support the modeling of five views: • The B2B Collaboration View defines the participants (partners and their roles) of a B2B collaboration with their communication relationships. UP-ColBPIP extends the semantics of UML2 collaborations to represent B2B Collaborations. This view also describes the hierarchy of common business goals that partners agree on. To represent it, UP-ColBPIP extends the semantics of UML classes and objects. • The Collaborative Business Process View is concerned with the identification of collaborative processes required to achieve the agreed business goals. Current management principles suggest a business process should achieve a business goal. Key performance indicators can be associated with business goals to allow the evaluation of collaborative processes for their redesign or improvement. UPColBPIP extends the semantics of use cases to define collaborative processes as informal specifications of a set of actions performed by partners to achieve a goal. • The Interaction Protocol View defines the behavior of collaborative processes through the definition of interaction protocols. This view is described below. • The Business Document View focuses on representing business documents to be exchanged in collaborative processes. Business documents and their types are represented in class diagrams, and they are referenced in collaborative processes and interaction protocols. UP-ColBPIP does not provide any particular concepts to define the syntactic and semantics structure of business documents. To do that, other suitable languages can be used, such as the approach proposed in [1]. • The Business Interface View describes the interfaces of each role performed by partners. A business interface (service) contains business operations that support the asynchronous message exchange of interaction protocols. To represent it, UPColBPIP extends the semantics of the UML2 composite structures and interfaces. Due to space limitations, in this work we only describe the Interaction Protocol View in order to present the modeling approach we propose to model the behavior of collaborative processes. More details about this language can be found in [20]. 3.1 Interaction Protocol View One of the main purposes of this language is to fulfill the requirements for the conceptual modeling of collaborative processes and B2B collaborations [20, 22]: global view of the interactions between partners, enterprise autonomy, decentralized management, peer-to-peer interactions and representation of complex negotiations. To fulfill these requirements, the UP-ColBPIP language incorporates the interaction protocol concept to define the behavior of collaborative processes. An interaction protocol describes a high-level communication pattern through a choreography of business messages between partners who play different roles.
Modeling interaction protocols focus on representing the global view of the interactions between partners. The message choreography describes the global control flow of peer-to-peer interactions between partners as well as the responsibilities of the roles they fulfill. This also enables the representation of the decentralized management of the interactions between partners. Interaction protocols focus on the exchange of business messages representing interactions between partners, preserving the enterprise autonomy. Internal activities of the partners cannot be defined in protocols and hence, they are hidden to partners. In addition, B2B interactions should not only represent the information exchange but also the communication of actions between partners. Coordination and communication aspects of B2B interactions are represented in interaction protocols through the use of speech acts. In an interaction protocol, a business message has an associated speech act, which represents the intention the sender has with respect to the business document exchanged in the message. Thus, decisions and commitments between partners can be known from the speech acts. This enables the definition of complex negotiations and avoids the ambiguity in the semantics and understanding of the business messages of collaborative processes. UP-ColBPIP extends the semantics of UML2 Interactions to model interaction protocols. Hence, they are defined using UML2 Sequence Diagrams. Following we describe the main conceptual elements used to define interaction protocols. Partners and the Role they fulfill are represented through lifelines. The basic building blocks of an interaction protocol are the business messages. A business message defines a one-way asynchronous interaction between two roles, a sender and a receiver. It contains a business document (the exchanged information) and its semantics is defined by the associated speech act. In this way, a business message expresses that the sender has done an action that generates the communication of a speech act representing the sender’s intention with respect to the exchanged business document. Also, the message indicates the sender’s expectation is that the receiver acts according to the semantics of the speech act. A Protocol Reference represents a sub-protocol or nested protocol. When the subprotocol is called, the protocol waits until the sub-protocol ends. Protocols have an implicit termination. A Termination represents an explicit end event of a protocol. Termination events are: success, which implies the successful termination; and failure, which implies the protocol business logic ends in an unexpected way. A Time Constraint denotes a deadline associated with messages, control flow segments or protocols; i.e. the available time limit for the execution of such elements. A time constraint can be defined using relative or absolute date and time. A Control Flow Segment (CFS) represents complex message sequences. It contains a control flow operator and one or more interaction paths. An interaction path contains a ordered sequence of protocol elements: messages, termination events, protocol references and nested control flow segments. The semantics of a CFS depends on the operator used. Some control flow operators of exception handling were adapted and other advanced synchronization and multiple instance operators were introduced in order to provide a complete set of control flow constructors to model collaborative processes. The aim is to fulfill the main workflow patterns [14] for the modeling of collaborative processes. The control flow operators of the UP-ColBPIP language are:
• The And operator (Table 1.a) represents the parallel execution of paths. The thread of control is passed to the next protocol element when all paths are completed. • The Xor operator represents that only one path can be executed from a set of alternative paths. A data-based Xor contains conditions on the paths to be evaluated to select the execution path (see Table 1.b). An event-based Xor is based on the occurrence of the sending event of the first message of each path to select the execution path. Paths have no associated conditions. A timer can also be defined on a path to represent the execution of the path when a time event occurs. • The Or operator represents two or more alternative paths that can be executed. Path conditions must be evaluated to allow the execution of each path. Four types of path synchronization can be defined, which are denoted by the corresponding label at the top-left of the CFS (see Table 1.c). (1) Synchronizing Merge (<>): the thread of control is passed to the next protocol element when each enabled path is completed. (2) Discriminator (<>): the thread of control is passed to the next protocol element when the first interaction path is completed. (3) N out of M (<>) represents the convergence of two or more paths (say M) into a single subsequent path. The synchronization event must be enabled once N paths are completed. The remaining paths (M-N) are ignored. (4) Multimerge (<>): for each completed path there is a thread of control which is passed to the next protocol element. • The Loop operator represents a path that is executed several times while its condition is satisfied. An “Until” loop has the condition “(1, n)” so that the path is executed at least once; a “While” loop has the condition “(0, n)” and it means that the execution of the path is performed zero or more times (see Table 1.d). • The Exception defines the path to be followed after an exception takes place, which is identified at design time. A CFS with the Exception operator consists of one path that encloses the scope of the exceptions (for all protocol element involved in the path) and other exception handler paths, one for each exception to be caught and managed. An exception handler path has an exception condition to determine when the exception is raised. After an exception handler path is completed, the protocol continues with its normal execution. Two types of exception can be managed: time and logical. (see Table 1.e). • The Cancel operator defines the path to be followed after an exception takes place. The difference between Cancel and Exception operators is that the former finalizes the execution of the protocol when the path that handles the exception is completed. A control flow segment with a Cancel operator is used to finalize a protocol in a coherent and consistent way after an exception. • The Multiple Instances operator is used to represents multiple instances of an interaction path. Four types of synchronization of multiple instances can be defined, which are denoted by a label at the top-left of the CFS (see Table 1.f). The number of instances can be defined: (1) at design-time (<>); (2) at run-time (<