An ontology-based collaborative business service selection: contributing to automatic building of collaborative business process

With worldwide inter-enterprise collaboration and interoperability background, automatic collaborative business process deduction is a crucial researching subject. We have designed a methodology of deducing collaborative process by only collecting collaborative objectives and partners’ business services. The two key problems are (i) selecting corresponding business services for a set of collaborative objectives and (ii) ordering business services with serializations and parallelization. This paper aims to present a solution of business service selection and the following business process extraction. In order to solve the problem, we have defined a collaborative ontology, which contains numerous instances of business services and processes from the MIT process handbook. The collaborative ontology contains essential concepts in collaborative situations and process-deducing rules and algorithms. We provide a brief illustration of implementation within a SaaS toolkit called Mediator Modeling 2ool.


Introduction
In collaborative situation, all the partners come with collaborative objectives and their own objectives to achieve and business services to share.They expect to combine their own business services with suitable ones from other partners to work towards their common objectives.In addition, collaborative business process is a combination of business functions, which is inter-linked and filled with sequences and orders.With these needs, objective-oriented business service selection and collaborative business process creation are absolute essentials in collaboration world.Considering selfupdating and re-building of collaborative business process, we shall design an automatic way to deal with service selection and process creation in design level.Further more in implementation level, first because the software tool deals with a collaborative situation, all the partners may use the software in the same time or individually.Secondly, in order to interact with other software tools (which is developed in our lab), the software should be able to deploy in ESB (Enterprise Service Bus).These lead that the software tool involved in the methodology should be a web service.SaaSs (Software as a Service) seems to be a good solution.
In our lab, Vatcharaphun Rajsiri has created a knowledge-based system for collaborative process specification [1].This system deduces a BPMN (Business Process Modeling Notation) based collaborative process model automatically with the help of collaborative objective model and MIT process handbook [2].But this system has weaknesses.First, the system collects only the main goal of whole collaborative network.It leads to lack of partners' objectives and sub-network information.Designing a model, which models all above information, is necessary.Second, the deduced BPMN collaborative process covers only operational level.If in a complex collaborative situation, partners come from different departments and management level.An operational collaborative business process couldn't satisfy partners.According to [3] and [4], business process covers strategy, operation and support levels.We arrive at conclusion that target collaborative process should contain strategy, operation and support levels.
A model-driven and ontology based methodology, which take collaborative objectives, partners' objectives and business services as input and deduce collaborative business process as output as automatically as possible, seems to be a good solution in this situation.
For the input, we define objective model and function model to collect basic collaborative knowledge from partners.For the deduction method, collaborative ontology and a set of algorithms and transformation rules is defined.The algorithms manage to link business objectives with business services.The transformations rules help to deduce sequences among business functions.For the output, BPMN based collaborative process cartography is deduced.The collaborative process cartography has three types: strategy, support and operation.
In this paper, we focus on introducing solution of business service selection (dashline box in Figure 1).Section II first presents definition of objective model and function model.Then it provides a simple example to explain the directions for use of models.Section III provides a brief introduction of collaborative ontology.Section IV gives definitions of business services selection algorithms.Section V is a sketch for collaborative process model and collaborative process creation method.Section VI draws some concluding remarks, discusses the feasibility of our work and outlines our future investigations.

Objective Model and Function Model
This section explains the input part of Collaborative Business Process Deduction methodology (CBPD).In Section II-A, we first address the definition of objective modeling elements.Section II-B presents the definition of function model.And finally Section II-C illustrates examples of objective model and function model.

Objective Model
"An objective model is required to facilitate: i) identification, communication and structuring of business objectives, and ii) measurement of the level of success in achieving objectives.But individual modeling methodologies focus primarily on selected aspects of objectives representation and measurement."[5] For our individual needs, the objective model here should collect both collaborative main goals and partners' individual objectives.For each collaborative goal, partners are regrouped as sub-collaborative network.Partners also have their own objectives.We come up with a result: a real collaborative situation is like a multi-level pyramid: each level could be decomposed to sub-network until partner, and each level could be abstracted to higherlevel collaborative network until the whole collaborative network.With supplementary illustration, because the goal of CBPD is to deduce collaborative process cartography (including strategy, operation and support sub-collaborative processes), we consider that the objectives collected in objective model may set to three types: strategy/operation/support objective.
To summarize, the objective model presented here should be able to (Figure 1 presents modeling elements and links): • Model collaborative network, collaborative sub-network and partners' relationships.
• Model collaborative networks' objective, sub network's objectives and partners' objectives.Classify objective into strategy, operation and support objective.

Function Model
The requirements for the function model are to get partners' functions, to simplify user's modeling tasks and to decrease user's workload.The function model just collects functions that partners want to share and which can be published to other partners.We defined an IDEF1 (Integration Definition for Function Modeling) based function model to gather partners' business services.
Standard function model: IDEF0 [6] is reused to present partners' functions.The standard IDEF0 modeling unit is shown in Figure 2   After analysis and evaluation, we found out that the function main model could be partially transferred from objective model.Objectives of collaborative network could be seen as main function.User only fulfills control messages among abstract functions.Transformation equations from objective model to main function model are defined in first-order logic [8].

