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