Towards Resource-aware Business Process Development in the Cloud

3 downloads 14661 Views 782KB Size Report
perspective in existing business processes, cloud resources cannot be efficiently and optimally .... resource management in cloud-based business processes. III.
Towards Resource-aware Business Process Development in the Cloud Emna Hachicha, Walid Gaaloul Computer Science Department, TELECOM SudParis, CNRS UMR Samovar, Evry, France {emna.hachicha,walid.gaaloul}@telecom-sudparis.eu

Abstract—In recent years, cloud environments have emerged as a new paradigm for the execution and the deployment of cost-reduced and optimized business processes. Nevertheless, due to the lack of explicit and formal description of the resource perspective in existing business processes, cloud resources cannot be efficiently and optimally managed. With the aim of formalizing the consumed cloud resources using a shared knowledge base, we propose in this paper a semantic framework for resourceaware business process development in the cloud. Basically, our proposed semantic framework allows for (1) resource description in a formal and unique way, (2) resource allocation management and (3) resource constraints verification. In order to show its feasibility, our approach has been implemented as an extension of Signavio process editor and tested using a real use case study from an industrial partner. Keywords. Business Process Management, Resource Management, Cloud Computing

I. I NTRODUCTION Cloud Computing has recently become a matter of great importance in many sectors. It provides several significant benefits to its users (elasticity, lower costs, reduced energy consumption, etc). This is especially true in Business Process Management BPM domain where business processes need to be deployed and executed at a high level of performance with low operating cost. A business process can be specified from many perspectives such control-flow perspective [1],[2] or organizational perspective [3],[4]. While the former perspectives have been well explored, the resource perspective is not sufficiently defined. This perspective refers to the link between the different activities constructing the process and resources which are needed to be consumed. BPM does not propose neither mechanisms which enable the management of resources’ consumption nor techniques to optimize their allocation. Despite various efforts to improve the description of the resource perspective in BPM, it remained poorly operated [5],[6] due to the lack of a formal definition. In a cloud-based BPM, this limitation becomes more challengeable for several reasons. First, each cloud provider defines his own policy of resource description, allocation, modeling language, etc which prevent an easy and efficient interoperability. Second, there is a lack of representation of computing resources such cloud resources as well as different relationships which bind resources and activities. And last, resource constraints informally expressed cannot be automatically checked in order to verify a consistent management.

In order to overcome these issues, we propose in this paper a semantic framework for a semantically-enriched resource description in business processes. This framework takes into account consumed cloud resources and their relationships, and includes techniques for a correct and optimal allocation. Concretely, we extend BPMN (Business Process Model and Notation), as a modeling language, with the resource perspective. Then, we formalize this extension by developing a cloud resource ontology referred to as CloudPrO. The aim of CloudPrO ontology is to formally describe the resources and their dependencies in a business process. By adopting a semantic resource modeling using ontologies [7], resources’ descriptions are standardized in order to ensure interoperability between different cloud providers, and complex relationships over disparate knowledge domains can be modeled. These informations stored in a shared knowledge base can be then exploited using automatic reasoning in order to optimize the resource management. In order to show the feasibility of our approach, we extend the Signavio process editor with a semantic layer implementing our semantic framework and conduct a real case study from France Telecom Orange labs. The remainder of this paper is organized as follows: In section II we present a real use case from France Telecom Orange labs as a motivating example. In section III, some preliminary concepts such as resource perspective in business processes and cloud resources are discussed. Afterwards, in section IV an overview of our proposal is detailed. We discuss the proposed extension to BPMN in section V. Later, in section VI we formalize some definitions in order to an effective resource allocation management. The approach validation through Signavio platform is then depicted in section VII. In section VIII, we present the related work. Finally, we conclude and provide insight for future works. II. M OTIVATING E XAMPLE The need for resource management in business process management is motivated by a real use case from France Telecom/Orange labs [8]. Fig. 1 illustrates the corresponding business process modeled in BPMN 2.0. It represents a service supervision process for a signalization raised by a customer. Once a signal is sent by a customer due to a quality decrease or an outage, an expert requests the ‘get service trouble ticket’ (GST). Depending on the requested trouble ticket, three possibilities can be presented: the expert launches the manual

Fig. 1: Orange supervision Process/ Customer signalization

