APP下载

A CAWL handler for context-aware composite workflow services

2013-12-20YongseongChoJongsunChoiJaeyoungChoi

Yongseong Cho, Jongsun Choi, Jaeyoung Choi

(School of Computer Science and Engineering, Soongsil University, Seoul 156-743, Korea)

A CAWL handler for context-aware composite workflow services

Yongseong Cho, Jongsun Choi, Jaeyoung Choi

(School of Computer Science and Engineering, Soongsil University, Seoul 156-743, Korea)

In distributed computing environment, workflow technologies have been continuously developed. Recently, there is an attempt to apply these technologies to context-aware services in ubiquitous computing environment. The middleware, which offers services in such environments, should support the automation services suited for the user using various types of situational information around the user. In this paper, based on context-aware workflow language (CAWL), we propose a CAWL based composite workflow handler for supporting composite workflow services, which can integrate more than two service flows and handle them. The test results shows that the proposed CAWL handler can provide the user with the composite workflow services to cope with various demands on a basis of a scenario document founded on CAWL.

ubiquitous computing; context-aware; composite workflow; context-aware workflow language (CAWL) handler

CLD number: TP302 Document code: A

0 Introduction

The worldwide computer companies such as IBM, Microsoft, Oracle, etc. have continuously developed workflow technologies for the corporate integrated solution. Especially, a number of researchers associated with workflow management coalition (WfMC)[1]are actively studying the interface and data format for the interoperability among various workflow systems. In addition, standard web services based workflow languages have attracted attention up to recently as solution to secure the interoperability of various services provided through heterogeneous systems. For example, there are IBM's WSFL[2], XLANG of Microsoft[3], and web service business process execution language (WS-BPEL)[4]as standard workflow technologies recognized in the industry with the advantages of the two languages. These workflow languages utilize web services based standard interfaces such as extensible markup language (XML), web services description language (WSDL), simple object access protocol (SOAP), etc. to get an easy access to heterogeneous service resources. Recently, several researchers are making many attempts to apply the workflow technologies developed till now to the computing environment[5,6].

In the ubiquitous environment, the user wants to receive the automation services suited for his/her situation, and context based technologies[5]can cope with the user demands based on his/her peripheral situations. When expressing the user situation through context-aware workflow technologies, the developer uses the user situation information as transition condition of a workflow. In this case, the context used to express situation information is the situational information generated through the interaction between people and things, and the developer expresses such situational information using a structural context model based on a resource description framework (RDF) triplet structure made up of subject, verb and object[7]. Studies such as uFlow[5], FollowME[6], context-aware workflow managment engine (CWME)[8]correspond to some cases founded on the context-aware workflow mentioned previously. Such a context-aware based technologies can offer the user with a sequential workflow only, a single workflow service. The workflow system supporting context-aware services should be able to support the composite workflow composed of the assembly of a number of single workflows, rather than the sequential workflows designed to express of the flow of only one service to provide automation services for a number of users.

In this paper, we propose a context-aware workflow language (CAWL) based composite workflow handler that can integrate more than two services and handle them based on CAWL. The proposed CAWL handler is based on CAWL, a context-aware workflow language that can express individual service flows as a larger scale integrated workflow. Therefore, CAWL handler can offer the user with various composite workflows based on the scenario drawn up using CAWL. Additionally, the developer can reuse the several services based on the single workflows drawn up already to configure a composite workflow, so it is possible to reduce the waste of service resources.

1 Related work

Wherever in this chapter we review the previous work mentioned in the introduction in detail. At present the work on the context-aware workflow using context information is being continuously conducted. The Faculty of Engineering of Multimedia University, Malaysia, proposed CWME[8], context-aware middleware based on workflows. The purpose of CWME is to integrate and manage the different network devices existing in distributed computing environment. This work aims to control devices or processes using standard workflow technologies. Hence, it is difficult to express the flow of the services that target at people and other things existing in the ubiquitous environment.

