CDAC-MIT-Garuda- TR-2-JN- 2006

advertisement
IT@MIT
Development of Front End tools for Semantic Grid Services
Development of Front End Tools for Semantic Grid Services
TECHNICAL PROGRESS REPORT
(CDAC-MIT-Garuda-TR-2-JN- 2006)
(November,2005 – January,2006)
Submitted to
Centre for Development of Advance Computing
Bangalore
By
Dr S.THAMARAI SELVI
CHIEF INVESTIGATOR
Department of Information Technology
M.I.T. Campus of Anna University
Chromepet, Chennai – 600 044.
Technical Report – January 2006
1
IT@MIT
Development of Front End tools for Semantic Grid Services
Abstract
The semantic component of the proposed architecture addresses the
need of semantics in Monitoring and Discovery Services of Globus Toolkit
to enable semantic description and retrieval of Grid Services. The Globus
Toolkit is an open architecture, open source set of services and libraries
that support Grids and Grid Management. The main motivation behind this
research work is to extend the capability of GT4.0 to support semantic
description and discovery of Grid Services. Hence, we integrated Globus
Toolkit with Protégé editor and thereby enabling the globus user to create
service ontology of Grid services. The project also proposes an algorithm
that enables semantic discovery of services by extending the matchmaking of
semantic web services. The algorithm ranks the matching degree of service
descriptions described in the service ontology on the basis of Input, Output
and Functionality (IOF) parameters. Different degrees of match are
achieved based on comparison of IOF of requested services with that of
advertised one. The Protégé editor integrated in GT is used for semantic
description of services by creating service ontology and the Algernon
inference engine is used to interact with the ontology. Contrary to the
mechanisms that return only success or fail, ranked results provide criteria
for the selection of a service among a large set of services. A separate Grid
Portal is developed using Gridsphere framework that enables the service
requester to submit query and performs matchmaking of requested service
against the advertises ones.
Keywords – Grid Computing, Globus Toolkit, Semantic Web Service, Ontology,,
Reasoner, Web Ontology Language (OWL)
Technical Report – January 2006
2
IT@MIT
Development of Front End tools for Semantic Grid Services
Table of Contents
Sl.No
Contents
Page No
Summary of Previous Review Meet
Observations and Suggestions by the experts
List of Figures
List of Abbreviations
Abstract
1
1.
Introduction
2
2.
Service Discovery in GT and its Limitations
3
3.
Semantic Grid Services using PEG
4
3.1
Layered Architecture of Semantic Grid using PEG
4
3.2
Ontology
7
3.3
Protégé Enabled Globus Toolkit
8
4.
Issues and difficulties in Matchmaking of Semantic Grid Services
9
4.1
Role of OWL-S in Matchmaking
9
4.2
Limitations of OWLS for Grid Services
11
5.
Parameter Matchmaking Algorithm
11
6.
Implementation of Semantic Grid Service using PEG
14
6.1
Developing Grid Service
14
6.2
Creation of Service Ontology
15
6.3
Matchmaking Module
17
7.
Semantic Grid Portal
18
8.
Experimental Results
19
9.
Experience with WSMX
22
9.1
Web Service Modeling eXecution Framework
22
9.2
Web Service Modeling Ontology
25
9.3
Web Services Modeling Toolkit
26
Technical Report – January 2006
3
IT@MIT
Development of Front End tools for Semantic Grid Services
10.
9.4
Implementation Issues and Difficulties with WSMX
27
9.5
FLORA-2
30
9.6
Issues and Difficulties
31
Conclusion
31
References
Technical Report – January 2006
4
IT@MIT
Development of Front End tools for Semantic Grid Services
1. Introduction
Grid Technologies support the sharing and coordinated use of diverse resources, from
geographically and organizationally distributed components, of virtual computing systems that
are sufficiently integrated to deliver desired QoS[2].Ian Foster and Kesselman defined the
essential properties of Grids [1]. They also introduced the key requirements for protocols and
services, distinguishing among connectivity protocols concerned with communication and
authentication, resource protocols concerned with negotiating access to individual resources and
collective protocols and services concerned with the coordinated use of multiple resources. A
Grid instantiation is a grid system prototype using one or more of the grid middleware
technologies. Most current grid instantiations are focused on computational services for end
users. Despite these advantages, however, they lack the ability to provide services to solve
domain problems that involve knowledge related services. Currently, the Grid Services use
metadata to describe the services and implement the service’s discovery. However, simple
metadata and simple queries give a small but not significant improvement in information
integration [21]. Fundamental research on semantic web has allowed the grid community to
move from the current data centric view supporting the Grid, towards a semantic Grid with a set
of domain specific problem solving services and knowledge services.
The semantic grid can be described as an “extension of the current Grid in which
information and services are given well defined meaning, better enabling computers and people
to work in cooperation”[12][13]. The semantic Grid is a service oriented architecture in which
entities provide services to one another under various forms of contract. The semantic Grid is
characterized by an open system, with a high degree of automation, which supports flexible
collaboration and computation on a global scale. In such an environment, it is essential to
provide facilities to the user for easier discovery of the resources. The architecture using Protégé
Enabled GT (PEG) proposed in this research work addresses the issues of semantic description
and retrieval of services. The PEG allows the service provider for semantic description of grid
services. We also propose a matchmaking algorithm by extending matchmaking of semantic web
services that ranks the matching degree of service descriptions by comparing IOF parameters of
described services with that of requested service. The semantic of the input given by the user
Technical Report – January 2006
5
IT@MIT
Development of Front End tools for Semantic Grid Services
which will be in the form of high level specification is properly interpreted by the proposed
system enabling semantic grid services.
2. Service Discovery in GT and its limitations
The Globus Toolkit’s Monitoring and Discovery System (MDS) defines and implements
mechanisms for service discovery and monitoring in distributed environments. Grid Computing
resources and services can advertise a large amount of data for many different use cases. MDS
has been specifically designed to address the needs of a Grid monitoring to publish data that is in
of use by multiple people across multiple administrative domains. It provides interface to more
detailed monitoring systems and archives, and can publish summary data using standard
interfaces [4][7].However, MDS is limited to semantic expressiveness for matching. MDS does
not fully support semantic descriptions of Grid services but only supports keyword based search,
so it is quite problematic to reflect the features of services. In such cases, the users need to know
the location of the service to access it. MDS supports traditional service matching which is done
based on symmetric, attribute based matching [21]. In these systems, the values of attributes
advertised by nodes are compared with those required by jobs. For the comparison to be
meaningful and effective, the node providers and consumers have to agree upon attribute names
and values. The exact matching and coordination between providers and consumers make such
system inflexible and difficult to extend to new characteristics or concepts. Moreover, in a
heterogeneous multi-institutional environment such as Grid, it is difficult to enforce the syntax
and semantics of node descriptions. Therefore, MDS neither offers expressive description
facilities, nor provide sophisticated matchmaking capabilities. Since, it is not offering any
mechanisms for semantic description of services, there is no specification defined in MDS4 for
semantic discovery of services and resources.
The PEG described in this project extends the capability of GT for semantic description
and representation of Grid services. The PEG allows the Grid Service provider to describe the
Grid Service ontology which can then be queried using suitable inference engine. The
architecture proposed in this project also addresses the problem of discovery of grid resources
semantically by providing a parameter matching algorithm for match making of services
requested against the available ones. Matchmaking using semantics is more accurate than a
Technical Report – January 2006
6
IT@MIT
Development of Front End tools for Semantic Grid Services
keyword-based search because the direct similarities are found suing inference logic, while the
keyword based searches can be vague and inaccurate. The algorithm compares the IOF
parameters of the advertised service with that of requested service and obtains various ranked
matching degrees that reveals how similar both the requested and advertised services.
3. Semantic Grid Services using PEG
The computing infrastructure for distributed scientific applications commonly referred to
as the “Grid” is only a part of much larger picture that also includes information handling and
support for knowledge processing within the distributed scientific process. This broader view is
adopted for semantic grid and is characterized as an open system in which users, software
components and computational resources come and go on a continual basis [11][12]. Hence there
should be a high degree of automation that supports flexible collaborations and computation on a
global scale. Moreover, this environment should be personalized to the individual participants
and should offer seamless interactions with both software components and other relevant users.
The PEG addresses the demands of a single toolkit to built Grid infrastructure as well as
for semantic description and representation of services. Currently, the concept of ontology is
widely used for conceptual representation of a particular domain and Web Ontology Language
(OWL) is used to develop ontology of a concept. Protégé editor is an OWL editor with which
one can easily create domain ontology. In PEG, the Protégé editor is integrated with Globus
Toolkit 4.0 and the capability of Globus Toolkit 4.0 is extended to enable semantic description
and representation of services by creating service ontology. We also propose an architecture
using PEG that includes a semantic component in the application layer. The parameter matching
algorithm implemented in semantic component performs matching of requested services with the
described one on the basis of IOF parameters. The Algernon inference engine is used in the
algorithm to interact with the knowledge base.
3.1 Layered Architecture of Semantic Grid using PEG
The layered architecture proposed for semantic grid services is as shown in the figure
3.1.1. It identifies the required components at different layer for the purpose and their
Technical Report – January 2006
7
IT@MIT
Development of Front End tools for Semantic Grid Services
capabilities. Each layer shares the behavior of the underlying component layers and they are
explained below.
Fabric layer
The Fabric layer deals with resources available in grid environment and it define the
interface to local resources, which may be shared. This includes computational resources, data
storage, networks, catalogs, software modules, and other system resources [3].
Grid Middleware Services
This layer incorporates Grid Middleware and we use PEG as Grid Middleware in this
research work. It also consists of required protocols for Authentication and Authorization which
is implemented using Grid Security Infrastructure provided by GT4.0.
High Level Grid Services
This layer uses the communication protocols to control, initiation, monitoring,
accounting, and payment for the sharing of functions of individual resources. This layer is
responsible individual resource management and also for all global resource management and
interaction with collections of resources. The other high level services included in this layer are
Information (MDS) and job management services (GRAM), data management services
(GridFTP). This layer also allows grid service provider to provide semantic meaning for the
services advertised in MDS registry using protégé integrated in the globus toolkit. The semantic
component present in this layer performs matchmaking of requested service against the
advertised ones. Various degrees of match are obtained by comparing IOF of the requested
service with that of described services. The IOF parameters from the service ontology is
retrieved using an Inference engine and is compared against the requested ones.
Application layer
The application layer enables the use of resources in a grid environment through various
collaboration and resource access protocols. The semantic portlet present at this layer enables the
service provider to register the service into the MDS registry and it prompts the provider to
describe the service semantically using Protégé editor. The portlet also enables the service
Technical Report – January 2006
8
IT@MIT
Development of Front End tools for Semantic Grid Services
requester to submit the query and semantic retrieval of information from the service ontology
using matchmaking algorithm implemented. In addition to that, this layer may also consist of
various application portlets to use grid resources and for access to the grid environment.
Semantic
Component
Protégé Enabled
Globus Toolkit
Fig 3.1.1: A layered architecture for semantic grid services using PEG
Technical Report – January 2006
9
IT@MIT
Development of Front End tools for Semantic Grid Services
3.2 Ontology
Ontologies are used to capture knowledge of a domain of interest. Ontology describes
the concepts in the domain and also the relationships that hold between those concepts [10]. The
most recent development in standard ontology language is OWL from the World Wide Web
Consortium. It makes it possible to describe concepts but it also provides a richer set of operators
such as and, or and negation. It is based on a different logical model which makes it possible for
concepts to be defined as well as described. Complex concepts can therefore be built up in
definitions out of simpler concepts [10][11].
According to Karlsruhe Ontology model [14,22], an ontology with datatypes is a
structure O:= (C, T, ≤C, R, A, σR, σA, ≤R, ≤A, I, V, tC, tT, tR, tA ) consisting of

