An Event-Driven Context-aware Workflow Framework

5 downloads 85562 Views 967KB Size Report
Price], [Comments], [Cash] and [Discount]. Figure 6. (a) The creation of a form in IVO Builder and (b) the same form running in the android client. (ii) Expression ...
An Event-Driven Context-aware Workflow Framework Valentim Realinho1,2, Teresa Romão2, A. Eduardo Dias2 1

Escola Superior de Tecnologia e Gestão de Portalegre Lugar da Abadessa, Apartado 148 7300-901 Portalegre, Portugal +351 245 300200

[email protected] ABSTRACT This paper introduces IVO, a framework to build and deploy context-aware applications using smartphones as the ubiquitous interaction device. The framework uses an event-driven workflow model to support the dynamic nature of context-aware applications, and is designed to enable non-programmers to create and run new mobile applications. An IVO application is described as a set of workflows triggered by events that are automatically generated in runtime by sensing the environment, either through the smartphone's own sensors, or using a sensor infrastructure external to the smartphone. This paper also describes the Android client developed to validate the framework's usability and usefulness, and discusses the usability tests of an application developed with the framework.

Categories and Subject Descriptors D.2.2 [Software Engineering]: Design Tools and Techniques. D.2.6 [Programming Environments]: Interactive environments D.2.11 [Software Architectures]: Domain-specific architectures. H.5.2 [Information Interfaces]: User Interfaces – Evaluation/methodology; Prototyping.

General Terms Design, Experimentation, Human Factors.

Keywords Ubiquitous Computing, Context-Awareness, Rapid Application Development, Usability Evaluation, Interaction Design, Mobility.

1. INTRODUCTION The ubiquitous computing vision of Mark Weiser [27] uses small devices, with robust computing power and network capabilities, seamlessly integrated into a dynamic environment. Contextawareness and smart sensors and devices are disruptive technologies in this paradigm. We are at a very early stage of these technologies but much research has been done, especially after 2000. The smart sensors and devices envisaged in the Mark Weiser’s vision are not part of the actual ubiquitous computing paradigm Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ACM Multimedia’11, Nov 28th–Dec 1st, 2011, Scottsdale, Arizona, USA. Copyright 2010 ACM 1-58113-000-0/00/0010…$10.00.

2

CITI, DI-Faculdade de Ciências e Tecnologia/UNL Quinta da Torre 2829-516 Caparica, Portugal +351 21 2948536

{tir, aed}@di.fct.unl.pt yet, while the mobile phone is the first truly pervasive computer [25]. The mobile phone is always with people and provides a new computing platform with constantly increasing capabilities, being able to provide contextual services, information and adaptation to the user. Context-aware applications have already demonstrated the advantages gained from the ability to perceive the surrounding environment [17,21,25,27]. However, the development of such applications is a laborious process requiring considerable expertise in programming and interaction design, in particular the implementation of their often complex control flow. Context-aware workflow became an important research topic in order to introduce context awareness and also mobility to workflows. The pioneer work in this topic, such as [23], [14], [15] and [22], benefited from previous research in the area of workflow management. Workflow management systems are not new to business community and various commercial [1,2] and research [3,4,5] products are available. To address the problem of the laborious work and effort involved in building mobile context-aware applications, we have developed IVO. We use an approach based on context-aware workflows to generate the applications developed with IVO. Two building tools (IVO Builder and IVO Outlook) enable end-users to use a visual programming environment, to build and deploy context-aware applications without the need to write any programming code. The IVO Client runs these applications through the workflow engine that it implements. In this paper we present the IVO platform and describe in more detail the IVO Client architecture, as well as the usability studies that were performed to evaluate the system’s ability to produce usable and useful applications.