Collaborative Ontology
The collaborative ontology defined in CBPD aims to support business service selection and collaborative process creation.This ontology defines the concepts and relationships involved in collaborative situation.The collaborative ontology must be fulfilled with instances from different business domains (for example, MIT process handbook from manufacture, Score Model from Supply Chain and instances from crisis management).In collaborative ontology, collaborative concepts part serves to match collaborative objectives to partners' business capabilities.Mediation concepts part is based on Mediation [9] concept.In this paper, our vision is on business service selection.So process creation part will not be detailed.

Business Service Selection Method
In this section, we provide the explanation of business service selection.Section IV-A presents basic theory of business service selection.The example in Section II-C is reused.Section IV-B provides official algorithms of selecting business service.

Business Service Selection Principal
The principal of business service selection in CBPD is based on collaborative ontology, which has been introduced in last section.In the ontology, there are large numbers of Objective and Function instances with relationship: achievedBy.If we could link business objectives and business function in the model to Objective and Function instances in collaborative ontology, then we could indirectly link business objective to business function by the help of relationship: achievedBy.With above theory, we can complete business service selection task.
As shown in Figure 4, there are two parts: ontology and model.In ontology part, we choose several instances of Function and Objective in ontology.In model part, we take the objective and function model example in Section II-C.Here for each business objective and function in the model, we want to find same or close instances in ontology.For example, in the model, "Book van & driver" is same or close to "Book transportation" in the ontology, then we make a link: Same As/Near By between them.With all the relationship: Same As/Near By in Figure 4, suitable business functions are selected for business objectives.Figure 5 shows all the results.Business objectives is linked to business functions by relationship: achievedBy.
Even though the basic principal of business service selection is defined, there are still some remarks to consider: • Making relationship: Same As/Near By for each business objective and function is quite hard for user.So we provide an Instance Suggestion Mechanism, which could provide suggested ontology instance for user.Section IV-B algorithm (1) presents the Instance Suggestion Mechanism algorithm.• Business objectives and functions defined in the model could also be seen as Business and Function instances in collaborative ontology for future uses.
There should be a self-update mechanism to enlarge the collaborative ontology.Section IV-B algorithm (3) explains self-updating mechanism.

Business Service Selection Algorithms
1) Instance Suggestion Algorithm.Instance suggestion algorithm deals with selecting same or nearest ontology Objective or Function instances for each business objective and function.Algorithm(1) takes keyword of business objective as input, uses collaborative ontology as data and provides a list of suggested ontology instances.This algorithm has three main parts: • Line 3: finding an Objective instance in collaborative ontology which owns the same keyword: objective key as business objective, the instance is added to suggestion list: L suggestion ; • Line 6-Line 17: Taking frontal parts of keyword as a new list of keyword: L word [1] to L word [i] (for example, keyword: "send products to distributing center", new keywords: "send products to distributing" and "send products to"), for each new keyword, if finding an Objective instance's keyword in collaborative ontology which starts with or contains the new one or contains, then the Objective instance is added to suggestion list; Line 18-Line 23: Taking related two words, which are contained in keyword as a new list of keyword: L 2words (for example, keyword: "send outsourcing order", new keywords: "send outsourcing" and "outsourcing order"), for each related two words, if finding an Objective instance's keyword, which contains the two words, then the Objective instance is added to suggestion list.2) Objective-Function Mapping.Objective-Function mapping algorithm is the main part of buiness service selection.The principal has been explained in Section IV-A.As shown in Algorithm (2), it takes list of business objectives and list of business functions as input, uses collaborative ontology as data, and outputs list of relationships: achievedBy.The algorithm is explained as followed:

Algorithm (1) Instance
• Line 3-Line 5: starts the mapping from business functions side.

Implementation
Nowadays, SaaS [10] is very widely used.It allows users to use application in a Web Client as rich application.No complex client site installation is required.According to [11], compared with the traditional way which software is purchased for and installed on personal computers, SaaS has advantages: e.g., investment reduction, performance improvement, time saving, easier collaboration, global accessibility, etc. Considering our own needs, the software tool should be able to deploy on ESB [12], which means the software must be a web service.Because the software deals with a collaborative situation, all the partners may use the software in the same time or individually.This leads to a conclusion.SaaS is a quite good solution for our tool: Mediator Modeling 2ool.
Mediator Modeling 2ool bases on GWT [13] and GeasyTools1 .Mediator Modeling 2ool supports objective and function modeling.It implements business service selection and collaborative process creation.
Figure 6 is the screen shot of Mediator Modeling 2ool.On the left, there are modeling palette and file explorer.On the right, there are element properties and collaborative ontology instances' tree.In the middle, it is modeling place.We could create objective and function model here.Web browser can directly launch Mediator Modeling 2ool.In the property window in Figure 6, if we click on the button beside text field, a window with collaborative ontology instances' tree comes out.User chooses the same as or near by ontology instance for modeling element by dragging the instance form ontology tree to same as or near by lists' windows.After modeling and choosing same as or near by ontology instance, a XML file which contains all the modeling information is saved on the server side.User could save the XML file on local machine too.
For business function, the property also contains semantic annotation.The semantic annotation classifies business function to Service Task, Send Task, Receive Task, User Task and Business Rule Task.Business functions combined with semantic annotations are reused to semantically select web services, which could implement business functions.This part of work is presented in [14].