data retrieval or manual test or manual remote setting. In the manual data retrieval, the expert can capture the data from: (1) ‘Customer domain customer orders follows up’ (CFU), (2) ‘Customer domain installed products and services management’, (3) ‘Service and resource assurance service impact analysis’ (IA), (4) ‘technical referential service inventory’. In the manual test sub-process, the expert starts a test scenario ‘start test scenario’ (STS) and then receives its result ‘get test scenario result’ (GSR). For the case of the manual remote setting sub-process, the expert triggers the remote setting function from ‘Service Configuration and Activation’ through ‘remote setting via service configuration and activation’ (RSC) or ‘remote setting on resource’ (RSR). These sub-processes can be re-executed until the problem has been identified via the loop from the output of the activity ‘next step termination’ (NST) to the output of ‘expert launches data retrieval or test or remote setting’ (EDR). Subsequently, the process terminates with the execution of either a ‘troubleshooting process’ (TP) or a ‘trouble ticket escalation’ (TE).

shared by other activities, e.g. the compute resource denoted as ‘compute1’ which is consumed by ‘RSR’ cannot be used by any other activity; an activity can only consume some specific human resource, e.g. the ‘EDR’ activity can be performed only by a human resource which its identifier is ‘human1’; a network resource must be only in a private cloud e.g. the ‘network1’ resource consumed by the ‘CFU’ must be in a private cloud environment; or if a storage resource with a specific capacity disappears at run-time, other storage resources should replace it with equivalent capacities e.g. when the storage resource ‘stor1’ disappears which capacity is 1 Gega octet (Go) then ‘stor5’ and ‘stor6’ replace it where each of these resources has a capacity of 500 Mega octets. By formally describing these constraints through semantic rules, automatic verification techniques can be used to guarantee the correct cloud-based resource management in business processes. In the followings, we present some preliminaries concepts before detailing our semantic framework for an effective resource management in cloud-based business processes.

This process lacks the resources’ description that need to be attached to the process activities whether human resources or computing resources from service providers deployed in private or public clouds. These resources can be semantically interdependent. For instance, both of activities ‘EDR’ and ‘NST’ require human resources to be performed. Hence, available resources need to be semantically described in order to be able to choose the resources that perfectly fits the activities’ requirements. In addition, mechanisms for resource allocation verification should be implemented via formal constraints. These constraints represent restrictions related to a set of privacy and optimization properties. Examples of such restrictions are: an activity can consume a resource if it is not

III. P RELIMINARIES This section presents some definitions related to the resource perspective in cloud-based business processes (see section III-A) and the different types of cloud computing resources (see Section III-B). A. Resource perspective in Business Processes As mentioned in previous sections, the resource perspective in business processes lacks a formal and unified description. But with regard to recent efforts realized to bridge this gap, the resource perspective in business process models has been classified into three important classes: resource structure, work distribution, and authorization [5].

The resource structure involves two aspects: the characterization and classification of resources. The characterization is the definition of the resource related information. Once resources’ information are characterized, a classification of the resources can be established based on a set of common properties. The work distribution is concerned with the work distribution and its binding to specific resources for execution. In other words, it defines the manner in which the work of a process is distributed and allocated to resources. The authorization deals with the definition of privileges owned by resources regarding the execution of operations in order to organize the work advertised to them. In our work, we follow this classification in order to extend the resource perspective in business processes using BPMN 2.0 (see section V). We select BPMN in our proposal as it is one of the most popular business process modeling language.

resources components, and Semantic Web Rule Language (SWRL) rules 2 to properly define resources’ constraints. This ontology is then stored in a knowledge base which can be later interrogated with SPARQL queries in order to further apply optimization techniques. Furthermore, cloud resource constraints can be checked using rule verification engines (e.g. Protege, Bossam). The knowledge base is continuously updated whenever the business process is re-designed, the constraints are updated or the cloud resources are re-deployed. Check Re-Design Processes modeledAin BPMN 2.0

Cloud Resources Constraints

CloudPrO Ontology

Knowledge Base

SPARQL queries Optimization Techniques

Deployed Cloud resources Re-Deployment

