=Paper= {{Paper |id=None |storemode=property |title=Context aware service discovery and service enabled workflow |pdfUrl=https://ceur-ws.org/Vol-1054/paper-11.pdf |volume=Vol-1054 |dblpUrl=https://dblp.org/rec/conf/csws/HussainM13 }} ==Context aware service discovery and service enabled workflow== https://ceur-ws.org/Vol-1054/paper-11.pdf
 CONTEXT AWARE SERVICE DISCOVERY AND
      SERVICE ENABLED WORKFLOW

                                                      Altaf Hussain, Wendy MacCaull
                      Centre for Logic and Information, Dept. of Mathematics, Statistics, and Computer Science
                                                    St. Francis Xavier University
                                                  Antigonish, Nova Scotia, Canada
                                                ahussain@stfx.ca, wmaccaul@stfx.ca

   Abstract—We provide a conceptual model for context aware           are empowered by the WS technology, which provides a
Semantic Web Service (SWS) discovery, which can utilize real-         platform supporting independent communication and machine-
time legacy data from external systems and support user context-      to-machine interaction framework. However, WS technologies
based service discovery and selection. This model offers              need extensive human involvement for service discovery,
advantages over current SWS technology which cannot be easily         composition, invocation, etc.
applied to different domains or be integrated with legacy systems.
Using this conceptualization we propose an intelligent decision           In the recent years, a new paradigm has evolved, called the
support system, which offers Service Enabled Workflow.                Semantic Web (SW), supporting machine-readability, and
                                                                      automated trusted interaction between computers with minimal
   Keywords—Semantic Web Service, Context Aware Service               human intervention. The markup language of the SW is based
Discovery, Service Enabled Workflow, Service Metadata, Ontology       on the Web Ontology Language (OWL), which can be used to
                                                                      express logical relations among entities on the web, and leads
                        I.     INTRODUCTION                           to a new class of WS called Semantic Web Service (SWS). A
                                                                      Semantic Webservice is a standalone piece of functionality that
    A service is an entity that offers an intended value to its       is self-descriptive, machine-readable, and can be automatically
consumer; in today’s society, people are dependent on service
                                                                      discovered and executed via the web. The SWS, inheriting the
paradigms. A service consumer may need to pay an exchange             properties of the SW and the WS has achieved many desirable
value to consume a service but does not have to be concerned          properties, namely: a) machine independent communication
with how the service is developed or delivered. The service
                                                                      and machine readability b) easy and widely acceptable
model design, development, and delivery are the concern of,           collaboration methodologies c) exploitation of SW and
and are handled by, the service providers: e.g., the Postal
                                                                      reasoning techniques. Effort has been made in the areas of
Service. Web Service (WS) is the technology that makes                SWS, for example: semantic description of WS, semantic
services available as consumable entities accessed and
                                                                      reasoning based WS discovery and SWS delivery thorough
consumed through computers, via the Web: e.g., the Email              ontology based concepts and frameworks e.g., Web Ontology
Service. WS technology, backed by Service Oriented
                                                                      Language–Services (OWL-S) [1], and Web Service Modeling
Computing and Service Oriented Architecture (SOA) has                 Ontology (WSMO) [8].
gained attention and popularity in the commercial computing
sector as an enabling technology for the most enduring service            As SWS becomes more popular, users expect it to be easier
planning,     development,     delivery    and    management          to integrate with different domains and legacy systems.
methodology. As a result, a new spectrum of web applications          Existing SWS approaches do not provide any easy
has emerged supporting Business-to-Business integration, e-           methodology to integrate domain data (often housed in
commerce, and industry wide collaboration. These applications         traditional databases) in the service discovery process to




Figure 1: Interconnection of legacy systems and SWS system
                                                                                            Copyright notice: Copyright is held by the authors
