A Metamodel-Driven Business Process Modeling Methodology and Its Integrated Environment for Reusing Business Processes

Reusing business process models and best practices can improve the productivity, quality and agility in the early development phases of enterprise software systems. To help developers reuse the business process models and best practices, we propose a methodology and an integrated environment for business process modeling driven by the metamodel. Furthermore, we propose a process-template design method to unify the granularity and separate the commonality and variability of business processes so that business process models can be reused across different enterprise software systems. The proposed methodology enables to create reuse-oriented business process templates before the business process modeling. To support the proposed methodology, we developed an integrated environment for creating, reusing and verifying the business process models. As the key techniques, we describe the methodology and its integrated environment, including a metamodel and notations. We applied the methodology and integrated environment to an actual enterprise software development project, and evaluated that the productivity of business process modeling is improved by at least 46%. As the conclusion, this paper contributes to prove the effectiveness of the meta-model driven business process modeling methodology for the reuse of business process models.


Introduction
Development of enterprise software systems is facing a big challenge to reengineer the business for digital business [1].Since business process is the heart of enterprise software systems, the challenge goes to reengineer the business process under the following common situations: 1) An enterprise needs to reexamine its entire business process and software systems, and to align the business model, business process and software systems.
The underlying motivation lies in that the enterprise needs to create new business model and its operating environments at a lower cost within a shorter time.
2) An enterprise needs to tackle new problems arising in today's rapid changing business environment, and to develop a solution which may affect the entire enterprise.
To meet such demands, a lot of methods have been proposed for modeling, visualization and monitoring business process under the umbrella of BPM (Business Process Management) [2] [3].Moreover, the importance of clarifying the business process in the requirements analysis of enterprise software development has been recognized.
Techniques and tools for business process modeling, such as ARIS [4], have been proposed [5].In addition, many ERP (Enterprise Resource Planning) products provide various business process models in the form of templates.
However, such business process models are increasingly inconsistent with actual customer businesses.Moreover, business analysts and developers tend to adopt their own business process analysis and developing techniques, which hinders to reuse the business process in the enterprise software development [6].It is important to unify business process models.
To enable the reuse of business process models, we developed a method of business process modeling by extending UML (Unified Modeling Language) [7], which is widely used as a global standard notation.Our approach is similar to that of ISO/IEC OMG BPMN (Business Process Model and Notation) for representation [8] [9].However, it is reported problems arising in practical use of BPMN for BPM (Business Process Modeling) [10].Therefore, we defined an extended meta-model to guide the business process modeling, and reuse method with a set of BPM templates and supporting IE (Integrated Environment), which are the major contributions of this work.This paper proposes our business process modeling methodology and its supporting integrated environment, process template development techniques that enable business process reuse, and our artifacts from applying the methodology, integrated environment, and techniques.In Section 2, we briefly describe business process modeling meta-model and language.In Section 3, we provide the details of our business process modeling methodology and the integrated environment.In Section 4, we describe the reuse technique and support of integrated environment, and in Section 5 we discuss the evaluation with an application to an actual enterprise software development project.We discuss the con-tribution of this work with related work in Section 6 and Section 7. We conclude in Section 8.

Goals
The goal of our business process modeling is to shorten the time needed to reengineer the customers' business process and to develop the enterprise software supporting the business process.To make the reengineering agile, we focus on the visualization and reuse of the business process.If the business process is modelled as reusability in mind, we can reuse the process, and quickly reengineer the process, and shorten the development time of enterprise software.
To enable the reuse, we identified the following properties of reusable business process model.

1) Objectivity:
The operational semantics should be clearly defined.
2) Consistency: The modeling technique should be unified.
3) Maintainability: Continuous control of maintenance should be easy.4) Reusability: An output document can be reused as an input for business process analysis.5) Descriptiveness of details: Enough details should be described at a reusable level.
The authors have developed a business process modeling methodology and integrated environment that meet these requirements.

