A P2P Approach for Business Process Modelling and Reuse

11
J. Eder, S. Dustdar et al. (Eds.): BPM 2006 Workshops, LNCS 4103, pp. 293 303, 2006. © Springer-Verlag Berlin Heidelberg 2006 A P2P Approach for Business Process Modelling and Reuse José A. Rodrigues Nt., Jano Moreira de Souza, Geraldo Zimbrão, Geraldo Xexéo, Eduardo Neves, and Wallace A. Pinheiro COPPE – Universidade Federal do Rio de Janeiro {rneto, jano, zimbrao, xexeo, eneves, awallace}@cos.ufrj.br Abstract. Business Process Management Systems are largely used nowadays. However, most process models are started from scratch, not having reuse pro- moted. Large enterprises not using a unique integrated system, and also some of them that do, have the same business process implemented in a variety of ways, due to differences in their units’ cultures or environments. A P2P tool is pro- posed as a way of cooperatively developing business processes models, mini- mizing the time needed to develop new models, reducing the differences among similar processes conducted in distinct organization units, enhancing the quality of models and promoting reuse. Keywords: Distributed Systems, P2P, Business Process Modelling, BPM, Re- use, Reputation. 1 Introduction Business Process Management (BPM) has gained popularity and strength in the last few years. The failure of traditional approaches for systems modelling in fully ad- dressing the needs of most organizations, especially on aligning the development’s fi- nal product with business objectives [1], has contributed to this picture. Particularly, modelling the business process can greatly facilitate requirements gathering, still viewed as the source for most failures on projects [2]. Yet, the work on MDA [3], en- hancing the value of Platform Independent Models (PIM), also contributes to leverag- ing the importance of process modelling. There exist several common, or similar, processes in organizations. For instance, most organizations 1 , whether in the same company or not, have a procurement and acquisition process. We believe a cooperative approach can drastically reduce mod- els’ development time. Addressing these issues, we propose the use of a peer-to-peer (P2P) tool to ex- change processes models, promoting a “natural” standardization. The proposed tool also allows for the enhancement of existing models, through an evolutionary approach 1 The term organization is used in this article with a generic sense, i.e., it can be a company or a company unit.

Transcript of A P2P Approach for Business Process Modelling and Reuse

J. Eder, S. Dustdar et al. (Eds.): BPM 2006 Workshops, LNCS 4103, pp. 293 – 303, 2006. © Springer-Verlag Berlin Heidelberg 2006

A P2P Approach for Business Process Modelling and Reuse

José A. Rodrigues Nt., Jano Moreira de Souza, Geraldo Zimbrão, Geraldo Xexéo, Eduardo Neves, and Wallace A. Pinheiro

COPPE – Universidade Federal do Rio de Janeiro {rneto, jano, zimbrao, xexeo, eneves, awallace}@cos.ufrj.br

Abstract. Business Process Management Systems are largely used nowadays. However, most process models are started from scratch, not having reuse pro-moted. Large enterprises not using a unique integrated system, and also some of them that do, have the same business process implemented in a variety of ways, due to differences in their units’ cultures or environments. A P2P tool is pro-posed as a way of cooperatively developing business processes models, mini-mizing the time needed to develop new models, reducing the differences among similar processes conducted in distinct organization units, enhancing the quality of models and promoting reuse.

Keywords: Distributed Systems, P2P, Business Process Modelling, BPM, Re-use, Reputation.

1 Introduction

Business Process Management (BPM) has gained popularity and strength in the last few years. The failure of traditional approaches for systems modelling in fully ad-dressing the needs of most organizations, especially on aligning the development’s fi-nal product with business objectives [1], has contributed to this picture. Particularly, modelling the business process can greatly facilitate requirements gathering, still viewed as the source for most failures on projects [2]. Yet, the work on MDA [3], en-hancing the value of Platform Independent Models (PIM), also contributes to leverag-ing the importance of process modelling.

There exist several common, or similar, processes in organizations. For instance, most organizations1, whether in the same company or not, have a procurement and acquisition process. We believe a cooperative approach can drastically reduce mod-els’ development time.