Conclusion
Collaborative business process deduction methodology (CBPD) aims to provide a collaborative process cartography, which manages process orchestration and business service selection in collaborative situation.The strong points of CBPD are summarized as followed: i) objective model defines objectives and sub-networks.We could easily verify the small group of partners to complete the task; ii) objective model could model different levels of partners; iii) functional table is separated by columns of partner.This allows each partner to fill its own column independently; iv) collaborative process model is deduced automatically.It saves repeated work and eases heavy workload of user.It also crosses different enterprise modeling standard: from IDEF to BPMN.However, any system has its weak points.They are summarized as followed: i) business service selection is half manual and half automatic method.User has to create Same As/Near By relationship from model to ontology instances manually.And then Mediator Modeling 2ool automatically links partners' business functions to collaborative and partners' objectives.ii) This system bases on collaborative ontology, it means that a collaborative ontology, which holds numerous instances and covers different domains is required.
With the accomplishment of business service selection, the next task is business process creation.It remains the formalization of transformation rules and definition of gateways in BPMN based collaborative process model.Further more, function model of CBPD defines only business function.We did not consider non-functional characterization (security, privacy and speed).Miss is working on non-functional characterization.[15] As introduced in [16], CBPD is only the first step of MISE 2.0 project (Mediation Information System Engineering).Beside CBPD, another two main tasks are semantic web services and BPEL transformation.First, MIS deployment bridges the semantic gap between business functions and technical services.Second, it transfers collaborative process model to BPEL (Business Process Execution Language) based collaborative workflow.Last but not least, the collaborative workflow and technical services are deployed on ESB and executed.This part of work is detailed explained in [14].

Fig. 1 -
Fig. 1 -Objective Model Elements Definition left part.The modeling unit has input and output message.Controlling message and mechanism controls and support function.The function also could send call message to invoke another function.As shown in the middle of Figure 2, function main model reuses function unit and controlling message.As shown on the right of Figure 2, partner columns separate function model.Partner lists its shared functions in correspondence column.Function model reuses function unit, input and output message, controlling message and call message of standard IDEF0 modeling unit.

Fig. 3 -
Fig. 3 -Collaborative OntologyAs explained in Section II, the collaborative concepts part of collaborative ontology is seen as two relationships and three main concepts: Same As/Near By relationship, Network, Objective and Function.They are detail explained as followed:• Same As/Near By relationship contains two parts: Same As and Near By.If concept A is Same As with concept B, then concept A equals to concept B. Concept A and Concept B presents the same concept.If concept A is Near By concept B, then concept A and concept B are similar.Concept A may present part of concept B. Concept A and concept B may crosse.• Network means all the involved partners and relationships among them.Another close concept is Sub Network.• Objective presents business goals of collaboration and partners.Objective has relationship: Same As/Near By with another Objective.• Function equals to business services or function, which are provided by partners.Function may own input and output Message.Both Function and Message have self-related relationships: Same As/Near By.In collaborative ontology, collaborative concepts part serves to match collaborative objectives to partners' business capabilities.Mediation concepts part is based on Mediation[9] concept.In this paper, our vision is on business service selection.So process creation part will not be detailed.

Fig. 6 -
Fig. 6 -Mediator Modeling 2ool Main Frame Suggestion: provide suggested collaborative ontology instances for business objective.Input: objective key , keyword for the business objective Data: Collaborative Ontology: CO Output: L suggestion , list of suggested ontology instances 1 A objective , array of all Objective instances of CO; 2 L suggestion ← Null; 3 if A objective contains objective.keyword= Objective key then If one business function: E function owns relationship: Same As/Near By with one ontology Function instance: O function .• Line 6-Line 7: if O function owns relationship: achievedBy with one ontology Objective instance: O objective , and if O objective owns relationship: Same As/Near By with business objective: E objective , then as result: E objective has relationship: achievedBy with E function .• Line 8: the relationship is added into the list: L achievedBy .• Line 13 and Line 16: if there is an E function , which doesn't find E objective , then a relationship: achievedBy from Null to E function is created.The relationship is added to L achievedBy .• Line 21: if an E objective is never achieved, then a relationship: achievedBy from E objective to Null is created.The relationship is added to L achievedBy .Ontology updating algorithm deals with inserting business objectives and functions in collaborative ontology as Objective and Funtion intances with relationship: Same As/Near By.As shown in algorithm (3): • Line 2 and Line 3: for each E objecitve , if E objective owns relationship: Same As/Near By, then get O objective which is related to E objective .• Line 4 and Line 5: create new ontology instance: O new for E objective and add O new into collaborative ontology.• Line 6: creats new Relationship: Same As/Near By between O new and O objective , and adds the relationship to collaborative ontology also.