Metamodel and BPML (Business Processes Modeling
Language) A number of BPMLs (business process modeling languages) have been proposed, including ISO/IEC OMG BPMN [8] [9], and many homegrown languages [11] [12].However, many of them are too abstract, and/or restricted to workflow, and difficult to reuse across the organization due to the lack of common understanding.Therefore, the authors propose a BPML metamodel, a metamodel to provide a common ground of business process modeling languages and their semantics.Figure 1 shows part of the proposed BPML metamodel.
The BPML metamodel is based on the UML 2.4.1 superstructure metaclasses [13] [14], but is extended with our business process profile.Table 1 summarizes the relationship between the classes of the BPML metamodel and those of UML 2.4.1 superstructure.Note that UML 2.4.1 superstructure is a basis of the latest UML 2.5.1 specification [7], which integrates the superstructure within the specification.Therefore, the proposed BPML metamodel is consistent with UML 2.5.1.
The metamodel includes indexes for the evaluation of business process modeling.The authors defined the following attributes as the generic evaluation criteria of a business process with meta-class name: Process.2) Cost: cost spent.
On the notations of business process modeling language, it is needed to maintain a consistency with UML at a high level.

Elements of Business Process Model
Based on the BPML metamodel, we define the major elements of business process model for facilitating reuse.As explained below, a business process model consists of two layers of 1) global business structure and the detail structure of a business process layer consisting of 2) business process flow, 3) busi-ness data, 4) roles, and 5) BPM properties.As illustrated in Figure 2, it represents a unit of business process model as a work flow of business processes.The business process is a unit of work done by not only a computing system, but also people.Therefore, each business process can be typed with three stereotypes of <<human task>>, <<system support>>, and <<system>>.
A condition can be associated to a branch of flow to control the flow into multiple parallel flows.Moreover, if the business process flow needs to be further refined, a process flow showing the details of one business process can be used.Figure 3 illustrates the refined business process flow of "Order Processing" business process shown in Figure 2.

3) Business data
Business data is the input and/or output of a business process, and is created and/or changed by the process.sending data are described; in Figure 3, an e-mail is used for sending "Order Check".

4) Roles in an organization
Role is an organizational element which executes a business process.The "Organization Diagram" based on the UML class diagram is used to describe roles in organization.A role is expressed as a "Class" in this diagram.

5) BPM properties
To improve a business process through BPM, it is necessary to provide evaluation criteria.The evaluation criteria and associated statistics can be defined in a business process, business data, and an organization.For a business process, the time and cost required for completion, pre-conditions, for example, at the first day of every month, are defined.

Objectives of BPM Methodology
Based on the goals stated in Section 2.1, the authors set the concrete objectives to elaborate the metamodel-driven BPM methodology and BPM-IE (Business Process Modeling Integrated Environment).

1) BPML metamodel
Through the BPML metamodel, the meaning of each entity described in Section 2.2 is clarified.Therefore, the metamodel ensures the consistency between entities across different business process models, and makes it possible to reuse a business process model as data shared through the BPM-IE.The metamodel also helps maintainability of business process models by governing the change of Especially, the metamodel helps extension of business process models, like UML superstructure, for meeting the demands from customers.By verifying the extension of the models against metamodel, it is possible to ensure consistency, completeness and unambiguity of the extended models.
2) Metamodel-driven business process modeling methodology The metamodel-driven business process modeling means that the entire process of business process modeling is governed by a metamodel through the BPM-IE explained below.The proposed methodology focuses on reuse of business process, the metamodel can ensure the consistency as mentioned above.

3) BPM-IE (Business Process Modeling Integrated Environment)
The BPM-IE supports the modeling of business processes under the governance of the metamodel.With metamodel, BPM-IE assures the consistency, completeness and unambiguity of the business process created.Therefore, BPM-IE is indispensable to create and reuse the business processes based on the business process modeling methodology.

Business Process Modeling Methodology
Figure 4 illustrates an outline of three-stage processes of the business process modeling methodology.