support context aware service discovery. However, users                        stating the real-time patient data properties and values, rules
frequently need to select services based on domain situations.                 stating the action required to be taken by the user based on the
To support automatic interoperation of the SWS discovery                       facts and services, and the queries. We can model Selection
process with traditional systems, SWS discovery should be                      Strategy 2 by the listed Fact 1, Rule 1 and Query 1.
able to utilize real-time data from external systems and
domains, providing automatic discovery and selection services                      In addition, the patient’s condition may also force the user
based on domain situations and conditions. See figure 1.                       to select several other services that should accompany the
                                                                               selected service (the primary service). In such a case, the user
                                               TABLE I.        RELATED SERVICES AND THEIR DESCRIPTION
 Service Name            Service Quality Property: Cost, Relocation Duration    Dependent Services                                    Related Domain Data
 Helicopter Service      $2000, 1 hour                                          Paramedic Service, Oxygen Supply Service, …
 Ambulance Service       $1000, 3 hours                                         Paramedic Service, Oxygen Supply Service, …           Patient Condition,
                                                                                                                                      Patient Respiratory
 Bus Service             $100, 4 hours                                          Paramedic Service …                                   Status, …….
 ………                     …………..                                                 ……………..
    We present a small example from healthcare describing                      must know which services can be provided to the patient along
problems users face to discover a service that depends on                      with a primary service. To support such features, the user has
domain context, and motivating features to be supported.                       to consider the services enabled by one service and with regard
Suppose a patient is in a hospital in Antigonish and a medical                 to patient’s medical service consumption history and current
professional determines that he should be relocated to Halifax                 condition. For example in Table 1, an Oxygen Supply Service
for care that is more specialized. The user submits Query 1 (see               is enabled by the Helicopter Service which means, if a user
                                                                               chooses Helicopter Service, he can also choose Oxygen Supply
  Query 1:“Get a Relocation Service that can relocate Patient P from           Service. However, for the Bus Service, he cannot choose the
  Antigonish to Halifax.”                                                      Oxygen Supply Service. The user has to manually interface
  Selection Strategy 1: If the Patient’s Condition is Normal, Select the       different system components, namely: the patient data system,
  Low Cost Service for relocating the Patient from Antigonish to Halifax.
  Selection Strategy 2: If the Patient’s Condition is Critical, select the
                                                                               the service dependability knowledge and SWS discovery
  Fastest service for relocating a Patient from Antigonish to Halifax.         engine. Hence, the user faces a great deal of difficulties while
  Fact 1: The condition of the Patient P is Critical.                          trying to provide more than one service at a time to the patient.
  Rule 1: If the patient’s condition is Critical, use fastest mode of
  Relocation Service.
                                                                                 Step 1: Determine if the Patient’s Condition isCritical or not. If yes, then
  Fact 2: The Patient P has a Respiratory Problem.
                                                                                 Step 2: Select the fastest service manually from the list of services
  Rule 2: If the patient has a Respiratory Problems, there should be an
                                                                                 returned by the service discovery engine for Query 1.
  Oxygen Sservice supplied while relocating.
                                                                                 Step 3: Find out if the Patient has a Respiratory Problem. If yes, then
  Rule 3: If the Patient’s Condition is Critical, a Paramedic should
                                                                                 Query 2: “Get an Oxygen SupplySservice that can be provided while
  accompany the Patient while relocating.
                                                                                 Patient is transferring using fastest Relocation Service selected by
  IQ 1: “Get the fastest Relocation Service to relocate Patient P from
                                                                                 Query1.”
  Antigonish to Halifax (uses Query 1, Fact 1, and Rule 1).”
                                                                                 Step 4: If there is an Oxygen Supply Service that can be provided with
  IQ 2:“Get the fastest Relocation Service that supports Oxygen Supply
                                                                                 the selected Relocation Service then continue to the next fact. If there is
  Service while relocating Patient P from Antigonish to Halifax (uses
                                                                                 no such Oxygen Supply Service selected from Query 1, go back, reissue
  Query 1, Fact 1, Fact 2, Rule 1, and 2).”
                                                                                 Query 1, and select the next fastest service. Repeat until an Oxygen
  IQ 3: “Get the fastest Relocation Service that can support Oxygen
                                                                                 Supply Service is found.
  Supply Service and Paramedic Sservice while relocating Patient P from
                                                                                 Step 5: If the Patient’s Condition is Critical then,
  Antigonish to Halifax (uses Query 1, Fact 1, Fact 2, Rule 1, 2 and 3).”
                                                                                 Query 3: “Get Paramedic Service that can be provided while the Patient
                                                                                 is relocating with the service selected by Query 1.”
   Textbox 1: Examples of Queries, Facts and Rules                               Step 6: If there is a Paramedic Service returned by the service discovery
                                                                                 engine, the user could select that one. If there is no such service, the user
Textbox 1 below) to a SWS discovery engine, which will                           has to select next fastest service from Query 1.
match the query with a service repository and provide a list of
relocation services. However, this query does not incorporate                    Textbox 2: A scenerio of user interfacting different systems manually
other inputs such as patient condition, or patient disease history
and the user later may need to select a service depending on                   In addition, while the user tries to select services for a patient
such patient properties (examples of such selection strategies                 the user might need facts and rules in relation to selection
are Selection Strategy 1 and Selection Strategy 2). If none of                 strategies (e.g., facts and rules are Facts 1 and 2, Rules 1, 2
the discovered services fits patient properties, the user must                 and 3 in Textbox 1). This situation requires the user to check
initiate another discovery request and lose precious time.                     the database, and do additional steps. Also, based on the
    Query 1 can be answered by state-of-the-art SWS                            service dependencies, the user may have to restart the process