Addressing these issues, we propose the use of a peer-to-peer (P2P) tool to ex-change processes models, promoting a “natural” standardization. The proposed tool also allows for the enhancement of existing models, through an evolutionary approach

1 The term organization is used in this article with a generic sense, i.e., it can be a company or a

company unit.

294 J.A. Rodrigues Nt. et al.

that helps in organizational learning [4]. Additionally, since modellers can work independently of any organization, the tool may also be used on an individual basis, as an open repository and reuse promotion mechanism.

2 The Problem

A large amount of common business processes do exist among organizations. Due to the increase of attention to business process management [5], organizations tend to fully model their processes. Many times though, models are developed from scratch, with little attention to reuse or process standardization.

In large enterprises, where several non-integrated systems can be found [6], differ-ences among their units or departments could be greatly reduced if there was some way of standardizing their common processes. A cooperative approach can also ease the modelling task among different enterprises, where processes integration may be needed.

The adoption of standardized processes is expected to enhance efficiency and per-formance, e.g., streamlining the supply-chain process [6], while facilitating reuse and reducing modelling costs. In the networked economy, flexibility and reuse deserve special attention [7].

2.1 The Modelling Scenario

Making organizations adopt a standard process is not an easy task. This gets even harder if they are part of different companies. Cross-organizational BP modelling be-sides justifying special care, especially due to privacy and competitive constraints, can be a complex job [8].

The Business Process Cooperative Editor (BPCE) focuses on the improvement of models, the optimization of modelling activities, and the reuse of models among organizations.

2.2 UML for BP Modelling

Business process models are modelled using UML Activity Diagrams. Activity Dia-grams were chosen for BP modelling due to the following reasons:

• Being a standard • Wide use of XMI for model interchange in CASE tools • IT background of users

For the purpose of BPCE, whole diagrams or fragments are handled as models. This way, a user wanting to develop a new model can do it by assembling existing diagrams, or parts of existing diagrams, to compose a model that suit the established requirements.

A P2P Approach for Business Process Modelling and Reuse 295

2.3 Model Exchange

Model exchange can be accomplished in a variety of ways. Actually, the lack of one standard format, widely adopted and used, is still recognized as a problem for the ad-vancement of BPM. It is desirable that an interchange format presents the following characteristics: readability, ease of implementation, platform independence, effi-ciency, free availability, and support of standards [9].

The XML Process Description Language (XPDL) [10] could be a good choice. Besides being supported by a number of tools, it is capable of handling both UML models (based on the Meta Object Facility – MOF) and Business Process Modeling Notation (BPMN) models.

However, the XML Metadata Interchange Format (XMI), proposed by the OMG [11] appears as a natural choice. The use of XMI is recommended for two reasons:

• The chosen modelling media was the activity diagram, from UML. • Extensions of the work to deal with software models or other XMI based tasks

would be facilitated [12].

Although restricted to interchanging diagrams based on MOF, also from OMG, it is absolutely platform independent [11]. It shall be noted that BPMN has not yet de-fined a language for diagram interchange [13].

2.4 The P2P Approach

To evaluate the adequacy of a P2P approach, an analysis of the proposed system was conducted, based on the work of [14]. An evaluation considering their pro- posed decision-tree led us to the conclusion that a P2P approach was suitable to our problem.

Summarizing, the use of a P2P approach is justified, in this case, by the following:

• Budget constraints – the low cost entry of P2P systems allows for its use in any or-ganization and also by independent modellers, starting their own cooperation net-work;

• High relevance, to the participants, of the resources being shared; • Non-critical nature – the shared models are used as basis for the development of

new models and, consequently, are not considered critical, since the modelled busi-ness is not actually running on them; and

• Abundance of process models on different and, sometimes, unrelated sources, which could jeopardize a centralized approach. Yet, the possibility of the inde-pendent, sometimes “unknown” modeller, to autonomously participate in such a cooperation network, posting its contributions.