The Cloud delivers three important types of resources on demand which are: computing, storage, and networks. The computing resources provide mechanisms in order to deploy and run softwares. They are capable of delivering human-based services (HBS) [9]. This type of resource depicts an information processing resource (e.g. virtual machine). The Cloud storage simply represents an information recording resource in data storage devices. It offers great benefits as for example reliability, faster deployment, reduced costs and protection insurance in case of loss. Actually there are different ways to use this type of resources depending on users requirements: private data or shared data. Network resources allow to have mechanisms that are used for communication, and might also offer added-value services such as load balancers [10]. The network type plainly denotes an interconnection resource (e.g a virtual switch). These resources types are caught from the cloud resource description in specific cloud computing APIs such as OCCI [11] and/or TOSCA [12]. In our work, we formally describe these resources in our semantic proposal (see section VI). IV. A PPROACH OVERVIEW In this section, we present an overall overview of our proposed approach. As shown in Fig. 2, our approach uses three inputs: (i) Business processes described in the extended BPMN (see section V), (ii) deployed Cloud resources, and (iii) Cloud resource constraints that comprise rules and properties to be and/or checked (see section VI-B). This latter entry is of a high importance because, by property verification and constraint compliance, we aim at ensuring the proper management of resources utilization. We established a CloudPrO ontology (see section VI) which formally specify these three entries by describing consumed resources and their associated dependencies in business processes, in a semantic and uniform way. We use the RDF/RDFS language 1 in order to model the business processes and cloud

Fig. 2: Approach Overview We advocate that our approach can be applied at design- and execution-time: on one hand, at design-time, the control-flow and resource perspectives of the modeled business process, the resources constraints and the deployed cloud resources are formalized in the CloudPrO ontology, and the process resource distribution is verified against the defined constraints. On the other hand, at run-time, the resource consumption can be continuously checked during the process execution according to the pre-defined constraints. V. R ESOURCE P ERSPECTIVE E XTENSION IN BPMN The BPMN notation 3 is widely used in the BPM community for business process modeling. The latest version of BPMN 2.0 incorporates resource perspective concepts which are resource assignment and human interactions. Nevertheless, it does not provide a formal definition of resources’ types in cloud environments. Therefore, we propose an extension, which is called ResourceExtension, to the existing BPMN element named Resource (see Fig. 3). A ResourceExtension can be a HumanResource or a ComputingResource. This latter one represents the cloud resources which are Storage, Compute and Network. The HumanResource and ComputingResource may require each others. A ResourceExtension is composed of one or more ResourcePrivileges according to whether the resource is private or shared respectively. The ResourcePrivileges depicts the resource state (allocated or not). The Actions element represents a workitem allowed on a resource as for example “execute a resource”, “terminate a resource”, “duplicate a resource”, etc. We note that we rely on the OCCI standard to define cloud resources’ structure, however the OCCI integration is out of scope and we will not handle this issue in this paper. 2 SWRL:

Ontology Definition http://www.omg.org/spec/ODM/1.1/PDF/

SpecifiedAin

Update

B. Cloud Computing resources

1 OMG:

f

Metamodel,

v1.1

(2014),

http://www.w3.org/Submission/SWRL/ Business Process Model and Notation (BPMN), v.2 (2011), http://www.omg.org/spec/BPMN/2.0/PDF/ 3 OMG:

complex attributes. For example, HumanResource is a “complexType” (Line 17-21) which has the simple type attributes “name” and “user” and the “complexType” attribute “relation”. This xsd extension is imported in the xsd of BPMN 2.0 4 . VI. S EMANTIC MODEL FOR RESOURCE MANAGEMENT IN BUSINESS PROCESSES

Fig. 3: Extending the resource element in BPMN

In the previous section, we presented our approach for extending BPMN with a cloud-based resource perspective. In this section, we define a semantic model for resource management in business processes. To do so, we develop a cloud-based process ontology referred to as CloudPrO which formalizes our extended BPMN (see section VI-A). Then we define a set of resource constraints over predefined properties which are formalized through verification rules (see section VI-B). A. Cloud-based process Ontology

The class diagram in Fig. 3 is translated to an xsd document as shown in Listing 1. Listing 1: xsd document to extend BPMN



The ResourceExtension is defined using “xsd group” (Line 8) which includes the elements HumanResource, ComputingResource, ResourcePrivileges, Actions (Lines 9-14). Each of these elements has a type which can be a “complexType” or “xsd group”. A “complexType” consists of a set of simple or