1) Preparation
In "Preparation", the business process modeling project is initiated, followed by determining the context of business process, including target organization, target business process and BPM properties to be clarified.After initiation, we can collect and define the vocabulary used in the organization, set evaluation criteria, and create agreement among stakeholders involving the business process modeling.
2) Business process modeling "Business Process Modeling" is the central process of the methodology.It consists of two activities of "Analysis of Business Process Flow" and "Analysis of Business Data".The two activities view two sides, flow and data, of the same business process model, and can be done in an iterative way.
Figure 4. Three steps of business process modeling methodology (outline).
In "Analysis of Business Process Flow" activity, model elements are elicited, and business process flows are analyzed along with the workflow.The business processes are classified with three execution stereotypes.Then, the business data are elicited as the input and/or output of each business process.Each business process, a set of properties is identified.
After eliciting business data, in "Analysis of Business Data" activity, the data are analyzed and defined the attributes.Finally, the format of the screen page and list, which are input and out of the business process flow are specified.
3) Confirmation and recognition "Confirmation and Recognition" is a process of verification of business process models and creating of consensus of the model with the stakeholders involving the business process modeling.
The proposed methodology has the following notable features: 1) "Preparation" is important to set the goals and scope of the methodology.
Major stakeholders, including customers, i.e. the people conducting the business on the business process, business analysts, and developers set the goals of business process modeling in advance.Based on the goals, the analysis and evaluation criteria can be customized.
2) At the end of "Preparation", it is expected to create an agreement of the goal and scope of business process modeling.The agreement is important to prevent the scope creek and promote sharing and reuse the business press models.For example, our business process flow diagram includes a set of constraints, so that the scope and execution semantics can be more clearly defined than the UML activity diagram.
3) In "Confirmation and Recognition", the BPM-IE enables to verify the consistency, completeness and unambiguity of the business process models, which is tedious and error prone work.

BPM-IE (Business Process Modeling Integrated Environment)
We developed the BPM-IE (Business Process Modeling Integrated Environment) as shown in Figure 5.  2

) BPM properties design
The BPM-IE supports to create and edit the detailed information on business processes and business data.

3) Verification of business process models
The BPM-IE supports to assure that the business process model is unambiguous and consistent.It means there is no mismatching in the diagrams of a business process model.Verification is done based on the constraints defined by the metamodel and the notations.For example, if no condition is given at a conditional branch in a business process flow diagram, the BPM-IE suggests the problems and possible resolutions.

4) Generating documents of multiple-viewpoints
Documents of multiple viewpoint and notations are generated to support the review and approval of the business process models.For example, a table format document listing the properties of a business process can be generated.In addition, users can customize the format of a document, and the selection of the BPM properties to be presented.

5) Model extension
The model extension function can be used in the "Preparation" process for extending the business process modeling capability by adding user specific BPM properties, or changing the default BPM properties to the meta-class unit of the metamodel.

6) Toole integration through BPM-IE APIs
The BPM-IE provides the functions though the APIs.Other tools/IEs can access the modeling artifacts through the APIs.For example, data from the business process flow are provided to the BPM monitoring tool for monitoring the execution of business processes [15].

Principles of the Business Process Reuse Method
Based on the business process modeling methodology mentioned in the previous section, we propose the business process reuse method with BPM templates.By reusing the verified business process models, we can expect to improve the agility, productivity, and quality of the business process modeling.
With the methodology and BPM-IE described in Section 3, modeling artifacts can be stored into the repository in a unified form.With the BPM-IE, the business process models are assured to be complete, consistent and unambiguous.
However, we realized that such artifacts cannot be reused by simply eliminating the customer-specific changes, extensions and information.To facilitate the reuse, we introduced the following two principles based on the principles of separation of concerns [16].
1) A unified granularity of a business process and data component must be defined.
2) Separation of commonality and variability: Reusable common information and customer-specific information must be separated [17].The variation points are specified as hot spots.
Note that the principles are consistent with the basis of OMG RAS (Reusable Asset Specification) [18].
To realize the business process reuse based on these principles, we defined the modularity criteria and levels of abstraction of the hierarchy of the business process flow.In addition, we evaluated the productivity improvement by reusing the business process models.