As an enhanced version of WS-BPEL for people, there is WS-BPEL4People[9]. This language defines people as an object in the service environment, and presents a method of being able to provide the service targeted at those people. In WS-BPEL4People, People Activity rules have added to describe people as a part of the service environment, and WS-HumanTask enables the user to define the available services for people. WS-BPEL4People has a limit of providing the automation services that meet the demands from the user in that it is a simple expansion of WS-BPEL, which is impossible to express situation information directly. So WS-BPEL4People needs a method for expressing situation information to People Activity rules in detail.

As a study on other expansions of WS-BPEL to express situation information, there is Context4BPEL. In Context4BPEL[10], WS-BPEL has been expanded to apply a context-aware concept. However, Context4BPEL is an enhanced version of the exiting WS-BPEL to express situation information, so it is necessary to correct the workflow engine to correct it. Hence, workflow service developers have a difficulty in implementing this.

uFlow is a context-aware workflow service framework constructed based on uWDL[5]. uWDL is a ubiquitous workflow language proposed to solve the problems that arise when the existing web services-based workflow languages can not express the situational information with service transition conditions. uWDL expresses context information in state-altering conditions so that the workflow can transit conditions based on context-aware. However, uWDL expresses the situation information in the document in a static way, being able to only one sequential workflow. Therefore, uWDL has a limit in the dynamic expression of situation information and that of a number of workflows.

2 Proposed workflow handler

In this chapter, we review the design and components of a CAWL handler supporting and processing the composite workflow services based on context aware. The CAWL handler provides the user with the services that meet demands from the user using the documents drawn up in CAWL and with the contexts to express the user situation information.

The handler proposed in Fig.1 mainly consists of three parts. Firstly it is a scenario document that expresses CAWL based context-aware services, which corresponds to workflow based smart services. The second one is the contexts, which become a foundation to express and process situational information. Lastly, there is a workflow system, a core part of this paper. The workflow system consists of a CAWL handler to process the scenario and the workflow pool to store and reuse scenarios that have been worked out.

Fig.1 Conceptual system architecture of CAWL handler

The role of CAWL handler of is to perform execution orders of services by identifying the appropriateness of the service execution conditions described in the CAWL based scenario document to provide the user with integrated workflow based automation services on a larger scale based on the scenario document worked out already. The specific contents of the CAWL handler are described in detail in sections 2.1-2.3.

2.1 CAWL parser

A CAWL parser performs two functions mainly in the process of parsing the scenario worked out using a context-aware workflow service that supports composite workflow services. The first function is the reusability in the process of configuring a number of workflows compositively, which is to store the workflow pool. The second function is related to the management of a scenario document, which is to manage the variables of the symbol table described in a number of documents.

Fig.2 CAWL parser supporting a composite workflow

As shown in Fig.2, the CAWL parser consists of three modules. Firstly, abstract syntax tree (AST) component refers to the element described in the scenario, consisting of the object units corresponding to individual nodes of AST tree. Secondly, the lexical analyzer recognizes the scenario document in a token unit to create AST and symbol table. Lastly, the syntax analyzer identifies the grammatical abnormality on a documentary structure using a token recognized in the lexical analyzer, and creates AST using AST component if the structure is satisfactory in a grammatical respect.

A parsing process is as follows. The scenario document (CAWL doc.) used as the information to input the CAWL parser is delivered to the syntax analyzer after read in a token unit through the lexical analyzer in the parser. The lexical analyzer inspects whether the delivered token is suitable for documentary token rules in accordance with the structure of the grammatical structure defined by the CAWL schema. Then the syntax analyzer creates AST through the assembly of AST components that correspond to the documentary factor unit in the process of analyzing the syntax, and it also creates the symbol table of storing the names, scopes, and values of the variables used in the scenario.

2.2 Workflow engine

A workflow is the description of a series of calculations and works in order, and it requires a method for processing a series of those calculations and work in order. A CAWL handler includes an workflow execution engine. This engine provides the user with the web services, which meet the conditions that he/she faces, by using a CAWL.