ProcessEle ment

Allowed To Possess

ResourcePrivileges

ResourceExtension

verify

Verification Property

Peering

ActivityRes ource Delegate



Action BPMN:Resource

Substitute

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

The CloudPrO ontology aims at providing a semantic-based resource-aware business process description and is written in RDF/RDFS format (see Fig. 4). Its conception is inspired from the BPMO (Business Process Modeling Ontology) [13] ontology which has been developed in the European project SUPER 5 . The purpose of BPMO is to represent business processes at an abstract level of detail in order to ensure a high interoperability between business processes modeled with different languages. It includes concepts that define the semantics of the most used notations in BPM community such as BPMN, EPC, BPEL, etc. For example, BPMO has the concepts “process”, “activity”, “resource”, etc which are common for all modeling languages.

ActionReso urce

Need

HumanResource

ComputingResource

ProcessRes ource

Storage

Class

Compute

Network

SubClass

Object Property

Fig. 4: The CloudPrO Ontology Formally, the CloudPrO ontology is a 4 tuple < C; A; P ; R > where C represents the set of concepts, A is the set of concept attributes, P is the set of verification properties, and R is the set of constraints rules. The main concept in CloudPrO is Resource which has the sub-concept 4 url:

http://www-inf.it-sudparis.eu/SIMBAD/tools/CloudPrO/

5 http://www.ip-super.org/

TABLE I: Resource Dependencies Descriptions Relation Type Human resource dependencies

Computing resource dependencies

Hybrid resource dependencies

Dependency Name

Description

pj replaces pi if expected unavailability of Substitution(pi ,pj ) pi pj replaces pi if unexpected unavailability Delegation(pi ,pj ) of pi Peering(pi ,pj ) pi and pj are assigned to the same activity which needs both capacities Execution of both resources ci and cj Cooperation(ci ,cj ) if concerned activity needs both similar capacities Execution of both resources ci and cj if Partnership(ci ,cj ) concerned activity needs both complementary capacities Backup(ci ,cj ) cj replaces ci if failure of ci and capacities of ci and cj are similar need(pi ,cj ) Execution of both resources pi and cj if concerned activity needs both capacities

ResourceExtension. The concept ResourceExtension has two sub-concepts HumanResource and ComputingResource. The ComputingResource has three sub-concepts Storage, Compute and Network. Dependencies between human resources are defined through properties. We define three types of relationships: Substitution, Delegation and Peering (see Table I). The Substitution relation allows a person pj to replace a person pi if this latter is planned to be not available. The Delegation dependency differs from the Substitution where pi is not available in unexpected way. Two persons are in a Peering relation if they are assigned to the same activity. Regarding the ComputingResource concept, we define three types of relationships:Cooperation, Partnership and Backup (see Table I). Two resources are in a Cooperation if they have the same capacity and assigned to the same activity. The Partnership differs from the Cooperation relation where the resources have complementary capacities. The Backup relation enables a resource cj to replace another resource ci if this latter face and have the same capacity. The need dependency between the ComputingResource and the HumanResource concepts exemplifies the case when a human calls for a computing resource and vice versa. An action is allowed on a resourceExtension. The Action concept can be instantiated to “create”, “edit”, “duplicate”, etc. Finally, the ResourcePrivileges concept enables an instance of a ResourceExtension to be allocated or not to an activity. The set of concept attributes are as defined in the BPMN extension (see section V). Listing 2 depicts an excerpt of the CloudPrO ontology in RDF format. In this snippet, we define the dependencies between ComputingResource and the HumanResource concepts. Each relationship is defined as owl:ObjectProperty. For example, we define the relationship backup between two instances of the concept ComputingResource (Line 8,9). Listing 2: Relationships CloudPrO Ontology Snippet 1 6

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40