approaches like OWL-S or WSMO. However, Selection                              from the beginning if the selected service cannot provide all of
Strategies 1 and 2 show how a user’s decision may change                       the required services. A typical scenario is given below.
based on patient properties. To support strategies representing                    The domain facts and rules lead the user to do several more
domain awareness, the user must inspect the patient medical                    queries (Query 2 and Query 3) (see Textbox 2) and manually
record and then make a decision based on the quality properties                select services that are returned by traditional SWS discovery
of the list of services discovered. The selection strategies can               processes. However, one can see that from Query 1, Facts 1
be articulated using domain object properties called facts                     and 2 and Rules 1, 2, and 3, we are really interested in getting
the results of the possible inferred queries IQ1, IQ2 or IQ3 (see   also asserted in the domain ontology. At runtime, these rules
Textbox1), where IQ3 is the optimal query. For time critical        will change the result of the discovery query to that of an
applications, taking such service dependencies into the             inferred query due to a more refined search and discovery of
discovery process makes it more efficient and user friendly.        services. Applying the facts and rules during discovery, the
                                                                    answer to an inferred query can will obtained by applying
    We describe a framework for intelligent SWS description,        reasoning. This will reduce the need of user inspection and
discovery, and delivery that extends existing frameworks to:        interaction to get a service that best suits the user’s need.
improve service discovery performance, facilitate integration of
domain-based information, and interface with legacy systems             Service Metadata Based Reasoning and Discovery: The
such as workflow management systems. A workflow is a                Inter-Service Dependency Relationships model can enable us
collection of interconnected Tasks with a specific control flow.    to do on the fly service orchestration which can also save the
Each Task has a specification representing the action needed to     number of queries required. The model expresses the
be carried out. We propose the notion of Service Enabled            relationships between services in the service spectrum. A list of
Workflow (SEW) which will allow us to discover services             interdependent services are provided in the service description
using the task specification as a query to the SWS discovery        which then can be used in the discovery process and reasoning.
engine which will determine services that can carry out the         E.g., in Table 1, if the user selected a Relocation Service like
action required by the task. SEW can provide desirable features     BusService, the user cannot select OxygenSupplyService
such as: a) distributed workflow execution utilizing the            because it is not supported but can select ParamedicService.
standalone nature of the services; b) service collaboration         So, depending on the need of the patient and service
among various service providers as SEW can support the              relationship, a service selection decision can be made.
choice and execution of services from different providers,
using them in a single workflow; c) decentralization of the             Aggregation Query Support during Discovery: It is hard
workflow design, execution, and low coupling among                  to support some special queries like “Get the fastest relocation
workflow design and execution environment.                          service” using existing SWS discovery techniques. This
                                                                    requires that we incorporate procedural programming
                                                                    capability in a service discovery query. Procedural
          II.   PROPOSED MODEL AND ARCHITECTURE                     programming operation will be used along with DL based
    Our framework focuses on the easy integration of SWS            ontology query languages e.g. SPARQL Protocol and RDF