Six disjoint sets C,T,R,A,I and V called concepts, datatypes, relations, attributes,
instances and data values respectively.

Partial orders ≤C on C called concept hierarchy or taxonomy and ≤T on T called
type hierarchy.

Functions σR : R→ C2 called relation signature and σA: A→CxT called attribute
signature.

Partial orders ≤R on R called relation hierarchy and ≤A on A called attribute
hierarchy, respectively.

A function tC: C→ 2I called concept instantiation.

A function tT: T→ 2V called datatype instantiation.

A function tR: R→ 2IxI called relation instantiation.

A function tA: A→ 2IxV called attribute instantiation.
Furthermore, the logical model allows the use of reasoner which can check whether or
not all of the statements and definitions in the ontology are mutually consistent can also
recognize which concepts falls under which definitions. The reasoner can therefore help to
maintain the hierarchy correctly. This is particularly useful when dealing with cases where
classes can have more than one parent.
Protégé is an integrated software tool used by system developers and domain experts to
develop knowledge based systems. The Protégé editor is developed by Stanford University and is
widely used for developing semantic web services [15].Applications developed with Protégé
Technical Report – January 2006
10
IT@MIT
Development of Front End tools for Semantic Grid Services
2000 are used in problem solving and decision making in a particular domain. This tool is used
to create ontology in many applications. Algernon is an inference engine that facilitates direct
interaction with Protégé knowledge bases (KBs) and supports access to multiple concurrent KBs.
Algernon commands not only retrieve and store slot values, but can also modify the ontology.
KB values can then be passed to external functions written in Java or LISP, or can execute UNIX
shell commands.
Protégé editor has Algernon inference engine as plug in and hence it becomes easy to
retrieve the knowledge from the service ontology created by Protégé editor. Algernon consists of
simple queries by which one can interact with the protégé knowledge base and retrieves
knowledge from it.
3.3. Protégé Enabled Globus Toolkit
The Protégé enabled Globus Toolkit allows the service provider to describe the service in
a semantic manner by creating Service Ontology using protégé editor. The resultant ontology file
with .owl extension is stored in protege directory inside Globus. This knowledge base can be
queried with the help of a suitable inference engine such as Algernon, pellet etc. Currently, there
is no tool available for converting the Web Service Description Language written for Grid
Service into OWL file. The WSDL2OWLS tool that comes with OWL-S package can convert
WSDL into OWL file [18] but it cannot convert the Grid WSDL into OWL. This is because the
WSDL written for a Grid Service is WSRF compliant and it will have WSRF specific elements
that cannot be recognized by the tool. Moreover, there are no standards for specifying
ResourceProperties in WSDL file as well as in the Service Ontology. Currently there is no
component in Globus toolkit to facilitate the Service Provider to describe the service
semantically. Since the MDS registry is built using UDDI v.2, it supports conventional keyword
matching of services and it is not possible to expect semantic searching and retrieval from
MDS4. Hence to semantically describe the services, we need to create ontology of grid service,
but currently MDS4 does not include any tool to create service ontology.
Hence, in this project, we integrated GT4.0 with Protégé to facilitate semantic description
and retrieval of service. An inference engine should be used to interact with the knowledge base
for retrieving information in a semantic manner and the protégé has Algernon inference engine
Technical Report – January 2006
11
IT@MIT
Development of Front End tools for Semantic Grid Services
as plug in [16]. The concept of ontology is widely used to describe a particular domain or
resources. It can also be used to describe web services and hence Grid services.
In our approach, the Grid Service Provider has to register the service with MDS registry.
For semantic description of services, the service providers use Protégé editor for creating Service
Ontology. The matchmaking algorithm implemented in this research work is based on the
experiences of matchmaking of semantic web services using OWL for Service (OWL-S).
4. Issues and difficulties in Matchmaking of Semantic Grid Services
Though OWL increases the level of expressiveness with a richer vocabulary but retaining
the decidability, it is primarily used to describe content. The next logical step is to describe the
semantics of services to improve their platform- and organization- independent interoperability
over the internet, an upper ontology for the description of web services named OWLServices
(OWL-S) has been introduced. Using OWL-S for the description of Web services can increase
the ability of computer systems to find eligible services autonomously [22]. This is important in
open environments where provided services can appear and disappear dynamically. Basically a
service provider describes his advertised services in an OWL-S compliant ontology and a service
requester queries for services with an OWL-S ontology expressing his requirements. In this
scenario, matching service descriptions of advertisements with requirements has the purpose to
select a suitable service among a set of available ones. Considering known matching approaches
that return mismatch or match, this selection process has some potential benefits.
4.1 Role of OWL-S in Matchmaking
OWL-S is thus an ontology that provides the necessary concepts and relations to describe
the general capabilities of web services. This includes representation of the information
transformation with Inputs and Outputs, and state transformation like Preconditions and Effects
normally referred as IOPE together.
Technical Report – January 2006
12
IT@MIT
Development of Front End tools for Semantic Grid Services
provides
Resource
presents
Service
describedBy
describedBy
Profile
ServiceGrounding
ServiceModel
Fig: 4.1.1: Top Level Ontology of OWL-S
OWL-S provides moreover a high level description of web services as shown in Figure
4.1.1. This top level ontology describes how a Resource is related to a Service, and subsequently
how the Service is related to the Profile, the Service Model and the service Grounding. In short,
the Profile contains information about what the service does, the service Model describes how
the service works, and the grounding describes how the service is accessed. Together, these three
concepts are designed to give a total picture of the capabilities of a service.
Matchmaking, in this context refers to capability matching which means to compare the
requested service description with the advertised service descriptions. The goal of this
comparison is to obtain information on how similar they are. This degree of similarity is used to
determine if the advertised service satisfies the requested capabilities. Comparing the requested
service description with the advertised service descriptions takes all the inputs and the outputs
into account. The inputs (I) and outputs (O) of the requested service description are compared to
those of the advertised service descriptions. In most of the matchmaking algorithm, only I and O
are considered for matching, because P and E are not sufficiently standardized to be considered
for Matchmaking algorithm. The profile defines a set of additional properties that are used to
describe the features of the service. From these properties, in addition to IOPE we can also use
the service category [19][22], which is used to classify the service with respect to some ontology
or taxonomy of services. On an optional basis, other properties can also be taken into account,
such as the element QualityRating, or custom defined properties, such as the duration of the
execution.
Technical Report – January 2006
13
IT@MIT
Development of Front End tools for Semantic Grid Services
4.2. Limitations of OWLS for Grid Services
The conventional match making for web services uses OWL-S descriptions for finding
out the degree of match. In this case, ProfileRDF properties point to the IOPE elements Input,
Output, Precondition and Effect. These properties can point to elements of an arbitrary
conceptualization. The OWL-S definition leaves open, whether the definition uses OWL or other
conceptualization languages. A matching algorithm can only support conceptualizations that are
covered by a reasoning functionality. Hence, we need to assume that the conceptualization is
provided in OWL, so that an OWL reasoner can determine a subsumption relation or the
equivalence of concepts. Apart from the IOPEs, a web service can be described by additional
elements like the service category etc., As found in the definition of the IOPE types, it is also left
open, whether the definition for service categories uses OWL or other conceptualization that are
covered by a reasoning functionality as well. Therefore, the conceptualization of additional
elements should also be provided in OWL. In our research work, we consider Functionality (F)
as a parameter in addition to Inputs and Outputs for semantic matchmaking of Grid Services
whose conceptualization is provided by service ontology described by the Grid Service provider
using PEG.
5. Parameter Matchmaking Algorithm
In this research, we introduce parameter matchmaking algorithm that computes the
degree of semantic matching of service advertisement (A) and request (R) by successively
applying different filters. The comparison is based on three parameters of the service namely the
Inputs, Outputs and Functionality (IOF) unlike Inputs, Outputs, Preconditions and Effects
(IOPE) in matchmaking using OWLS. The service ontology is created using protégé editor using
PEG and it should describe the Inputs, Outputs and Functionality to enable effective
matchmaking of services. The algorithm compares the IOF of the requested services with that of
advertised ones and computes the degree of matches by applying following five filters:Exact Match
Here the advertised IOF of the service are exactly matches with that of requested service.
A(IOF) ≡ R(IOF) → { A(I) ≡ R(I) ∩ A(O) ≡ R(O) ∩ A(F) ≡ R(F) }
Technical Report – January 2006
14
IT@MIT
Development of Front End tools for Semantic Grid Services
A≡R
Plug-in match
This is a weaker filter that guarantees that advertised service contains more functionality
than that of requested. It also guarantees that advertised service A requires less input that it has
been specified in the request R. In addition, service S is expected to return more specific output
data whose semantics is exactly the same or very close to what has been requested by the user.
A(IOF) ≥ R(IOF) → { A(I) ≥ R(I) U A(O) ≥ R(O) U A(F) ≥ R(F) }
A(IOF)
B(IOF)
A(IOF) ≥ R(IOF)
Subsumes match
This filter is more or less the reverse of plug in filter and it is weaker than plug in with
respect to the extent the returned IOF is more specific than requested by the user.
A(IOF) ≤ R(IOF) → { A(I) ≤ R(I) U A(O) ≤ R(O) U A(F) ≤ R(F) }
R(IOF)
A(IOF)
A(IOF) ≤ R(IOF)
Intersection
This filter reveals that not all the capabilities requested by the service matching with the
advertised capabilities.
Technical Report – January 2006
15
IT@MIT
Development of Front End tools for Semantic Grid Services
A(IOF) ∩ R(IOF
R(IOF)
A(IOF)
Disjoint
The requested service R does not match with the described service A according to any of
the above filters.
A(IOF) ≠ R(IOF) → { A(I) ≠ R(I) U A(O) ≠ R(O) U A(F) ≠ R(F) }
The algorithm starts with extracting IOF from the advertised service. Since, the ontology
knowledge base (KB) has been created using OWL, a reasoner can be used to retrieve the
information from KB. Here, we use Algernon inference engine to interact with KB and executes
different queries to retrieve IOF of the advertised service and stores it. The requested IOF is then
compared with that of IOF of the advertised service and degrees of match is obtained. The
algorithm consists of four stages as shown in the figure 5.1.
The tokenizer module receives the service requester query which will be in non-syntactic
format, eliminates unwanted information from the query and identifies IOF. The matchmaking
module performs comparison of IOF of the requested service R(IOF) with that of advertised A(IOF)
individually in three stages. The algorithm implements four different modules as shown in the
figure 5.1 to perform matchmaking and obtains degrees of match. The input matching module,
compares input parameter of Requested service R(I) with that of Advertised service A(I) and an
intermediate rank input_rank(Ir) is obtained. Similarly the output matching module and
functionality matching module obtains other intermediate ranks output_rank(Or) and
functionality_rank(Fr) respectively. All the intermediate ranks are combined together in
aggregate module and final ranked match is obtained. This final rank reveals the degree of match
and it also provides information about the service if the ranked degree of match is not disjoint.
Technical Report – January 2006
16
IT@MIT
Development of Front End tools for Semantic Grid Services
R(I)
A(I)
Input
Matching
R(O)
A(O)
R(F)
Output
Matching
Ir
A(F)
Functionality
Matching
Or
Fr
Aggregate
Module
Ranked Degree of Match
Fig 5.1: Ranked Degree of Match
6. Implementation of Semantic Grid Service using PEG
For testing and demonstration purpose, the proposed architecture is implemented and is
discussed in this section. It also discuss about various modules involved in this project including
creation of Grid service, service ontology creation, Service Provider module and also service
requester module.
6.1. Developing Grid Service
Grid Service can be developed using any of the available middleware that complements
Grid architecture. We use PEG which is based on Web Service Resource Framework
specification (WSRF) in this research work. A WSRF compliant Web Service Description
(WSDL) file that defines the interface for four different methods namely add, sub, multiply and
divide is written. The Request and Responses have been clearly defined and also the input and
output messages. We have also defined an interface that returns the result and one more interface
to receive the inputs. The JAVA programming language is used to implement the service. The
methods add, sub, multiply and divide, when invoked, will perform the respective operation on
both input values and returns the result to the client module.
Technical Report – January 2006
17
IT@MIT
Development of Front End tools for Semantic Grid Services
6.2. Creation of Service Ontology
The Grid service developed is deployed onto the globus container and registered in MDS.
However, MDS does not provide semantic meaning to the service, we need to create service
ontology to enable semantic discovery of services. We use protégé editor of PEG to describe this
service semantically and create service ontology as shown in the figure 6.2.1 series. The
ontology clearly describes the methods implemented in the service and also the service
parameters. It may also includes non-functional properties like contact person etc. The figure
6.2.1a shows the class-instance hierarchy of the grid service and also the general category to
which the service belongs. The figure 6.2.1b shows the object properties by which the classes
communicate between them. The figure 6.2.1c shows the various datatype properties of the grid
service described. The figure 6.2.1d shows the class hierarchy described for operations and their
instances. The figure 6.2.1e shows the class hierarchy described for parameters and their
instances.
Fig 6.2.1 a: Class-Instance Hierarchy of Service Ontology – TreeView
Technical Report – January 2006
18
IT@MIT
Development of Front End tools for Semantic Grid Services
methods_implemented (Domain –
GridService, Range –Operations)
isImplementedBy(Domain –Operations,
Range-GridService)
hasInput(Domain –GridService, Range –Input)
isUsedBy(Domain –Parameter, Range –GridService) Output
hasOutput(Domain –GridService, Range – Output)
Fig 6.2.1 b: Nested View of Service Ontology with Domain-range of object
property
Fig 6.2.1.c: GridService Class and its Instance with properties
Fig 6.2.1.d: Operations Class and its Instances with properties
Technical Report – January 2006
19
IT@MIT
Development of Front End tools for Semantic Grid Services
Fig 6.2.1.e: Parameter Class and its Instances with properties
6.3. Matchmaking Module
The algorithm starts from retrieving IOF from the advertised service from the ontology
KB. To interact with the knowledge base, several inference engines are currently available such
as Algernon, Pellet etc. Here, we use Algernon inference engine to query the KB and retrieve
IOF of the advertised service. A java program has been developed which uses AlgernonAPIs to
interact with service ontology KB. The IOF of the described service are retrieved by executing
appropriate algernon queries and stored in a separate data structure. The user query that carries
the service request is received from the user and IOF from the request is extracted. The algorithm
effectively eliminates unwanted information from the user request using tokenization concept.
The resultant core query is then compared with the concepts described and degree of match is
obtained.
Algorithm
1. Retrieve IOF parameters from the advertised service ontology (AIOF) by executing
Algernon query.
2. Extract IOF parameters from service requester’s query (RIOF).
3. Compute Ir
4. Compute Or
5. Compute Fr
6. Compute R, the ranked degree of match.
Technical Report – January 2006
20
IT@MIT
Development of Front End tools for Semantic Grid Services
7. Semantic Grid Portal
The GT4.0 is the reference implementation of WSRF specification of Grid Architecture. This
toolkit contains all packages for building a typical WSRF compliant Grid infrastructure. GT4
contains Resource Monitoring and Discovery Service that enables the registration of all Grid
services and to monitor. The service providers register their Grid Service into MDS registry of
the Globus Toolkit. But, it does not include any tool to describe the Grid Service semantically.
The PEG developed in this research project, enables the Grid Service Providers to describe their
services semantically and thereby allowing them to create corresponding Grid Service Ontology.
The semantic portlet developed using Gridsphere [17][18] allows the service requester for
semantic discovery of services.
The service provider registers the Grid service in MDS registry and uses Protégé to create
corresponding service ontology and stores the resultant .owl file inside the protégé directory. The
interaction diagram for service provider to develop a Semantic Grid Service is as shown in the
figure 7.1.
Fig: 7.1: Sequence diagram for Service Provider
It prompts the requester to submit the query and the tokenizer module extracts IOF from
the query eliminates irrelevant information by parsing the query. The semantic component uses
algernon inference engine to retrieve IOF from the grid service ontology. It then compares the
IOF of the requested service with that of the described one and obtains ranked degree of match.
Technical Report – January 2006
21
IT@MIT
Development of Front End tools for Semantic Grid Services
The component delivers additional information along with degree of match and enables the
requester to invoke the service. The interaction diagram for service requester for semantic
discovery of service is shown in the figure 7.2.
Fig: 7.3: Sequence Diagram for service requester
Fig 7.2: Sequence diagram of service requester
The result contains enough information about the service including the AccessURI
thereby enabling the requester to invoke the service. A separate user interface prompts the
requester to submit the needed inputs to invoke the service. The WSRF compliant client receives
the input values from the user and calls the respective method to perform the requested operation
and displays in the interface.
8. Experimental Results
The user interface for semantic discovery of services and for matchmaking of advertised
and requested service is developed using Gridsphere framework [17]. Various inputs have been
given to the algorithm and the results are obtained accordingly. In this section, we have
presented some of the snapshots of our experimental results that depict the rank of the match for
the input given to the algorithm. The service implemented in our testing purpose has four
different arithmetic operations namely addition, subtraction, multiplication and division. The
user’s query is matched against these operations and ranks of the match are computed. The figure
8.1 shows the input for which plugin match have been obtained.
Technical Report – January 2006
22
IT@MIT
Development of Front End tools for Semantic Grid Services
Fig 8.1: A plugin match
The figure 8.2 shows the inputs for which exact match have been obtained.
Fig 8.2: An Exact match scenario
Technical Report – January 2006
23
IT@MIT
Development of Front End tools for Semantic Grid Services
The figure 8.3 shows the inputs for which intersection match have been obtained
Fig 8.3: A Scenario of Intersection match
The figure 8.4 shows the input for which disjoint match have been obtained.
Fig 8.4: A disjoint match scenario
Technical Report – January 2006
24
IT@MIT
Development of Front End tools for Semantic Grid Services
9. Experience with WSMX
In this section, we describe the new and emerging technology for developing semantic
web service named Web Service Execution Environment (WSMX). It is an execution
environment for dynamic discovery, mediation and invocation of web services based on the Web
Services Modeling Ontology (WSMO). We give a brief introduction about various aspects of
WSMX in this section and also describe our experience with WSMX while developing semantic
web service and its dynamic invocation.
9.1 Web Service Modeling eXecution Framework
The Web Services Modeling Execution Environment (WSMX) [24] is an execution
environment for dynamic discovery, mediation and invocation of web services. WSMX is based
on the Web Services Modeling Ontology (WSMO).an ontology for describing various aspects
related to Semantic Web Services. So far web services are mostly hard-wired into the provider's
software and their abilities are not too sophisticated. Their main drawback is lack of semantic
description and because of that it is difficult to perform automatic or semi-automatic service
retrieval. WSMO aims to change this situation in order to fully enable web
Fig 9.1.1: The Architecture of WSMX
Technical Report – January 2006
25
IT@MIT
Development of Front End tools for Semantic Grid Services
service functionality through adding semantic means that will result in web services vast
proliferation. WSMX is a reference implementation and test bed environment for WSMO. Web
Services Capability Description are stored in the WSMX repository and they are described in
terms of logic expressions so they can be derived from. When service request (Goal) is sent to
WSMX, then WSMX components start to perform their actions. The figure 9.1.1 shows the
architecture of WSMX and its components are explained in brief as follows:Message Adapters: These components are in fact external to the WSMX architecture, but as long
as back end applications do not offer a WSMO API they are essential for connecting any kind of
back-end application to the WSMX server. The Message Adapters allow transforming from any
message format (e.g. RosettaNet, UBL, EDIFACT, ANSI X12, xCBL etc.) to the expected
WSML message format.
User Interface (WSML Editor): This component is used by the service provider to create the
description of the Web Services, Ontologies, Mediators and Goals.
Communication Manager: The Communication Manager has a twofold purpose. On the one
hand it provides an interface to the Adapters to accept and send WSML messages and on the
other hand it is responsible for translating the message into whatever data representation is
required by the external entity to be invoked. This translation is often referred to as ‘lowering’.
To do so the Communication Manager interprets the interface part of the WSMO service
description to determine which binding is necessary for the service. Where it is not fixed, the
transport protocol and associated security required for communicating with the external entity
may also be selected. After invocation the Communication Manager is responsible to translate
the message received from an external entity using any data representation to WSML. This
translation is often called ‘lifting’.
WSMX Manager: This component is the coordinator within the architecture. Although it is not
an essential component to describe the use cases, it is mentioned here because it denotes the
Service Oriented Architecture (SOA) approach of WSMX. All data handled inside WSMX is
internally represented as a notification with a type and state. The WSMX manager manages the
processing of all notifications by passing them to other components as appropriate.
Ontology Repository: WSMX will offer the management of capability descriptions stored in a
repository. This repository could be centralized or decentralized, whereas this use case and the
Technical Report – January 2006
26
IT@MIT
Development of Front End tools for Semantic Grid Services
current architecture only scopes with a decentralized repository in each WSMX. These
repositories are designed to store, search, retrieve and manage WSMO descriptions of Semantic
Web Services. Within this document the name Capability Repository is synonymously used for
Ontology Repository.
Matchmaker: WSMX will offer a set of usable Semantic Web Services by matching capabilities
stored in the repository with the goal provided by the user. In subsequent versions WSMX will
even be capable to fulfill goals by a composition of the capabilities of several Semantic Web
Services. In both cases the result of the Matchmaker can be zero, one or many Web Services.
Mediator: WSMX will offer mediation of communicated data. The mediation component tries to
determine a Mediator for a request in case this is necessary. This mediation can be between two
or more ontologies in the matchmaking process and the opposite way after invocation to mediate
between the instance data of a known ontology provided by the executed Web Service to the
required data in the invoking application. Another application of Mediators would be the
mapping between the data provided in the input of the goal to the actual required input of the
Web Service.
Choreography Engine: The choreography of a Web Service defines its communication pattern,
that is, the way a requester can interact with it. The requestor of the service has its own
communication pattern and only if the two of them match precisely, a direct communication
between the requestor and the provider of a service may take place. Since the clients
communication pattern is in general different from the one used by the Web Service, the two of
them will not be able to directly communicate, even if they are able to understand the same data
formats. The role of the Choreography Engine is to mediate between the requester's and the
provider's communication patterns. This means to provide the necessary means for a runtime
analyses of two given choreography instances and to use Mediators to compensate the possible
mismatches that may appear, for instance, to generate dummy acknowledgement messages, to
group several messages in a single one, to change their order or even to remove some of the
messages in order to facilitate the communication between the two parties.
Technical Report – January 2006
27
IT@MIT
Development of Front End tools for Semantic Grid Services
9.2 Web Service Modeling Ontology
The Web Service Modeling Ontology [WSMO] along with its related efforts in
the WSML [WSML Working Group] and WSMX [WSMX Working Group] working groups
presents a complete framework for Semantic Web Service, combining Semantic Web and Web
Service technologies [23]. The Web Service Modeling Language (WSML) is a formalization of
the WSMO ontology, providing a language within which the properties of Semantic Web
Services can be described. The objectives of the WSMO are to:
Apply WSMO technologies for Semantic Web Services.

Specify Semantic Web Services with WSMO.

Correctly assess technologies, products, and development within Semantic Web and
Web Service technologies.
The WSMO is ontology for describing Semantic Web Service. WSMO is based on the Web
Service Modeling Framework (WSMF).WSMF consists of four different main elements for
describing semantic Web services:
Ontologies provide the terminology used by other WSMO elements. Goals represent user
desires, for which fulfillment could be sought by executing a Web service. Ontologies can be
used for the domain terminology to describe the relevant aspects. Web services describe the
computational entity providing access to services that provide some value in a domain. These
descriptions comprise the capabilities, interface, and internal working of the web service.
Mediators resolve interoperability problems between different WSMO elements. Mediators are
the code concept to resolve incompatibilities on the data process and protocol level i.e., in order
to resolve mismatches between different used terminologies (data level), in how to communicate
between Web services (protocol level) and on the level of combining web services. There are
four different mediators as listed below:
OOMediators-import the target ontology into the source ontology by resolving all the
representation mismatches between the source and the target.

GGMediators-connect goals that are in relation of refinement and resolve mismatches
between those.

WGMediators-link Web services to goals and resolve mismatches.

WWMediators-connect several Web services for collaboration.
Technical Report – January 2006
28
IT@MIT
Development of Front End tools for Semantic Grid Services
The aim of WSMO is to solve the integration problem by describing Web Services
semantically and by removing ambiguity about the capabilities of a Web Services and the
problems it solves.
9.3 Web Services Modeling Toolkit
The Web Services Modeling Toolkit (WSMT) is a framework for the rapid creation and
deployment of homogeneous tools for Semantic Web Services [25]. A homogeneous toolkit
improves the users experience while using the toolkit, as the tools have a common look and feel.
Usability is also improved as the user does not need to relearn how to use the application when
switching between tools. The WSMT enables developers of tools to focus on the tool's
functionality and provides the framework within which they can be deployed and executed. The
WSMT is implemented in the Java programming language in order to benefit from its multiplatform support and the existing Java libraries available for Semantic Web technologies, for
example WSMO4J3. Using the WSMT frame-work does not require the user to learn any new
technologies. This can be a problem with other frameworks like Eclipse4, which uses a different
graphical library (IBM's SWT - The Standard Widget Toolkit) than most Java users are
accustomed to (Sun's Java Swing library).
Fig 9.3.1: Architecture of the WSMT
Technical Report – January 2006
29
IT@MIT
Development of Front End tools for Semantic Grid Services
The figure 9.3.1 shows the architecture of the Web Services Modeling Toolkit, which
consists of three tiers. The first tier contains the compact launcher, the second contains the core
and the third contains the individual plug-ins. Each tool is implemented as a plug-in to the
WSMT framework. Deploying the tool into the framework is just a matter of compiling the plugin into a jar file, which implements a number of interfaces, and placing the jar file, along with
any third-party jars used, into the lib folder of the WSMT installation. This means that new tools
can be deployed into the application without the requirement of recompiling the application.
Building the classpath dynamically is a major issue when developing applications where it is not
known in advance what jar files will be in the classpath. When executing an application in unix
environment, scripting can be used to build this classpath. However, this is only possible in
operating systems where scripting is supported. The job of the launcher is to build the dynamic
classpath. It does this by locating all jar files in the lib folder of the WSMT installation and
building a dynamic classloader. This classloader is then used to launch the WSMT core. The
WSMT core is responsible for supplying the 'glue' code to the plug-ins (tools), providing the
main application frame, the menu bar, and the configurations for multi-language localization.
The core loads all the available tools by searching for plug-in description files in the lib folder of
the WSMT installation. Each description specifies a unique identifier and the class that the core
should instantiate in order to load the plug-in. This class must implement the Plugin interface,
which allows access to the plug-in itself. The WSMT is wrapped in a full installation system,
which allows the end user to choose the tools that are installed during the installation process. A
fully private Java 1.5 run-time environment is also installed, which means there is no
dependency on the user to install any third-party software. A third-party tool provider can choose
to supply their own tool for inclusion in the WSMT installation or provide their own installation
for their tool.
9.4 Implementation Issues and Difficulties with WSMX
With the knowledge of the WSMX environment, we developed a MathService and it is
described semantically using WSMO. The WSML editor is used to create ontology and the
concepts are described clearly as shown in the figure 9.4.1. The service implements an adder
method that performs addition of two integers and returns an integer as output.
Technical Report – January 2006
30
IT@MIT
Development of Front End tools for Semantic Grid Services
Fig 9.4.1: Service Ontology using WSMO
The WSMX environment provides an interface named WSMX invoker with which one
can invoke and access the service.
Fig 9.4.2 a: WSMX invoker providing input-one
Technical Report – January 2006
31
IT@MIT
Development of Front End tools for Semantic Grid Services
Fig 9.4.2.b: WSMX invoker providing input-two
Fig 9.4.3: WSMX invoker returning output
Technical Report – January 2006
32
IT@MIT
Development of Front End tools for Semantic Grid Services
The figure 9.4.3 shows the WSMX invoker returning output to the requester. The WSMX
environment communicates with the service through messages. The figure 9.4.3 clearly shows
the response message received from the service. There is no agreement on a stable Reasoner
interface so far. Once work on WSMO reasoner implementation will finalize, its interface will
become standardized through WSMX infomodel. It is also mentioned in the website of WSMO
that the latest version will be having reasoning feature which will be based on FLORA-2.
9.5 FLORA-2
FLORA-2 is a sophisticated object-oriented knowledge base language and application
development platform. It is implemented as a set of run-time libraries and a compiler that
translates a unified language of F-logic, HiLog and Transaction Logic into tabled Prolog code.
Applications of FLORA-2 include intelligent agents, Semantic Web, ontology management,
integration of information and others. The programming language supported by FLORA-2 is a
dielect of F-logic with numerous extensions, which include a natural way to meta-programming
in the style of HiLog and logical updates in the style of Transaction Logic. FLORA-2 was
designed with extensibility and flexibility in mind, and it provides strong support for modular
software design through its unique feature of dynamic modules. FLORA-2 is distributed in two
ways. First, it is part of the official distribution of XSB and thus is installed together with XSB.
Second, a more up-to-date version of the system is available in http://flora.sourceforge.net
A simple FLORA-2 program
// Load this into module
john[name->'John'].
john[age->33].
john[salary->111111].
The above file will be having filename extension .flr. The query to interact with their
program and the respective output is shown below.
flora2 ?- john[name->Y].
//query
This query will retrieve the name of john and store in the variable 'Y'. as follows:Y = john
1 solution(s) in 0.0000 seconds on g03.grid
Yes
flora2 ?-
Technical Report – January 2006
33
IT@MIT
Development of Front End tools for Semantic Grid Services
9.6 Issues and Difficulties
The difficulties we faced while working with WSMX environment is its inability to
support linux in the latest development releases. The latest stable release WSMX 0.1 is based on
Eclipse framework and is does not support linux operating system. Even, in the latest version, the
inference engine is not integrated with the WSMX environment. We communicated Mike
Kerrigen, the pioneer of WSMX environment and he promised that their developer group will
concentrate in the new stable release with full support to Linux operating system. With these
limitations, we found there is no possibility of working with current release of WSMX
environment in Linux and work is temporarily suspended.
10. Conclusion
In this project, we extended the capability of Globus Toolkit 4.0 by integrating Protégé
ontology in it. This feature facilitates the Grid Service Provider to describe their service
semantically and enables semantic discovery of service.
A MathService is described
semantically and illustrated for semantic discovery. A semantic matchmaking algorithm is
introduced that performs matchmaking of services on the basis of IOF parameters. The user
interface for semantic description and retrieval is developed as a portal enabling the user to
interact easily with the grid environment. Various requests has been given as input to the
semantic component module and ensured its proper functioning. For services involving less
complexity may be available as semantic grid services using our proposed architecture. It can
further be extended to develop a framework for semantic grid services including complex
services. We also discussed our experience with WSMX environment to develop semantic web
applications and its limitations.
Technical Report – January 2006
34
IT@MIT
Development of Front End tools for Semantic Grid Services
References
1. Foster, I. and Kesselman, C. (eds), “The Grid: Blueprint for a New Computing
Infrastructure”,
Morgan Kaufmann, 1999, 259-278.
2. Foster, I. Kesselman, C. and Tuecke, S, “The Anatomy of the Grid: Enabling Virtual
Organizations”, International Journal of High Performance Computing Applications, 15(3),
200-222, 2001.
3. Foster, I., Kesselman, C, Jeffrey M. Nick, Steven Tuecke,
“The Physiology of the Grid: An
Open Grid Services Architecture for Distributed Systems Integration”, A Draft Document,
Version: 6/22/2002
4. www.globus.org/toolkit/mds
5. Borja Sotomayer, “The Globus Toolkit 4.0 Programmers Tutorial”, 2005. www.casasotomayer.net/gt4-tutorial.
6. Ian Foster, “A Globus Primer: Describing Globus Toolkit Version 4: August 2005.
7. www-128.ibm.com/developerworks/grid/library/gr-mdsgt4
8. Daconta, Obrst, Smith. “The Semantic Web: A Guide to the Future of XML, Web
Services, and Knowledge Management”, Wiley Publishing, Inc. 2003.
9. Grigoris Antoniou and Frank van Harmelen, “A Semantic Web Primer", The MIT Press,
2004.
10. OWL Web Ontology Language Overview. W3C Recommendation 10 February 2004
11. Berners-Lee,T., Hendler,J. and Lassila, O. “The Semantic Web”, Scientific American,
May 2001.
12. David De Roure, Nicholas R. Jennings and Nigel R. Shadbolt, “The Semantic Grid: Afuture
e-Science Infrastructure”, Grid Computing – Making the Global Infrastructure a reality, John
Wiley & Sons, Ltd, 2003.
13. M.Li, P.Van Santen, D.W.Walker, O.F.Rana, M.A.Baker, “SGrid: a service-oriented model
for the Semantic Grid”, Future Generation Computer Systems 20, July 2004, PP 7-18
14. Stumme, G., Ehrig, M., Handschuh, S., Hotho, A., Maedche, A., Motik, B., Oberle, D.,
Schmitz, C.,Staab, S., Stojanovic, L., Stojanovic, N., Studer, R., Sure, Y., Volz, R.,
Zacharias, V., “The Karlsruhe view on ontologies”, Technical report, University of
Karlsruhe, Institute AIFB (2003)
Technical Report – January 2006
35
IT@MIT
Development of Front End tools for Semantic Grid Services
15. Matthew Horridge, Holger Knublauch, Alan Rector, Robert Stevens, Chris Wroe, "A
Practical guide to building OWL ontologies Using The Protege-OWL Plugin and COODETools Edition 1.0, The University of Manchester, Stanford University, August 2004.
16. http://algernon-j.sourceforge.net/tutorial/
17. JSR – 000168 Portlet Specification(final release), 2003.
18. Dean, M. (ed.), “OWL-S: Semantic Markup for Web Services”, Version 1.1 Beta, 2004
19. Micheal C. Jaeger, Gregor Rojec-Goldmann, Christoph Liebetruth and Kurt Geihs,
“Ranked Matching for Service Descriptions using OWL-S”, 2004.
20. Foster, I., Frey, J., Graham, S., Tuecke, S., Czajkowski, K., Ferguson, D., Leymann, F.,
Nally, M., Sedukhin, I., Snelling, D., Storey, T., Vambenepe, W. and Weerawarana, S.
“Modeling Stateful Resources with Web Services”, www.globus.org/wsrf, 2004.
21. YeZhang and William Song, “Semantic Description and Matching of Grid Services
Capabilities”.
22. Jyotishman Pathak, Neeraj Koul, Doina Caragea, Vasant G Honavar, “A Framework for
Semantic Web Services Discovery”, ACM, 2005.
23. D. Roman, H. Lausen, U. Keller (eds.):, “Web Service Modeling Ontology (WSMO)”,
http://www.wsmo.org/TR/d2/
24.M.Zaremba, M.Moran,“WSMX Architecture”, http://www.wsmo.org/TR/d13/d13.4/v0.2/
25.M.Kerrigan, “Web Services Modeling Toolkit (WSMT)”,
http://www.wsmo.org/TR/d9/d9.1/v0.1/
Technical Report – January 2006
36
Download