B. Properties and rules So far, the concepts their attributes and dependencies of the CloudPrO ontology are defined. In the followings, we complete the ontology description with the definition of resource constraints over a set of verification properties. 1) Process resource Properties and events: We classify the properties with respect to the process elements and resources using the RDF/RDFS format. Concretely, four classes of properties are defined: (1) Process elements related properties, (2) Activity/Resource related properties, (3) Action/Resource related properties and (4) Process resource related properties. According to our proposal, a concept instance can be written in this format, we take as example a storage resource: we denote storage(X) iff X rdf:type cloudPrO:Storage. Let Obp =< Cbp , Abp , Pbp , Rbp > be the BPMO ontology and OCprO =< C, A, P, R > be the CloudPrO ontology, and Cr = HumanResource, ComputingResource ⊂ C. Definition 1 (ProcessElement related Properties) A verification property X is a ProcessElement related Property, denoted as PpX , iff PpX rdf:type rdfs:subClassOf cloudPrO:ProcessElement and PpX cloudPrO:VerificationProperty , and ∃ Ci , Cj , Ci ∈ Cbp , Cj ∈ Cbp , (Ci PpX Cj ) rdf:type rdf:Statement , PpX rdf:subject Ci , PpX rdf:object Cj , where we denote (Ci PpX Cj ) as Pp (Ci , Cj ) For example, the process element related property PplinkedW ith = Pp (Activity, ExclusiveGateway) describes the relation between the process element concepts “Activity” and “ExclusiveGateway”. Definition 2 (ActivityResource related Properties) A verification property X is a ActivityResource X X related Property, denoted as Par , iff Par rdf:type X cloudPrO:ActivityResource and Par rdfs:subClassOf cloudPrO:VerificationProperty , and X ∃ Ci , Cj , Ci ∈ Cbp , Cj ∈ C, (Ci Par Cj ) rdf:type X X rdf:Statement , Par rdf:subject Ci and Par rdf:object Cj , X where we denote (Ci Par Cj ) as Par (Ci , Cj )

For example, the ActivityResource related Property consume Par = Par (Activity, Resource) describes that an instance of “Activity” consume an instance of “Resource”. Definition 3 (ActionResource related Properties) A verification property X is a ActionResource X X , iff Pacr rdf:type related Property, denoted as Pacr X cloudPrO:ActionResource and Pacr rdfs:subClassOf cloudPrO:VerificationProperty , and X ∃ Ci , Cj , Ci ∈ C, Cj ∈ C, (Ci Pacr Cj ) rdf:type X X rdf:Statement , Pacr rdf:subject Ci and Pacr rdf:object Cj , X where we denote (Ci Pacr Cj ) as Pacr (Ci , Cj ) For example, the ActionResource related Property allowedT o Pacr = Pacr (Action, Resource) describes that an instance of “Resource” is allowed execute an “Action”. Definition 4 (ProcessResource related Properties) A verification property X is a ProcessResource related Property, denoted as PrX , iff PrX rdf:type cloudPrO:ProcessResource and PrX rdfs:subClassOf cloudPrO:VerificationProperty , and ∃ Ci , Cj , Ci ∈ Cr , Cj ∈ Cr , (Ci PrX Cj ) rdf:type rdf:Statement , PrX rdf:subject Ci and PrX rdf:object Cj , where we denote (Ci PrX Cj ) as Pr (Ci , Cj ) or PrX (Ci ) if Ci = Cj For example, the resource related Property Prbackup = Pr (Resource, Resource) describes the dependency type backup between two instances of the Resource concept. PrStorage = Pr (Resource) describes an instantiation of a storage resource type. 2) Rules formalization: Using our classified properties, we define in this section a set of rules for constraints verification through the ECA [14] (Event/Conditions/Actions) structure formalism. An ECA rule has the general syntax: On Event If Conditions Do Actions

(1)

The Event part specifies that the rule can be triggered. The Conditions part is then verified and if satisfied the action part is executed. In order to formally describe our constraint rules following the ECA structure formalism, we use the SWRL language. A constraint rule is defined as: ^ ^ ^ Ei Cj ⇒ Ak (2) i

V

V

j

V

k

where i Ei , j Cj and k Ak are conjunctions of different verification properties and areVcalled the rule antecedent V and rule consequent respectively. E is a set of events, i j Cj V i is a set of conditions, and k Ak is a set of actions. We define three types of constraint rules: • Simple rules: are the rules that involve only one resource X X type, i.e. Ei = (∪Par ) ∪ (∪Pacr ) and Cj = (∪PrX ) and Ak 6= Ei , Ak 6= Cj where X is a unique resource type. An example of a simple rule is Storage(Y ) ∧ allocated(A, Y ) → consume(A, Y ). This rule states that if a storage resource Y is instantiated (event) and consumed by an activity A (condition) then Y is allocated to A (action).