with a domain context and facilitates the interfacing with          Query Language (SPARQL) [4] and Semantic Query-
systems developed using traditional approaches. The basic           Enhanced Web Rule Language (SQWRL) [14]. This will allow
approach of service discovery traditionally contains a Service      users to express complex aggregation and procedural
Discovery Engine, a Service Repository, and a Domain Service        operations easily and intuitively in a discovery query.
Ontology; we add a data and context integration component               Service Enabled Workflow: SEW imagines workflow as a
and a service metadata ontology. We can incorporate the data        collection of tasks with control flows where tasks are carried
and context of legacy system by facts and rules that can be         out as services. A workflow task has defined specifications,
utilized by SWS discovery for context and real-time data            which can be imagined as a user query for the discovery of a
service discovery and selection. The model supports context         service and the workflow engine can ask the service discovery
dependent service discovery using two ontologies which              engine to discover services according to these task
provide the logic for a given service selection: 1) Service         specifications. The workflow user may select a service to
Metadata Ontology which contains the service relationships          execute from the discovered list of services. Continuing in this
with legacy system data and context; 2) Domain Facts and            fashion, we can provide dynamic composition of services: the
Rules Ontology. The Service Metadata Ontology consists of a)        overall result is SEW. SEW is a desirable feature that can
Service Domain Data Dependencies and b) Inter-Service               easily provide workflow collaboration support with minimum
Dependencies. These ontologies allow us to do reasoning over        efforts thorough service discovery and runtime composition.
service metadata, can be specified using OWL-2, and, can be
accommodated in both the OWL-S and in WSML-DL versions                  We propose a SOA based architecture shown in figure 2,
of WSMO approaches. We now discuss desirable features of a          which supports integration of different domains; it consists of
hybrid SWS based decision support systems.                          the following components:
    Domain Integration and Context Aware Service
Discovery: The “Relevant Domain Data” model articulates the
association of a service with the relevant domain data; in Table
1 it includes column 1 and column 4. Based on the relevant
domain data stated, we fetch data from the legacy system and
assert them as facts in the Domain Facts and Rule Ontology.
We can then use these facts asserted based on real-time data in
the SWS discovery process. Asserting a fact about a domain at
runtime, such as Fact 1, depends on the availability of the
Patient P’s property “Patient Condition” and the availability of
property value “Critical” which is gathered in real-time from a
database. Rules depending on the system’s situation and data
context that express the decision strategy related to a fact are    Figure 2: System Architecture
  Workflow Engine: works as a user query generator and             language, T□, [13] which is used to write task specification
execution engine that enables Service Enabled Workflow.            which include integration of data from a domain ontology. We
  Service Discovery Engine: serves as a central                    plan to integrate our service discovery process to accept the
communication hub. It also carries out several decision-           task specification. The discovery process then can provide the
making tasks about service dependency reasoning, and carries       selected service to the Nova Workflow engine, which executes
out rules resulting in procedural steps.                           the service to accomplish the task.
  Service Execution Environment: a server environment
providing service runtime requirements and run services.                                    IV.   REFERENCES
  Patient Data Broker (Object Data Broker): works as a             [1] Ankolekar, A. et al., 2002. “DAML-S: Web service description
broker to get data from external systems.                              for the semantic web.” In The Semantic Web—ISWC 2002,
  Ontology Processor: is responsible for managing the                  Springer, p. 348–363.
ontologies and querying the ontologies.                            [2] Averbakh, A., et al., 2009. “Exploiting user feedback to improve
  Service Repository: is responsible for holding information           semantic web service discovery.” In The Semantic Web-ISWC
about services provided by the service providers.                      2009, Springer, p. 33–48.
  Domain and Data Context Plugin Manager: is                       [3] Davies, J. et al., 2006. Semantic Web technologies: trends and
responsible for the facts and rules related processing and             research in ontology-based systems. Wiley.
domain based plugin management.                                    [4] Garc’ia, J. et al., 2012. “Improving semantic web services
                                                                       discovery using SPARQL-based repository filtering.” Web
                     III.   RELATED WORK                               Semantics: Science, Services and Agents on the WWW.
    The prominent conceptualizations of the SWS are OWL-S          [5] Grossmann, Georg et al., 2011. “Conceptual modelling
