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