2. RELATED WORK Most research on context-aware workflow topic focus on the issue of modeling and execution engines. WS-BPEL [6] (or BPEL for short) became the standard for workflow execution language. BPEL is an orchestration language for describing business process behaviors based on Web Services. It extends the Web Services interaction model and enables it to support business transactions. BPEL is popular with the open source community and several BPEL engines such as Apache ODE (Orchestration Director Engine) [3], Orchestra [4] and Riftsaw [5] (based on Apache ODE) have been implemented. IBM WebSphere Process Server [1] and Microsoft BizTalk Server [2] are examples of commercial BPEL engines that are able to execute the BPEL workflow models. Natively, BPEL does not support mobile users and context-aware workflows which open the space for the research in this area.

Context4BPEL [28] and CAWE [12] focus on the use of frameworks and execution engines for specific domains being unable to give a more general response. Context4BPEL is a variant of BPEL for context-aware workflow modeling and has been tested in production processes in the manufacturing industry. CAWE is a framework for the development of context-aware applications based on Web Service technologies, which adapt to the user features and the execution context and was tested in a scenario of hospital management.

application is described as a set of workflows that are triggered when the start context is checked. Figure 1 illustrates the IVO platform architecture which is composed by four components described next.

Projects like Sliver [20], xBPEL [14], WHAM [23] and the proposed by Pajunen and Chande [24], are execution engines that supports mobile users. xBPEL and WHAM use only the location as the unique type of context data, and are not generic enough to enable modeling of context-aware workflows. CAWD [11] is a recent work that provides a design tool used to develop workflow models for context-aware applications. It is built on top of Microsoft Windows Workflow Foundation 3.5 and act as a standalone application for designing and verifying context-aware workflows. Tang el al. [26] proposes a context model and a context-aware workflow management algorithm for ubiquitous campus navigation modeled through Petri nets. The event-driven workflow model that we use in IVO was in part inspired by the pioneering work of Dayal el al. [16] where the ECA (Event-Condition-Action) notation was proposed. Jang et al. [22] propose a similar approach called GAT (Guard-ActionTrigger) for the design of a workflow engine that supports the definition and execution of long-running business processes. These projects seek to add mobility and context-awareness to workflows, acting the mobile device as an extension to the workflow system in a service orchestration logic. The major difference between these projects and IVO is in the way a workflow is viewed. We see a workflow as part of a context-aware application that is created and used by end-users and not as a business process. We use the same context-aware workflow concepts but in a logic of local execution of the available activities. Activities are used as the building blocks of the workflows that are triggered when the start context is checked. We provide a web-based building tool that allows end-users to create their own application. In addition, we use a context-aware workflow model language that can be embedded in KML and in the Outlook Calendar and Contact, allowing users to make use of their previous experience with these popular applications. Finally, IVO uses widely available smartphones as the ubiquitous interaction device, therefore allowing for a widespread use of the applications created by the end-users.

3. CONCEPTUAL MODEL IVO enables non-programmers to create and run context-aware mobile applications. We use two composite application tools (IVO Builder and IVO Outlook) to build context-aware applications by creating workflows that define the application behavior when a specified context is detected. A context is a particular situation for each user that can be defined by the user’s location, activity being performed, time, nearby people or equipments, battery level and lightness among other parameters. These two tools enable end-users to set contexts that are used to define conditions for starting the workflows. The workflows are created by combining the available building blocks, which represent the various actions that can be performed by an application (the activities described in section 4.1). An IVO