Business Process Reuse Method with BPM Templates
To materialize the principles of business process reuse, we defined two levels of the hierarchical BPM (Business Process Model) templates.With the BPM templates, we propose a method of development and application of BPM templates.
First, the method enables to describe a reusable business process flow.
We also defined the roles of business process modeling team members to develop reusable business process models for actual projects.Table 2 outlines the three-level structure of reusable business process models.
The business process flows in Level 1 and level 2 are abstraction of business process flows and commonality across the multiple business process flows.Therefore, they are reused as the business process templates.The business process flows in Level 3 define the details of the business process flows specified in Level 2. Therefore, the business process flows in Level 3 represent the variability.

BPM-IE Functions for Reuse
To support the reuse of business process model by separating the common

Composition of main business Type of industry and business condition community
Leader -An order of main business common to a type of industry -"Role" and "Data" are not described.

One customer
The person in charge -The system functions for realizing the level 2 process.
-Input data and output data of a function -How to use in the business of a function business parts from individual customer parts, the BPM-IE provides the following tool functions.

1) Support to reuse the lower-level business process flows by substitution
The lower-level business process flows refine the business process templates defined as the higher-level business process flows.To reuse the business process flows, appropriate sub-activity graphs are substituted to the templates in order to fit the lower level business process flows to the customer's business.

2) Management of model components through the RAS
We use the "Default Profile" of the RAS [18] to manage the business process model components, which is a set of divided business process flows that are the candidates of a sub-flow of a business process.The RAS specifies the structures of reusable assets and description formats in XML to provide meta-information on the assets.
In our business process model, a subflow object describes a business process instance that has a refined business process flow illustrated in Figure 6.
The refined flow is represented by a Business Flow object that is linked to the subflow object.Our BPM-IE stores the following management information, written in XML, which complies with the RAS: a) Subflow instances that have, or will have, multiple candidates for the refined Business Flow object to be linked with the subflow instance.
b) Business process flow instances that can be linked to the subflow instances.
This management information can be expressed by XML "Artifact" elements and "Artifact-Dependency" elements of the RAS default profile.
For example, the XML descriptions shown in Figure 7 express the relationship between subflow objects and Business Flow objects in Figure 6.In Figure 6, the subflow object with Id = "F67" is linked with the Business Flow object with Id = "287" selected from the set of candidates Business Flow objects with Id = "287", Id = "050", and Id = "E90".

3) Selecting model components using the RAS
A business process model template includes information on relationships Figure 6.Object diagram of a business process model.
Figure 7.An XML description of the relationships between objects in Figure 6.
The business process flow includes object nodes, business actions, and references to business data objects.The BPM-IE helps to further refine the objects contained in or referred to the flow.

Project Outline and Evaluation Methods
We applied our modeling methodology, BPM-IE, and business process reuse method using BPM templates to an actual enterprise software development project of our customers, and evaluated the effectiveness of the proposed method and BPM-IE.
The customer is a company in the distribution industry.The company has 11 target businesses categories for the process modeling.The project member for business process modeling consists of one project manager, two leaders, and nine members.Another employee is assigned to the "Preparation" process for developing the templates described in Section 4.
Through the "Preparation" process, the project defined a set of business process templates for five business categories as listed in Table 3.The templates in Level 1, 2, and 3 are defined for two categories of "Order" and "Shipment".
On the other hand, three categories of "Supply", "Accept", and "Stock" have only Level 1 and 2 templates.The number of templates and person-days required for the preparation are shown in Table 3.We confirmed that for every project the workload of preparing level 1 and 2 templates was light.