Considering that, a P2P system depends on the actual participation of peers and since reuse of one’s models builds up a reputation, we believe that such a mechanism motivates the cooperation of peers. However, free-riders might well exist in this scenario [15].

296 J.A. Rodrigues Nt. et al.

3 Implementing the Solution

BPCE is a P2P tool that allows modellers to freely share their models. It is imple-mented as a four-layer architecture, as described below:

1. Infrastructure layer – implemented by COPPEER [16], it is responsible for the P2P primitives.

2. Repository layer – responsible for storing local models. 3. Searcher layer – has the mechanisms for finding models – the Searcher –, which

can be aggregated to build a new model, using COPPEER resources. It also in-cludes a simple tool for visualizing model elements – the Viewer –, prior to being selected for use in the Editor.

4. Editor layer – holds the graphical environment with resources to modelling – the Editor –, including assembling obtained model elements collected from the net-work of agents.

Fig. 1 shows the conceived architecture.

Fig. 1. BPCE Architecture

Published models are stored in local repositories – the search space for COPPEER. Whenever a user wants to build a new model, a search can be performed on the Searcher, which uses COPPEER for it. The search returns pointers to model ele-ments2. Basic information about found elements is based on their XMI and additional attached data. That basic information is displayed to the user in the Searcher window, where model visualization can be requested. As soon as the local repository receives enough data to graphically display any information about the selected model element, a Viewer, which is part of the Searcher, may be started.

The user can briefly check the found model, using the Viewer. If the user decides to use a model, it can be transferred to the Editor, either to a new Editor window or to an already open one.

2 Model and model elements are sometimes used interchangeably in the article. In the case

of activity diagram, model element means a fragment of a model, eventually just an atomic action.

Editor

Searcher

Repository

CO

PP

EE

R

A P2P Approach for Business Process Modelling and Reuse 297

On the Editor, the user can modify the received element, by editing it or by aggre-gating it to other existing elements. A new version of the same element, or a new one, can then be directly added to the repository, through a publishing mechanism.

An overview of a basic modelling cycle is shown in Fig. 2.

Fig. 2. Modelling Cycle

3.1 COPPEER – A P2P Framework

The bottom layer, provided by COPPEER [16], takes care of model exchange and al-lows for the search of models or models’ elements related to desired subjects.

The COPPEER framework is an environment for developing and running P2P ap-plications. It is a research project developed at the Database Lab of the Federal Uni-versity of Rio de Janeiro Graduate School and Research in Engineering (UFRJ/COPPE). It implements a P2P environment under the Complex Adaptive Sys-tems (CAS) paradigm [17].

3.2 The Model Editor

The Editor provides resources to assemble and edit model elements. Models prepared on the Editor are published as XMI archives.

Since the appraisals of imported models are done after building a new model, the Editor has a function to publish a model. The published model becomes available on the model repository for use by other peers. Publishing includes the creation of a

298 J.A. Rodrigues Nt. et al.

Model Object (MO), by the Editor, which aggregates a small image of the published model, its score and its information vector. Such a vector is produced from the XMI representation of the model, discarding the header, common to all published files.

Additionally, when a model is published, the evaluation of the models used to compose it is done. Later on, if the user wants to evolve a published model, the Editor asks for a new evaluation, only if new models are imported and added to the model.

3.3 Retrieving Models

Searching the Models’ Space is performed using a simple search mechanism, based on the vector model [18]. Each new model has its vector calculated, and preserved, in MO’s, created to later use by the Searchers and Viewers.

Since XML tags are also used when calculating vectors, the search can further be directed to specific types of elements, according to activity diagram schema. For ex-ample, it can be constrained to ActivityGroup [19], by simply adding the term to the query.

Considering the search space can be populated by a large amount of models, user can specify the maximum distance allowed from the query vector, for retrieved mod-els. Retrieved models are presented, ordered by similarity to the query, with their scores.

3.4 Ranking Models

In an environment with a large number of choices, ranking turns out to be helpful in optimizing user’s work. When there are several models dealing with the same subject, it is to the benefit of the users that some kind of ranking exists, to facilitate the choice of any particular option. The idea of cooperatively filtering the available models can be applied to such a context [20], [21].