Fig.3 illustrates the process of handling the workflow services using a CAWL handler.

Fig.3 Composite workflow process by CAWL execution engine

The main module of the workflow engine is a workflow handler that controls the execution and flow of workflow. The flow handler processes the workflow described in the scenario by referring to the link information of each node. As shown in Fig.3, the input information of the workflow execution engine includes Part 1, Part 2 and Part 3. The detail is as follows: Part 1 refers to service nodes A and B. Part 2 is the connection information among the nodes of Flow A. Part 3 indicates the nodes of the Flow B that is the sub-workflow information of Flow A.

The flow handler processes workflow by integrating Flow A and Flow B to provide composite workflow services based on Part 1, Part 2 and Part 3. The flow handler processes the connection of nodes of individual services by referring to element in the AST created in the process of parsing and using the information of ‘from' and ‘to'- which are the properties of element . And element is used to refer to the flow existing in the same scenario document and other documents. In case of referring to the Flow existing in other documents, this is called ‘sub-workflow'. Thus, in the whole workflow the sub-workflow is connected and integrated using element , which consists of composite workflows. Such an integrated process is the same as a concept that ‘routine' invokes another routine, which is a subroutine, in a general programming scheme. The lower part of Fig.3 indicates the composite workflow that shows the integration of sub-workflow (Flow B) into Flow A after the sub-workflow invoked.

3 Test and evaluation

The proposed CAWL handler is used to support a composite workflow service that integrates the workflows of various flows based on a CAWL. For this, we draw up a sceoario using CAWL and check out whether proper services are provided in accordance with a user schedule. For the test, we use a workflow service scenario related to John's schedule for the day that decides ‘service branches'. The service content is shown in Fig.4.

Office worker John records that he should give a presentation in Room 301 at 11 a.m., using his desktop computer after arriving at office. When it is 10:30 a.m., a preparation system for the meeting shows him the schedule on the desktop, he checks the state of lighting, microphones, projectors, etc. of the meeting room. If the state of those equipments is satisfactory, he downloads his presentation materials to a PC in Room 301, and executes the program. When it is time for the meeting, he turns on the powers of individual equipments, except for the PC, to provide the environment for the meeting.

Fig.4 Service scenario requiring a composite workflow

Fig.5 shows a part of a CAWL document based on the scenario of Fig.4.

The scenario is delivered as the information to input a CAWL parser, and based on this a document instant AST (DIAST) and a variable table, etc. are created.

Fig.5 Part of a scenario document drawn up by the developer

Fig.5 shows only the content for main parts in the test. In the scenario document to provide composite workflow services, you should be able to describe a number of flows. For this, in this test we express two flows making the assumption of the minimal level in the situational complexity. We express the content of the workflow for a scenario document using Fig.6.

The first flow (JohnScheduleFlow) described by Fig.5 shows the Flow A of Fig.6, and the second one (CheckMeetingRoom) refers to the Flow B in Fig.6. Additionally, we express the part corresponding to on the scenario document only once. This plays a role in identifying whether it is the right situation to provide the services with the user. If the situation is decided to be proper, such a part serves as an activator that allows the workflow to start. The Flow A shows the content of the scenario document related to John's schedule for the day and the Flow B is the expression of contents of the document corresponding to the ‘Check Meeting Room' flow connected to the sub-workflow.

Fig.6 Workflow based on CAWL scenario document

Fig.7 is the results executed through the eclipse on screen, showing the process of offering composite workflow services.

Fig.7 Execution process of composite workflow service

In Flow A of Fig.7, the dotted-line box refers to a comparison of activating conditions to activate the Flow A. In the comparison process, C1 and C2 show a constraint, a minimal unit to describe the situation, suggesting the value of the situation information obtained from the scenario document. Additionally, the information corresponding to a sensing context refers to the value if any identical value appears among the values obtained from the random number generator. Likewise, if it is identified that the situational information described in the scenario document is the same as that acquired from the sensor, JohnScheduleFlow starts at the same time. The next shows the information of links, which indicates the execution order of the workflow.