Quantitative Evaluation of the BPM-IE and Templates
We defined business process flows for the 11 business categories of the project.
Table 4 shows the average development effort in person-day of the business process flow modeling.From the members of the project, we collected the data of the development effort in three use cases: 1) actual development effort; 2) estimated effort by using the BPM-IE, but without the templates; 3) estimated effort without using the BPM-IE and templates.
Based on the data collected from modeling 11 business categories, we revealed the following effects.
1) Productivity improvement by BPM-IE: the effort of business process flow modeling was reduced by 24.4% with the use of BPM-IE.
2) Productivity improvement by the combination of BPM-IE and templates: the effort of business process flow modeling was reduced by 45.8% for levels 1 and 2, and 47.1% for levels 1, 2, and 3, by the use of both BPM-IE and templates.
We can conclude that the productivity improvement proves a practical effectiveness of reusable business process flow modeling.The combination of the BPM-IE and templates makes the improvement effect double: from 24.4% to 47.1%, therefore, it is strongly recommended to create and use the templates for reusing business process flow.The effect of using templates clearly suggests the effect of business process reuse.

Qualitative Evaluation of the BPM-IE and Templates
We also evaluated the effects of BPM-IE and templates by collecting opinions from the users in the practice.
1) The BPM-IE is useful for ensuring business process flows, which are written in a uniform way.
2) The BPM-IE is useful to uniformly represent the elements in business process flows.
In addition, most of the users mentioned to use the BPM-IE and the templates in their future projects.
Thus, we can conclude that the BPM-IE and template are practically useful and effective.

Evaluation of Business Process Reuse Method
To evaluate the business process reuse method, we analyzed the artifacts for "Order" and "Shipment" as shown in Figure 8.Both level 2 and level 3 templates were provided for the two business categories.We analyzed the details on the changes of the business process models for reusing the templates to the CRM software.
1) At level 2, all the business processes were reused as is.We observed addition of process (Process) and an object (Object Flow State).However, such 2) At level 3, the reuse rate was 50% of the business process flows, which were agreed to reuse within the assumed scope of the templates.For refining the templates, many slight modifications were substituted.However, in the case of the agreement was not set, the reuse ratio fell to lower than 20%.The enterprise organization was divided into 39 units and business data were added by 339 entities.This analysis indicates the even level 3 templates are significantly reusable if the scope is defined and agreed.We also found that refinement of the business data had a beneficial effect after the business process definition.
As a conclusion, we are confident that the proposed business process reuse method is effective in the practical business process modeling.

Business Process Modeling Techniques
There is a bunch of publications on the business process modeling and business process management.
In their book, Eriksson and Penker proposed a business modeling technique where they introduce "Process" semantic to the UML activity diagram [19].The "Process" is a stereotype of "Action State".They also describe a set of patterns of business process models.In RUP (Rational Unified Process), Eriksson-Penker's Journal of Software Engineering and Applications modeling method is recommended as a substitute business modeling approach [20].However, these approaches focus on only the technique of business process modeling, and missed the reuse of business process modeling artifacts.
ISO/IEC OMG BPMN [8] [9] is a standardized and popular business process modeling language.Another notable representation includes EPCs (Event Driven Process Chains) [16].Both of them have a sub-process that presents the components of a business process, but not include reusable business process model components.
Although ISO/IEC OMG BPMN is a well-accepted standard of business process modeling, there are various problems in the use of the notation in practice [10].There are still many issues in the business process modeling using BPMN [21] [22].

Variability and Reuse of Business Process Models
For the reuse of business process models, as we discussed, it is necessary to structure the business processes in order to manage the commonality and variability of business process models like product line software engineering [17].
Marshall describes how an activity diagram can be divided and simplified [23].
However, he does not suggest a method for reusing activity diagram.
A decomposition-driven method is proposed for modeling business process family which consists of many variants of business process models [24].The method suggests to trade-off the common parts and variants in a top-down decomposition, and claims to reduce up to 50% of the number of duplication processes from two case studies.Although the concept of this work is in the same direction of our work, the tangible frameworks such as templates of our work are not provided.