Complex rules: are the rules that involve two or many resource type, i.e. ∃P1 = E1X (Z)orP1 = C1X (Z) ∧P2 = AX 2 (Y ) : P1 , P2 ∈ (∪i Ei ) ∪ (∪j Cj ) ∪ (∪k Ak ) ∧ Z 6= Y . An example of a complex rule is consume(A, Z) → Storage(Y ) ∧ allocated(A, Z). This rule states that if the activity A consumes the resource Z (condition) then a storage resource Y is allocated to A (action). Dependency-based rules: are the rules that involve at least one of the process resource related properties, i.e. ∃P ∈ (∪i Ei ) ∪ (∪j Cj ) ∪ (∪k Ak ) , P ∈ (∪PrX ). An example of a dependency-based rule is consume(A, X)∧notstorage(X)∧substitute(Y, X) → allocated(A, Y ). This rule states that if the resource X disappears (action) and an activity Y consumes X and there is a substitute (conditions) then A consumes Y. VII. VALIDATION

To validate our proposal, we have developed a proof of concept implementation6 (see section VII-A). Then we have used a real use case from France Telecom/Orange labs, detailed in Section II, (see section VII-B). A. Proof of concept We evaluate our approach through a proof of concept which is based on an extension of Signavio process editor 7 , that is an open source web-based application and a powerful tool for mastering process management supporting the BPMN 2.0 standard. This plugin takes into account the semantic resource description in our CloudPrO ontology in order to inform the user about resources that can be bound to his process. B. Case study Every activity in this process can be semantically linked to resources that utilizes. The activities ‘GST’, ‘NST’ and “commercial referential” ‘CR’ need the consumption of instances of the Storage resource which are ‘stor1’, ‘stor2’, and ‘stor5’ and have each 1 Go as a size. To specify these relations, the user selects the concerned activity. Then, a panel encompassing the set of resource instances appears. Once the user chooses the appropriate instance to consume, our tool engenders a text annotation binding the selected activity with this resource instance, which comprises the resource properties and if its dependencies exist with other instances (See Fig. 5). The ‘IA’ consumes a Compute resource which its identifier is ‘compute2’ and in a partnership relation with a storage resource ‘stor2’. The ‘RSR’ and “technical referential” ‘TR’ tasks consume Compute resources which respectively have identifiers ‘compute1’ and ‘compute3’ to do the appropriate processing. Human resources ‘human1’ and ‘human2’ are needed by the ‘NST’ and ‘EDR’ respectively. As explained in our approach, we defined also two types of constraints: at run-time and at design-time. Concretely, two run-time restrictions are specified as follow: if one of both storage resources disappears than two other storing resources 6 description 7 Source

: http://www-inf.it-sudparis.eu/SIMBAD/tools/CloudPrO/ Code at: https://code.google.com/p/signavio-core-components/

(a)

(b)

Fig. 5: Two screenshots of the application, (a) the user selects the appropriate resource from the ontology instances displayed in the bottom window, (b) resources are attached with activities as a text annotation

can replace it with capacities of 500 Mega Octet (Mo) for each. The second restriction indicates that the compute resource ‘compute1’ is a not shared resource. In other words, once it is instantiated it cannot be consumed by another activity at the same time. So if another activity selects this resource to consume it, this implies a constraint violation. Second, a constraint, which is applied at design-time, reflects the fact that the ‘NST’ activity has only the right to use this particular instance of HumanResource with its specific attributes values. These rules enrich our approach and may serve for checking and verification at design-time, and management at run-time. We present below the SWRL descriptions referring to our rules that is combined of the Web Ontology Language (OWL) and the Rule Markup Language (RuleML). TABLE II: SWRL Rules for resource constraints Rule Name RuleCloudP rO 1 RuleCloudP rO 2 RuleCloudP rO 3

SWRL @ Storage(X) ∧ Activity(A) ∧ consume(A,X) ∧ backup(Y,X) backup(Z,X) ⇒ consume(A,Y) ∧ consume(A,Z) Activity(A) ∧ consume(A,X) ∧ Compute(X) ⇒ Activity(B) ∧ @ consume(B,X) allocated(A,Y) ∧ Activity(A) ∧ HumanResource(X) ∧ hasName(X,name1) ∧ HumanResource(Y) ∧ hasName(Y,name2) ⇒ consume(A,X) ∧ @ consume(A,Y)

