=Paper=
{{Paper
|id=Vol-494/paper-7
|storemode=property
|title=The CAWE Framework - Enhancing Service Oriented Architecture with Context Awareness (Extended Abstract)
|pdfUrl=https://ceur-ws.org/Vol-494/mallowawesomepaper7.pdf
|volume=Vol-494
|dblpUrl=https://dblp.org/rec/conf/mallow/ArdissonoGFPS09
}}
==The CAWE Framework - Enhancing Service Oriented Architecture with Context Awareness (Extended Abstract)==
The CAWE Framework - Enhancing Service
Oriented Architecture with Context Awareness
Extended Abstract
L. Ardissono, R. Furnari, A. Goy, G. Petrone, M. Segnan
Dipartimento di Informatica
Università di Torino
Torino, Italy
Email: liliana,furnari,goy,giovanna,marino@di.unito.it
Abstract—The development of Web applications based on ¯ The management of tasks as dialogs with the user,
Service Oriented Architectures (SOA) is challenged by the lack of the provision of extra-helpful information for non-expert
support to the specification of explicit context adaptation policies. users, and the management of a User Interface fitting the
As an answer to this issue, we present the Context Aware
Workflow Execution framework (CAWE), which enriches SOA
size of her/his device.
with (a) context-aware workflow management; (b) dialog man- We exploited the CAWE framework to develop an e-Health
agement capabilities supporting the adaptation of the interaction prototype application supporting the management of a clinical
with the individual user, and (c) context-dependent User Interface guideline which coordinates the activities to be performed
generation. in order to monitor the health state of patients affected by
heart diseases. The analysis of the e-Health domain, and the
I. I NTRODUCTION development of the application, proved the suitability of the
adaptive features offered by our framework, as well as its
Context-awareness is particularly important in Web ap-
applicability to real-world use cases.
plications, which are accessed by large numbers of users,
having diverse preferences, needs and capabilities, and using II. T HE CAWE F RAMEWORK
heterogeneous devices to interact with the business services. Service Oriented Architecture provides limited support to
In order to suitably handle such variability, a self-managing and context-awareness because it fails to recognize the central
system should be able to adapt both the service and the role of the adaptation logic and thus it embeds all the adap-
User Interface to the individual user and to the dynamic tation decisions in the workflow specifying the business logic
environment surrounding her/him. of the applications. Specifically:
However, Service Oriented Architecture (SOA, [1]), the ¯ As far as the business logic is concerned, the workflow
reference model for the development of composite applica- underlying the applications embeds the variables to be
tions, does not explicitly deal with personalization and context- taken into account and describes the alternative courses of
awareness. In fact, it embeds all the adaptation decisions in action in a flat graph. Although this approach works well
the process specifying the business logic of the applications. in simple cases, it does not scale to complex contexts.
In order to address this limitation, we designed a vertical ¯ The User Interface (UI) and the interaction with the user
SOA architecture which extends Service Oriented Comput- lack flexibility because they are based on minimalistic
ing with context-awareness and personalization capabilities. techniques for the generation of device-dependent UI
This extended abstract shortly presents the CAWE (Context pages which fail to support the management of flexible
Aware Workflow Execution) framework for the development dialogs with the user.
of composite Web applications. The framework supports the The CAWE framework supports the development of com-
adaptation of the business logic, interaction logic and User posite applications which tailor the business logic, the inter-
Interface to the users and to their context. Specifically, the action with the user and the User Interface to the user and to
framework supports: her/his context. The key concept is the fact that the adaptation
¯ The context-dependent selection of the courses of action logic has to be explicitly represented. By extracting such
to be enacted, and of the service providers to be invoked, logic from the application workflow, flexible techniques can be
during the execution of the application. applied to steer the system behavior. The CAWE architecture
¯ The generation of a context-dependent User Interface, includes two core components:
tailored to the user’s device (e.g., to its screen size) and to ¯ The Context Manager service (CtxMgr WS) handles the
the user’s preferences (e.g., background colors and font context information during the execution of the applica-
size). tion. Specifically, it handles a Role Model for each role
defined in the application workflow, as well as a User completion, the engine resumes the execution of the main
Model and a Context Model for each involved actor. workflow.
¯ The Context-Aware Workflow Manager (CA-WF-Mgr)
B. user interface
enacts a context-sensitive workflow which defines the
business logic of the application. For this purpose, it The Dialog Manager handles each task to be completed
exploits two modules: the Workflow Adaptation Module as a communicative goal to be achieved by carrying out a
shapes the workflow depending on the context; the work- dialog with the user. Each dialog step is aimed at achieving
flow engine enacts the resulting workflow. a part of the task and is managed by generating a UI page.
Within the CA-WF-Mgr, the Dialog Manager module A Finite state Automaton specifies the interaction logic of the
acts as a bridge between the user and the workflow Dialog Manager: each state of the automaton corresponds to
engine. When the user logs in the application, the Di- a UI page type and each state transition is performed as a
alog Manager is invoked and takes the control of the consequence of a user action. The automaton describes the
interaction. The module adapts the User Interface to a whole interaction with the user as far as task management is
context including both the user’s device and her/his layout concerned. Specifically, a task is handled as follows:
preferences. 1) The Dialog Manager sends the user’s browser a per-
sonalized UI page representing an interaction turn. The
A. business logic page includes a set of input/output parameters to be
In the CAWE framework, the business logic of an applica- acquired/presented and the navigation links enabling the
tion is represented as a context-sensitive workflow organized user to continue the interaction. Moreover, the page in-
in an abstraction hierarchy which specifies the system behavior cludes a set of help links to get more specific information
at different levels of detail. Specifically: about the task and its parameters.
¯ Besides the standard workflow activities (prescribing 2) The user may perform different actions on the UI page:
the invocation of service providers, the management of e.g., each help link, and each information link associated
tasks, or some internal computation), a context-sensitive to the parameters, activate a nested dialog. Moreover,
workflow can include abstract activities which describe suitable transitions lead to the next, or to the previous
a generic type of behavior, to be decided at runtime. step of the dialog, respectively.
¯ Each abstract activity is associated with a set of imple- 3) At task completion time, the Dialog Manager notifies
mentations which describe different courses of action that the workflow engine and feeds it with the acquired data.
the workflow engine should enact to complete the activity, The generation of the personalised pages is based on the
depending on the context. Each implementation is a evaluation of a set of UI adaptation policies, which steer the
workflow which can specify rather different behaviors; selection of the layout to be applied (given the user’s prefer-
e.g., starting a task to be performed by a human actor, ences and device) and, consequently, determine the maximum
invoking a Web Service, starting a complex subprocess, number of parameters which can be put in each UI page.
or carrying out some internal computation. Notice that Figure 1 shows a sample UI page, targeted to a desktop
an implementation may include itself some abstract ac- device, generated by our e-Health application during the
tivities; therefore, the context-sensitive workflow can be management of a task (storeTherapy()).
organized as a multi-level hierarchy. ¯ The top bar of the page includes the name of the
¯ The business logic adaptation policies steer the selection application (eHealth) and reports the username (house)
of the implementations to be enacted during the execution and the logout button.
of the abstract activities. These policies are described ¯ The middle bar of the page is organized as follows:
as (chains of) condition-action rules: the precondition of – The higher portion shows the task name, the task ID
a rule is a boolean condition on context variables. The (744) and the user’s role (doctor).
action can be the reference to another rule (rule chaining), – The lower portion includes: a help link for the
or the name of the implementation to be enacted. visualization of the task description; the position of
During the execution of the application, the workflow under- the current interaction turn within the overall dialog
lying the application is composed by recursively selecting the (Page 1 of 2); the continue link ( ) taking to the
implementations of the abstract activities to be enacted, until next dialog turn, and the Cancel link.
the system’s behavior is completely specified. This selection ¯ The lower part of the page is devoted to the visualization
is steered by the business logic adaptation policies. of the input and output parameters of the task. Specif-
Specifically, the Context-Aware Workflow Manager wraps ically, the Form area shows the input ones, while the
a workflow engine which executes the context-sensitive work- Information area displays the output ones. Each parameter
flow as if it were a standard one. However, when the en- name has a link to its more specific information (h).
gine encounters an abstract activity, it invokes the Workflow Figure 2 shows the sequence of pages devoted to the same
Adaptation Module on the abstract activity. When the module task, if the user uses a PDA to connect to the application.
returns the implementation to be enacted, the engine performs In order to cope with the smaller screen size, the dialog is
it as a subprocess of the main process instance. At subprocess performed in more steps than in the desktop case.
Fig. 1. First dialog turn in the management of task storeTheraphy, tailored to a desktop device.
Fig. 2. First two dialog turns in the management of task storeTheraphy, tailored to a PDA.
III. R ELATED W ORK adaptation rules for the runtime, context-dependent selection
of the courses of action to be enacted. In this way, the business
In Service Oriented Computing, some contributions extend logic of the application is shaped during its execution.
standard Web Service composition languages with context- In the Semantic Web research, planning technology is
awareness features (e.g., C-BPEL; see [2]), in order to comply applied to enhance the flexibility in Web Service composition.
with Quality of Service (QoS) requirements. These approaches Moreover, plan-based approaches are applied to invoke Web
are affected by the limitations of standard Web Service com- Service providers in context-aware mode; e.g., see [5], [6],
position languages, such as WS-BPEL ([3]) and its context- [7]. However, planning technology is not suitable to handle
aware extensions (e.g., Context4BPEL, see [4]), which embed long-lasting services and processes because it does not support
the adaptation logic in the workflow specification. persistence management. Therefore, up to now it has only
Our work overcomes the limitations of these works by been used to handle short-lived composition plans. In fact,
introducing the abstract activities and by exploiting declarative several proposals for the adoption of planners in Web Service
composition turned out to exploit workflow engines for the [9] G. Laures and K. Jank, “Adaptive Services Grid Deliverable D6.V-1.
service execution; e.g., see [8] and [9]. Reference architecture: requirements, current efforts and design,”
http://asg-platform.org/cgi-bin/twiki/view/Public/ReferenceArchitecture,
Concerning the management of the interaction with the user, Tech. Rep., 2005.
context-aware workflow systems only provide the adaptation [10] S. Ceri, F. Daniel, and M. Matera, “Extending webml for modeling
of the User Interface (UI) to the user’s device, in terms of multi-channel contextaware web applications,” in WISE - MMIS’03 IEEE
Computer Society Workshop, 2003.
stylesheet selection; e.g., see [7] and [10]. In comparison, [11] J. Chu-Carroll and S. Carberry, “Collaborative response generation in
CAWE supports applications which adapt both the code of planning dialogues,” Computational Linguistics, vol. 24, no. 3, pp. 355–
the UI pages and the interaction logic to a complex context. 400, 1998.
[12] C. Rich, D. McDonald, N. Lesh, and C. Sidner, “COLLAGEN: Java
Moreover, it supports the adaptation to multiple users, by middleware for collaborative agents services with multiple suppliers,”
tailoring the UI and the interaction logic on an individual basis. http://www.merl.com/projects/collagen, 2002.
In the research about dialog-based systems, some re- [13] L. Ardissono, R. Furnari, A. Goy, G. Petrone, and M. Segnan, “A
framework for the management of context-aware workflow systems,”
searchers employed scripts describing domain-level activities in Proc. of WEBIST 2007 - Third International Conference on Web
and linguistic behavior to model articulated task-oriented Information Systems and Technologies, Barcelona, Spain, 2007, pp. 80–
dialogs; e.g., see [11]. Moreover, planning technology was 87.
[14] L. Ardissono, A. Goy, and G. Petrone, “A framework for the develop-
applied to manage short-lived interactions with the user; e.g., ment of distributed, context-aware Adaptive Hypermedia applications,”
see [12]. We adopt Finite State Automata to handle the in LNCS 5149, Adaptive Hypermedia and Adaptive Web-Based Systems,
interaction with the user; although these are less flexible than 5th Int. Conference, AH2008, W. Nejdl, J. Kay, P. Pu, and E. Herder,
Eds. Berlin Heildelberg New York: Springer-Verlag, 2008, pp. 259–262.
plans, they are more robust and lightweight, and they support [15] L. Ardissono, R. Furnari, A. Goy, G. Petrone, and M. Segnan, “A SOA-
a predictable behavior. based model supporting adaptive web-based applications,” in Proc. of
3rd Conference on Internet and Web Applications and Services (ICIW
2008). Athens, Greece: IEEE, 2008, pp. 708–713.
IV. C ONCLUSION
This extended abstract has presented the Context Aware
Workflow Execution framework for the development of
context-aware composite Web applications. The framework
enriches Service Oriented Architecture with (a) adaptation
techniques supporting the execution of context-sensitive work-
flows; (b) dialog management capabilities supporting flexible
user interactions, and (c) context-dependent User Interface
generation techniques aimed at presenting personalized infor-
mation on different devices. As such, it supports the devel-
opment of Web applications which can self-adapt to meet
the requirements of heterogeneous users in dynamic usage
environments.
More information about the CAWE framework can be found
in [13], [14], [15].
R EFERENCES
[1] M. Papazoglou and D. Georgakopoulos, Eds., Service-Oriented Com-
puting. Communications of the ACM, 2003, vol. 46, no. 10.
[2] C. Ghedira and H. Mezni, “Through personalized web service composi-
tion specification: from bpel to c-bpel,” Electronic Notes in Theoretical
Computer Science, no. 146, pp. 117–132, 2006.
[3] OASIS, “OASIS Web Services Business Pro-
cess Execution Language,” http://www.oasis-
open.org/committees/documents.php?wg abbrev=wsbpel, 2005.
[4] M. Wieland, O. Kopp, D. Nicklas, and F. Leymann, “Towards context-
aware workflows,” in Proc. Workshop on Ubiquitous Mobile Information
and Collaboration Systems (UMICS 2007) at CAiSE’07, Trondheim,
Norway, 2007.
[5] S. McIlraith, T. Son, and H. Zeng, “Semantic Web Services,” IEEE
Intelligent Systems, vol. 16, no. 2, pp. 46–53, 2001.
[6] W. Balke and M. Wagner, “Through different eyes - assessing multiple
conceptual views for querying Web Services,” in Proc. of 13th Int. World
Wide Web Conference (WWW’2004), New York, 2004.
[7] M. Keidl and A. Kemper, “Towards context-aware adaptable Web Ser-
vices,” in Proc. of 13th Int. World Wide Web Conference (WWW’2004),
New York, 2004, pp. 55–65.
[8] D. J. Mandell and S. A. McIlraith, “Adapting BPEL4WS for the
Semantic Web: The bottom-up approach to Web Service interoperation,”
in LNCS 2870, Proc. 2nd International Semantic Web Conf. (ISWC
2003). Sanibel Island, Florida: Springer-Verlag, 2003, pp. 227–241.