A model’s score is an indicator of usage of the model. To calculate the score, and assessment of its author’s reputation is required. The reputation indicator used in BPCE tries, through tracking models usage, to indicate the quality of the models pro-duce by each user.

While maintaining scores or reputations on a traditional distributed system could be done using a central server, this is not the case in a P2P environment. Some ap-proaches have been already explored [22] and show that in P2P environments, the maintenance of evaluations is not trivial. We assumed, for the sake of reducing com-plexity, that minor differences among peers’ local values are acceptable.

Most P2P reputation systems have two kinds of problems:

• Reputation is based on just a few peers evaluation, losing the big picture; or • Reputation is based on all peers’ evaluations, unnecessarily raising the traffic

on the network [23].

The proposed algorithm is not susceptible to the above problems, since the reputa-tion is build up considering all uses of a modeller’s model and just this, i.e., it does not require the participation of all peers on the network.

A P2P Approach for Business Process Modelling and Reuse 299

Models are ranked according to their utilization by other modellers. When a re-trieved model is used, i.e., the user decides, when using the Viewer, to export it to the Editor, it receives points. Those few points granted, mean that the model has, at least, gotten the attention of the user – however, this is not actually a way to reward the model, but to discard the ones that are not even looked at by users. Later, when a new model is created on the Editor, the user is presented with a list of imported models, where he marks the models actually used to derive the new one. Those selected models receive some additional points, to leverage their ranking, according to their utilization on the new model, i.e., the user can state that an imported model had low, medium or high influence on the new developed model. The received points are weighted by the appraising modeller’s reputation.

Synthesizing, a new model has its initial points, based on the score of the models used in its composition and the reputation of its modeller. It keeps receiving points according to its utilization on the development of new models.

A modeler’s reputation is calculated based on the reutilization of his models and on his collaboration to the overall ranking process. The modeller receives points each time one of his models is selected and additional points when it is actually used. Points are also granted when he decides to collaborate on the appraisals of the im-ported models. This can motivate the participation of users in the ranking system. It applies a simplified version of the HYRIWYG reputation system [24].

So, let:

• I be the set of modellers. • M be the set of models, J ⊂ M be the set of models from modeller I, and K ⊂ M be

the set of imported models in model m. • psijm be the points for selection ( 0 if not selected, 1 otherwise), by modeller i, in

model j, of model m. • puijm be the points for use, where not used = 0, low = 1, medium = 2 and high = 3,

by modeller i, in model j, of model m. • pej be the points for evaluation, where pej=0 if the modeller does not evaluate used

models, and pej=1 if he does evaluate, when building his model j. • Ri be the reputation of modeller i. • wi be the weight of memory, ws be the weight of selection, and wu be the weight of

use

The evaluation system can then be expressed by:

Model’s Initial Points

K

puPM

PI K

ikmk

m

∑ ⎟⎠⎞

⎜⎝⎛

= 3*

(1)

The initial points’ factor evaluates a model, based on the reputation of the models used in its composition. This is done by considering that, if a model is an evolution of other models, it must carry some of their reputation. It can be seen as the model’s DNA.

300 J.A. Rodrigues Nt. et al.

Model’s Selection Points

( )∑∑=I J

ijmiim psPRRPS ** (2)

The selection points factor accounts for the points accrued by the model due to its se-lection by other modellers, when building new models. A model receives a reward for being, at least, interesting.

Model’s Use Points

( )∑∑=I J

ijmiim puPRRPU ** (3)

The use points factor accounts for the points the models receives on other modellers’ appraisals, when also building new models. It is the reward for the actual utilization of the model.

Model’s Total Points

mmmm PUwuPSwsPIwiPM *** ++= (4)

Total points are calculated by the formula above. The weights are used to balance the factors. Different organizations or scenarios can require different customizations of the system, manipulating how ranking shall be affected by each of these factors. It is important though, to understand that these weights must be set for once and for all, since, the initial evaluation is static, i.e., it is computed at the time the model is built and never more. Also, the other evaluations, although being computed during sys-tem’s life, are, each of them, computed at the time the model is used, and added to the existing model points.