As figured in Table II, the RuleCloudP rO 1 means that if an activity A consumes a storing resource X with a specific size but X has vanished, A consumes two storing resources Y and Z with particular sizes. It can be considered as a complex rule or dependency-based rule since it involves many resource type and uses the backup dependency. RuleCloudP rO 2 is a complex rule and refers to the not shared compute resource X. It means that no other activity B can consume it if an activity A is already utilizing it. Whereas RuleCloudP rO 3, which is also a complex rule, implies that the activity A can only use the human resource X with a specific name. VIII. R ELATED W ORK There exists previous works on the representation of the resource perspective in BPM. In [5], authors propose an

approach that enables the implementation of resource perspective in BPMN and BPEL languages. The same authors have adressed the modeling and visualization of resource perspective requirements by extending the BPMN 2.0 metamodel [16] which was validated against workflow resource patterns [19]. These works support the three aspects of resource view: resource structure, work distribution, and authorization. However, they do not neither enable cloud resources’ representation nor consider verification and security properties. On the contrary, our approach integrates cloud aspects and seeks for checking resource allocation properties. A general framework for document-driven workflow systems was proposed in [6]. It enables discovering data dependencies between tasks in a process with assisting workflow designers and achieving more efficient control flow design. In contrast, our purpose is explicitly defining these interrelations adding relations depending on resource flow. Authors in [15] extend the WS-HumanTask architecture so as to improve the support of the resource perspective requirements in BPEL processes. Besides, in [20] authors propose a metamodel for configurable processes which includes resources: human, data and artifacts. In our work, we propose to use semantics in order to define relationships between resources and activities, and cloud resources. Some other studies have capitalized on social networking and argue its utility for web services and BPM by means of taking into account dependencies between its components [21], [22], [17] and [23]. Approaches in [9] and [24] have considered the human resource as social compute units (SCU) via respectively proposing a framework considering groups of people as SCU and applying this concept in the context of resolution of incidents in an IT service organization. Authors in [18] proposed a resource-efficient scheduling algorithm for business processes and cloud-based computational resources. Different from our approach, cloud resources are not well defined in business processes. Table III depicts a comparative table for the evaluation of the most interesting researches according to our context.

TABLE III: Evaluation of previous approaches Approaches

[15] [16] [17] [18] Our Approach

Resource Perspective + + + + +

Resource Dependencies + +

Assesment Criteria Considering Cloud HumanTask resources + + + + + + +

This comparison is realized depending on assessment criteria defined in the first row of this table (resource perspective, resource dependencies, etc). The choice of these criteria is argued by the fact that we are interested, in first, in enhancing the resource perspective’ representation in BPM. Second, since we focus on resource dependencies and resources’ managing whether human or cloud resources, all proposals deal with human resources and omit cloud ones, and relations among resources except respectively [18] and [17]. In addition, seeing that BPMN is the most used executable language, it is important to consider whether these approaches adopt it. Also, we are interested to verify if there is any support of UML modeling and semantic representation. Hence, we can deduce that [15] and [16] have considered the UML modeling. Yet, there is a total lack of semantic models. Accordingly, our work aims at better handling all these assessment criteria. IX. C ONCLUSIONS & F UTURE W ORKS Our proposed CloudPrO ontology allows to capture relationships and interactions of the resource perspective. In this paper we also formalized properties and rules in order to optimally manage cloud resources in business processes with constraint verification. We implemented our approach through an evaluation demonstrating the efficiency of our solution. Actually, we are working on building a large and realistic semantic knowledge base using our CloudPrO ontology and thereafter executing SPARQL queries aiming to an optimized management of consumed resources. Additionally, as future work, we intend to specify monitoring techniques to manage the dynamic change of resources to match new requirements. ACKNOWLEDGMENT Work funded by the European Commission under the Erasmus Mundus GreenIT project 8 R EFERENCES [1] M. Zapletal and et al., “An analysis of windows workflow’s control-flow expressiveness,” in Seventh IEEE European Conference on Web Services (ECOWS 2009), 9-11 November 2009, Eindhoven, The Netherlands. [2] W. M. P. van der Aalst, “Workflow verification: Finding control-flow errors using petri-net-based techniques,” in Business Process Management, Models, Techniques, and Empirical Studies, 2000, pp. 161–183. [3] ——, “Intra- and inter-organizational process mining: Discovering processes within and between organizations,” in The Practice of Enterprise Modeling - 4th IFIP WG 8.1 Working Conference, PoEM 2011 Oslo, Norway, November, 2011, pp. 1–11. 8 http://www.emundusgreenit.uvigo.es/

