=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)== https://ceur-ws.org/Vol-494/mallowawesomepaper7.pdf
        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.