In Fig.7 the lower area shows a process of execution of Flow B invoked to the sub-workflow. In Flow B of Fig.7, the upper dotted-line box is a process of comparing the situation information for a transition condition. This does not refer to the activation condition but identifies the transition condition to change into the next service. Next, the lower dotted-line box shows a process of invoking the service (Check Light) to be executed after the comparison procedure is over.

This test shows that it is possible to provide composite workflow services by applying the schemes (See section 2.2) that can handle several workflows based on a CAWL used to integrate multi-workflows.

4 Conclusion

In the ubiquitous computing environment, a context-aware workflow system is able to offer the automation service that can express various kinds of composite situations depending on demands from the user. Therefore, in this paper we propose CAWL handler, which is a workflow handler to provide workflow services based on a CAWL supporting a composite workflow model, to solve the abover-mentioned problem. CAWL handler can offer a number of users with the composite workflow services on a larger scale, and raise the efficiency of service development by reusing the workflow drawn up already, in terms of the same service. In addition, CAWL handler is improved in its functions in that it is possible for a composite workflow to integrate a number of workflows, compared with the existing context-aware-based system. For this, we configure a workflow pool to reuse the existing workflow. Moreover, we enable a CAWL parser to have a function that can configure a symbol table, other than create AST, to raise an access to the variables and messages occurring in a number of scenario documents. In the future, this paper is required to apply a scenario to cope with various situations that may occur in heterogeneous service domains in order to verify the efficiency of a CAWL handler in many aspects.

[1] Junginger S. The workflow management coalition standard WPDL: first steps towards formalization. In: Proceedings of the 7th European Concurrent Engineering Conference (ECEC'00), Leicester, UK, 2000: 17-20.

[2] Leymann F. Web services flow language(WSFL 1.0). 2001[2013-03-21]. http://cin.ufpe.br/~redis/intranet/bibliography/standards/leymann-wsfl01.pdf.

[3] Thatte S. Web services for business process design. 2001. [2013-03-21]. http://xml.coverpages.org/XLANG-C-200106.html.

[4] Das M. Business process management and WS-BPEL 2.0. 2006. [2013-03-21]. http://www.oracle.com/technetwork/topics/bpel-130653.pdf.

[5] Han J, Kim E, Cho Y, et al. A ubiquitous workflow service framework. In: Proceedings of International Conference on Computational Science and Its Applications (ICCSA2006). Glasgow, UK, 2006: 30-39.

[6] LI Jun, BU Ying-yi, CHEN Sha-xun, et al. Followme: on research of pluggable infrastructure for context-awareness. In: Proceedings of 20th International Conference on Advanced Information Networking and Applications(AINA'06), Vienna, Austria, 2006, 1: 1-9.

[7] Karen H, Jadwiga I, Andry R. Modeling context information in pervasive computing systems. In: Proceedings of the 1st International Conference on Pervasive Computing, Zürich, Switzerland, 2002: 167-180.

[8] Ngeow Y C, Mustapha A K, Goh E, et al. Context-aware workflow management engine for networked devices. International Journal of Multimedia and Ubiquitous Engineering, 2007, 2: 33-47.

[9] Clement L, Konig D, Mehta V, et al. WS-BPEL extension for people(BPEL4People) specification version 1.1. 2009. [2013-03-23]. http://docs.oasis-open.org/bpel4people/bpel4people-1.1-spec-cd-06.pdf.

[10] Wieland M, Kopp O, Nicklas D, et al. Towards context-aware workflows. In: Proceedings of the Workshops and Doctoral Consortium, Trondheim, Norway, 2007: 1-15.

date: 2013-09-27

The MSIP (Ministry of Science, ICT & Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (NIPA-2013-H0301-13-2006) supervised by the NIPA (National IT Industry Promotion Agency)

Yongseong Cho (yongseong.cho@ssu.ac.kr)

1674-8042(2013)04-0370-06

10.3969/j.issn.1674-8042.2013.04.015