Business Process Modeling Tools
There are a certain number of both academic/open source and commercial tools for business process modeling.However, they are different in terms of functionality, models for development, and goals in the use [25].For example, ARIS toolset provides business process modeling tools with EPCs and BPMN [4].
Other diagramming tools, such as Enterprise Architects [26] and Cacoo [27], support UML and BPMN.Those tools do not support reusable process templates based on standard reusable business process components.
However, it cannot support process template to reduce the efforts of process modeling.

Discussions and Contributions of This Research
We discuss the contributions of this research by comparison with related work.

1) Contributions of metamodel driven business process modeling methodology
The uniqueness of the proposed methodology lies in the metamodel and meta-Journal of Software Engineering and Applications model-driven modeling.Most popular notation of business process modeling is ISO/IEC OMG BPMN [8] [9].Although the BPMN is well-defined notation, some limitations and issues in practical use are pointed out [10].Our research contributes to the issues in the following two techniques of metamodel-driven business modeling methodology.a) A business metamodel for business process modeling: BPMN comes with a metamodel which is based on UML metamodel, and defines the entity and relationship of BPMN entities for notation.However, it lacks the concrete semantics of business process models.As shown in Figure 1, the authors defined the business metamodel, starting from "Business Flow", which can support to define business process models in a more concrete way.Therefore, our approach is considered as an extension of BPMN.
b) A set of supportive techniques to make business process modeling work in practice: BPMN focuses on the BPD (Business Process Diagram), and does not support to define the business vocabulary and organizational structure.The proposed methodology supports to define the business vocabulary, properties of business process, and organizational structure, which is necessary to clearly define the business process models and the operational context.To make business process modeling work in practice, our research suggests that it is necessary to provide further supports besides a business process modeling notation.
2) Contributions of business process reuse method with BPM templates and BPM IE (Integrated Environment).
The proposed business process reuse method contributes to the reuse of business processes with the following two techniques.a) A structural decomposition method of business process variability: It is common to model business process models in a top down manner [2] [3].
However, as pointed out [24], many business process models have some similarities.Therefore, like product-line software engineering, it is necessary to identify and separate the commonality and variability among the business process models [16] [17].This research proposed a three-layer hierarchical framework of business process models to separate the variability with a set of criteria, which is a foundation and guide for reusing business process models.
b) BPM (Business Process Model) templates: To support the reuse of business process models, the authors defined templates based on the three-layer hierarchical framework.Although some templates might be domain specific in the sense that specific domain needs specific templates, the templates work as concrete and tangible business process components for reuse.The empirical study proved that the proposed reuse method improved the productivity of business process modeling by 46%.A case study on decomposition-driven approach reported that up to 50% of the number of duplication processes were eliminated [24].These statistics may suggest a baseline of the reuse in business process modeling.
c) BPM IE for business process reuse: business process modeling is a complex

1 )
Duration 1 and duration 2: the time required.Journal of Software Engineering and Applications

Figure 3 .
Figure 3. Refined business process flow of "Order Processing" in Figure 2.

1 )
The center window shows a business process flow diagram for CRM (Customer Relationship Management).The upper left window shows the directory of the repository of the business process models.The root directory indicates the whole business.Under the directory, layers of business process models are stored in the repository.The lower left window shows the definition of business data for CRM.Another lower left window shows the BPM properties including the metrics and the target value of a business process performance.The BPM-IE has the following functions.Business process modelingThe BPM-IE supports to create and edit the business structure diagram, the business process flow diagram, the business data diagram, and the organization diagram in an integral way.

Figure 5 .
Figure 5. Screen view of BPM-IE (Business Process Modeling Integrated Environment).

Figure 8 .
Figure 8. Quantitative evaluation of productivity improvement by the BPM-IE and templates.

Table 2 .
Hierarchy of a reuse-oriented business process model.