Figure 1. The IVO architecture. IVO Builder is a web application, which mainly allows the creation of location-based applications, but that can also be based on temporal and proximity contexts, for a richer context definition. This tool includes features that allow users to create contexts and define the actions that should be performed by the application when those contexts are achieved. For example, one can define an application that automatically shows information regarding a certain spatial area when the user enters that area. The applications thus created, are stored in the web server and can be made available to the IVO Clients, in accordance with the users’ access permissions, through a REST [18] API. IVO Outlook allows the definition of temporal conditions, through the incorporation of workflows in the Outlook appointments, which are executed "when the event starts" or "when the event ends". The IVO’s Outlook add-on adds a form region at the bottom of the appointment window containing the interface that enables the users to define workflows with the same activities that are available in IVO Builder and are described in section 4.1. The IVO Outlook can also associate location contexts with the appointments, to allow the creation of rules like "at this instant in time and when I'm at this location". These location contexts can be defined using a map provided by IVO Outlook or can be imported from the applications created with IVO Builder through a REST API. Proximity contexts can be created associating a Bluetooth device to an Outlook contact. The synchronization tools provided by the device manufacturer guarantee the synchronization of IVO Outlook with the smartphone. The web server provides the web pages used by IVO Builder and a REST API that is used by the IVO Clients to synchronize the applications that the users have access to, and to store data forms (see section 4.2.2). The IVO Client (running on the smartphones) loads the developed applications and a Workflow Engine is provided to enable the coordination of the flow of activities as a workflow process. This module is described in more detail in section 4.

3.1 Context Modeling We use a markup approach to model the contexts. The composite tools described in the previous section encode the created applications in a proprietary format, the IVO Markup Language or IVOML. The IVOML can be embedded in KML [7] in order to

use this popular and standard format for geographic data annotation and visualization. The IVO Builder allows end-users to easily define areas of interest as location contexts (Placemark tags of KML) and then use these contexts in IVOML. Figure 2 illustrates a KML example with IVOML code embedded (represented with the grey background). In this example, the workflow “Leaving the School” is triggered when the user leaves the area defined in the placemark “School” and automatically sends an SMS to the specified phone number with the specified message.

Figure 3. IVO Client Framework.

Figure 2. KML with an IVOML embedded. For the temporal and proximity contexts defined with the IVO Outlook, we embed the IVOML code in the Outlook Calendar and Contact through the IVO Outlook add-on.

4. IVO CLIENT FRAMEWORK We use an event-driven workflow model to enable the dynamic nature of context-aware applications: the workflows must be initiated only when the user is in the presence of a pre-defined context detected by the application; changes in the environment can occur after the workflow has been started and can potentially alter the workflow and what it is intended to accomplish. In addition, we want to support the concept of guard conditions that are used to condition the occurrence of a transition from one activity to the next one in the workflow. All activities can have an associated condition, allowing the transition to the next activity if the condition holds. If the condition is not verified, the activity enters in a blocked mode until it is checked or a timeout occurs. Figure 3 illustrates the framework of the IVO Client which is composed by three major components: Sensing Monitor, Context Management and Workflow Engine.

Sensing Monitor. The sensing layer allows monitoring the contextual environment, and can be extended through the development of new sensor handlers to enable a better capability to perceive the environment. The creation of these handlers is a task that involves programming an abstract class extension. Currently we have sensor handlers to provide locations contexts through GPS, GSM and WIFI networks; Bluetooth for proximity contexts of people and equipment; 2D barcodes reading (QRcodes); temporal contexts through the smartphone Calendar; and we plan the use of Near Field Communication (NFC) [19], since the latest version of Android already support this technology. In addition to the smartphone's internal sensors, it is possible to develop sensor handlers that communicate with an external infrastructure of sensors. We are now developing a motion sensor based on Kinect and we also plan experiments with Arduino. Context Management. This layer provides a simple but powerful mechanism for register/unregister conditions, that the Workflow Engine uses in order to be asynchronously notified by the eventdriven engine whenever a condition holds. When the onContextChanged event is raised by the Sensing Layer, the event-driven engine evaluates all registered conditions. The event onStartWorkflow is raised when a workflow start condition is detected, while onEvent is raised whenever the condition associated with an asynchronous activity is verified. The conditions are evaluated by the if-then rule evaluator which uses the Java Expression Language (JEXL) [8] allowing a great expressiveness. Boolean expressions used in conditions can make use of all context variables (described in section 4.2) and common operators, such as >, >=,

Suggest Documents