BPMN + +

UML Modeling + + -

Semantic Stack +

[4] J. C. A. M. Buijs and et al., “Towards cross-organizational process mining in collections of process models and their executions,” in Business Process Management Workshops - BPM International Workshops 2011. [5] L. J. R. Stroppi and et al., “Extended resource perspective support for bpmn and bpel,” in Proceedings of the XV Iberoamerican Conference on Software Engineering, Buenos Aires, Argentina, April 2012. [6] J. Wang and A. Kumar, “A framework for document-driven workflow systems,” in Business Process Management, 3rd International Conference, BPM 2005, Nancy, France, September 2005. [7] D. Allemang and J. A. Hendler, Semantic Web for the Working Ontologist - Effective Modeling in RDFS and OWL, Second Edition, 2011. [8] N. Assy and et al., “A framework for semantic telco process management - an industrial case study,” in IEEE 14th International Conference on intelligent Systems Design and Application,Japan, November 2014. [9] M. Z. C. Candra and et al., “Provisioning quality-aware social compute units in the cloud,” in Service-Oriented Computing - 11th International Conference, ICSOC, Berlin, Germany, December 2013, Proceedings. [10] S. K¨achele and et al., “Beyond iaas and paas: An extended cloud taxonomy for computation, storage and networking,” in 6th IEEE/ACM International Conference Utility and Cloud Computing, USA, 2013. [11] T. Binz and et al., “Opentosca - a runtime for tosca-based cloud applications,” in Service-Oriented Computing - 11th International Conference, ICSOC, Berlin, Germany, December 2013, Proceedings. [12] A. Edmonds and et al., “Toward an open cloud standard,” IEEE Internet Computing, vol. 16, no. 4, pp. 15–25, 2012. [13] L. Cabral and et al., “Process ontology stack. project ist 026850 super deliverable 1.5,” in March 2009. [14] A. Poulovassilis and et al., “Event-condition-action rule languages for the semantic web,” in Current Trends in Database Technology Workshops and Reactivity on the Web, Munich, Germany, March, 2006. [15] L. J. R. Stroppi and et al., “Extending the ws-humantask architecture to support the resource perspective of bpel processes,” CLEI, 2013. [16] ——, “A bpmn 2.0 extension to define the resource perspective of business process models,” in XIV Congreso Iberoamericano en Software Engineering (CIbSE 2011), Rio de Janeiro, Brasil. [17] Z. Maamar and et al., “Towards a user-centric social approach to web services composition, execution, and monitoring,” in Web Information Systems Engineering, 13th International Conference, Nov. 2012. [18] P. Hoenisch and et al., “Workflow scheduling and resource allocation for cloud-based execution of elastic processes,” in IEEE 6th International Conference on Service-Oriented Computing and Applications,USA 2013. [19] N. Russell and et al., “Workflow resource patterns: Identification, representation and tool support,” in Advanced Information Systems Engineering, 17th International Conference, CAiSE, Portugal, 2005. [20] M. L. Rosa and et al., “Beyond control-flow: Extending business process configuration to roles and objects,” in 27th International Conference on Conceptual Modeling, Barcelona, Spain, October 2008. Proceedings. [21] Z. Maamar and et al., “Using social networks for web services discovery,” IEEE Internet Computing, vol. 15, no. 4, 2011. [22] ——, “Why web services need social networks,” IEEE Internet Computing, vol. 15, no. 2, 2011. [23] ——, “Network-based conflict resolution in business processes,” in IEEE 10th International Conference on e-Business Engineering, ICEBE 2013, Coventry, United Kingdom, September 2013. [24] B. Sengupta and et al., “Who do you call? problem resolution through social compute units,” in Service-Oriented Computing - 10th International Conference, ICSOC, Shanghai, China, November 2012.

Suggest Documents