[1][11] and WSMO [3][15]. OWL-S helps software agents to               approaches for dynamic web service composition.” In The
discover web services that satisfy some specified quality              evolution of conceptual modelling, Springer, p. 180–204.
constraints also provide a minimal set of composition              [6] Grossmann, G. et al., 2008. “Modelling inter-process
templates. However, these abstract definitions can only be             dependencies with high-level business process modelling
applied in a static service composition and can only be                languages.” In Proceedings of the fifth Asia-Pacific conference on
arranged as a predefined combination of services in the                Conceptual Modelling-Volume 79, p. 89–102. Austrian Computer
ontology. In [6], several types of inter-process dependencies          Society, Inc.
are modeled using UML including Enabling, Cancelling,               [7] Harold, M. 2008. “WSMX documentation.”
Triggering, and Disabling dependencies. WSMO also provides             http://maczar.deri.ie/papers/wsmx-documentation.pdf.
a concept vocabulary to express service description in terms of     [8] Keller, U. et al., 2004. “Wsmo web service discovery.” WSML
IOPEs but it currently only supports syntactical matching of a         Draft, http://www.wsmo.org/2004/d5/d5.1/v0.1/20041112.
user’s goal against service descriptions. OWLS-MX [9] and          [9] Klusch, M. et al., 2009. “OWLS-MX: A hybrid Semantic Web
WSMX [7] are the SWS execution and testing environments                service matchmaker for OWL-S services.” Web Semantics:
for the SWS developed using OWL-S and WSMO approaches,                 Science, Services and Agents on the World Wide Web 7(2): 121–
respectively. OWLS-MX implemented the hybrid service                   133.
discovery matchmaking using the OWL-2 reasoner Pellet.             [10] W. MacCaull and F. Rabbi, “NOVA Workflow: A Workflow
OWLS-MX and WSMX both support SW query languages                       Management Tool Targeting Health Services Delivery,” in
SQWRL or SPARQL to perform semantic discovery of                       FHIES’11, ser. LNCS, vol. 7151. Berlin, Heidelberg: Springer-
services but do not use domain data dependent facts and rules          Verlag, 2012, pp. 75–92.
to discover services. SADI [16] provides a design pattern for      [11] Martin, D. et al., 2004. “OWL-S: Semantic mark-up for web
publication of services, interoperability with traditional WS,         services.” W3C member submission 22: 2007–04.
and, semantic discovery and workflow generation based on           [12] Merla, C. 2010. “Context-Aware Match-Making in Semantic
service input/output transition metadata. SADI does not                Web Service Discovery.” Int’l Journal of Advanced Engineering
support domain data and context based service discovery and            Sciences and Technologies 9(2): 243–247.
selction via integration and interoperation with legacy systems     [13] F. Rabbi and W. MacCaull: "T-Square: A Domain Specific
and data. Presently, there are a variety of approaches to              Language for Rapid Workflow Development," in ACM/IEEE
improve the accuracy of a service discovery process, including         15th Conf. on Model Driven Engineering Languages & Systems
collecting and integrating user feedback [2] and the addition of       (MODELS 2012), Innsbruck, Austria (September, 2012). Proc,
contextual information by defining design time semantic based          Lecture Notes in Computer Science, Volume 7590. pp. 36-52.
user context [12]. In our approach, the service description        [14] Rodriguez, J. et al., 2010. “Improving Web Service descriptions
enables us to foresee the services dependencies and reason             for effective service discovery.” Science of Computer
about them to discover services that best suit the system and          Programming 75(11): 1001–1021.
context conditions based on described facts and rules. In [5] a    [15] Wang, H. et al., 2012. “A formal model of the Semantic Web
conceptual model of task-based workflow is provided that               Service Ontology (WSMO).” Information Systems 37(1): 33–60.
motivates our proposed Service Enabled Workflow. We extend         [16] M. D. Wilkinson, et al., 2011. The semantic automated
the approach of [5] to support closer relationships with systems       discovery and integration (sadi) web service design-pattern, api
and contexts, and improve the state-of-the-art of such                 and reference implementation. Journal of biomedical
workflow systems. The Nova Workflow Workbench [10] is a                semantics, 2(1), 8.
task based workflow engine equipped with a high-level