Modeller’s Reputation (R)

∑=

Ii

ii PR

PRR (5)

The modeller’s reputation introduces the reputation of the modeller into the scenario. It is defined as above, based on the modeller’s points.

Modeller’s Points

⎥⎦

⎤⎢⎣

⎡+⎥⎥⎥

⎢⎢⎢

⎡= ∑∑

Jj

Jj

i peJ

PMPR (6)

A P2P Approach for Business Process Modelling and Reuse 301

The first factor is the average points the modeller has received on his models. It is the actual score of the modeller.

The second factor is a motivating factor – a reward, given to the modeller, each time he builds a new model, and evaluates the models used to compose it. This feature enhances the cooperation among modellers.

4 Conclusion and Expected Benefits

BPCE facilitates the development of new business process models, through reuse. This is done using the P2P paradigm, hiding model exchange complexities from us-ers, and providing users with an easy to use and simple interface.

However, there exist some negative aspects of the approach. Some of them are ex-pected to be mitigated, but some may require some extra effort. The list below is a ba-sic assessment of the cons:

• Trust – while in a controlled membership scenario the problems associated with trustiness may be minimized, this turns out to be much harder in an open environ-ment;

• Participation – heavy dependence on peer’s availability, since models are stored on authors’ peers, may develop as a problem. Although reputation build up may work as a motivating factor, the unavailability of a node, while not critically compromis-ing the modeller’s work, may act as a demotivating factor. Replication can address this problem, reducing its impact;

• Diversity of modelling languages – the system’s effectiveness is based on the use of a common standard or, at least, compatibility among shared models. Translators, although feasible, may not be practical; and

• Diversity of tools – even assuming the existence of a unique exchange mechanism, as XMI, our assessment has shown that each tool has some particularities when preparing their XMI files. While BPCE can be adapted to work with several exist-ing tools, the wide use of non-standard resources in XMI files can affect system’s effectiveness.

Despite the downside of the coin, we understand that through BPCE, the organiza-tion can have its processes shared and adapted. As a result, on the long run, it is ex-pected that the best-fitted processes survive, contributing to evolution and standardi-zation of the organizations’ processes. In this sense, it may be seen as a distributed knowledge management tool, supporting organizational learning in the enterprise. Additionally, when used by different enterprises, it can help organizations tune-up their processes and better understand each other.

5 Summary and Future Work

BPCE, as presented in the preceding sections, is currently under implementation for deployment in a large company, where the problems stated do exist. Enhancements, as described below, will be implemented on next versions.

302 J.A. Rodrigues Nt. et al.

Several issues have appeared during the development. Due to the time constraints of the project, we intend to consider them on the next versions of the tool. A small list of issues is provided:

• Ontology based search – besides enhancing search, it allows for customization, including partitioning the search space onto business areas, with their proper ontologies.

• XPDL – support of XPDL and related technologies. • Security mechanisms – avoiding fraud and selecting what information can be vi-

ewed by other users. This deserves special care when conducting cross-organizational modelling. Additionally, the need for anonymity must be studied, since social barriers may difficult sharing.

• Ranking – the present implementation just considers the modeller participation on the ranking process as a binary function, on each new developed model. This can be changed into a system where the points received are also based on the quality of the judgment made by the modeller [24]. In addition, proper experiments shall be conducted to allow for the assessment of the advantages and disadvantages of the algorithm when compared to the other existing ones.

References

[1] Chan, Y. Why Haven’t We Mastered Alignment? The Importance of the Informal Or-ganization Structure. MIS Quarterly Executive, Vol. 1, No. 2, June/2002.

[2] Hofmann, H. Lehner, F. Requirements Engineering as a Success Factor on Software Pro-jects. IEEE Software, v. 18, issue 4, IEEE Press, 2001.

[3] Miller, J. Mukerji, J. editors, MDA Guide Version 1.0.1. OMG 2003. [4] Liebowitz, J. Building Organizational Intelligence: A Knowledge Management Primer.

CRC Press. 1999. [5] Smith, H. Fingar, P. Business Process Management – The Third Wave. Meghan-Kiffer

Press, 2003. [6] May, M. Business Process Management – Integration in a Web-enabled Environment.

Pearson Education Ltd. 2003. [7] Smith, H. Fingar, P. IT Doesn’t Matter – Business Process Do. Meghan-Kiffer Press,

2003. [8] Lippe, S. Greiner, U. Barros, A. A Survey on State of the Art to Facilitate Modelling of

Cross-Organisational Business Processes. 2nd Workshop of German Informatics Society (GI), 11th GI Conference “BTW 2005”, 2005.

[9] Mendling, J. Neumann, G. and Nuttgens, M. A Comparison of XML Interchange Formats for Business Process Modelling, in Workflow Handbook 2005. Future Strategies Inc., 2005.

[10] The Workflow Management Coalition, Process Definition Interface – XML Process De-finiton Language. WFMC, 2005.

[11] Object Management Group, MOF 2.0/XMI Mapping Specification, v2.1. OMG, 2005. [12] Rodrigues, E. Rodrigues, J. Mello, R. Porto, F. Mapping OO Applications to Relational

Databases using the MOF and XMI. Workshop on Integration and Transformation of UML models – ECOOP 2002, LNCS, v. 2548. Springer-Verlag Heidelfeld, 2002.

A P2P Approach for Business Process Modelling and Reuse 303

[13] Object Management Group, Business Process Modeling Notation Specification, v1.0. OMG, 2006.

[14] Roussopoulos, M. Baker, M. Rosenthal, D. Giuli, T. Maniatis, P. Mogul, J. 2 P2P or not 2 P2P?. Proceedings of the 3rd International Workshop on Peer-to-Peer Systems. LNCS, v. 3279. Springer-Verlag Heidelfeld, 2005.

[15] Parameswaran, M. Susarla, A. Whinston, A. P2P Networking: An Information-Sharing Alternative. IEEE Computer, v. 34, issue 7, IEEE Press, 2001.

[16] Miranda, M. Xexeo, G. Souza, J. Building Tools for Emergent Design with COPPEER. Proceeedings of the 10th International Conference of CSCW in Design – CSCWD 2006. 2006.

[17] Tan, J. Wen, H. Awad, N. Health Care and Services Delivery Systems as Complex Adap-tive Systems. Communications of the ACM, vol. 48, issue 5. ACM Press, 2005.

[18] Baeza-Yates, R. Ribeiro-Neto, B. Modern Information Retrieval. ACM Press. 1999. [19] Object Management Group, UML 2.0 Superstructure, v2.0 formal 05/07/04. OMG, 2005. [20] Goldberg, D., Nichols, D., Oki, B. M., and Terry, D. Using Collaborative Filtering To

Weave An Information Tapestry. Commun. ACM 35, 12 (Dec. 1992), 61-70. ACM, 1992.

[21] Resnick, P. Iacovou, N. Suchak, M. Bergstrom, P. Riedl, J. GroupLens: An Open Archi-tecture for Collaborative Filtering of Netnews. Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work – CSCW 94. ACM, 1994.

[22] Aberer, K. Despotovic, Z. Managing Trust in a Peer-2-Peer Information System. Proceed-ings of the 10th International Conference on Information and Knowledge Management (ACM CIKM), New York, USA, 2001.

[23] Kamvar, S. Schlosser, M. Garcia-Molina, H. The Eigentrust Algorithm for Reputation Management in P2P Networks. Proceedings of the 12th International Conference on World Wide Web, Budapest, Hungary - WWW '03. ACM Press, New York, NY, 640-651.

[24] Garcia, A. C., Ekstrom, M., and Björnsson, H. 2004. HYRIWYG: Leveraging Personal-ization to Elicit Honest Recommendations. In Proceedings of the 5th ACM Conference on Electronic Commerce - EC '04. ACM Press, 2004.