Distributed Discovery and Invocation of Web

0 downloads 0 Views 541KB Size Report
capabilities, we propose a conceptual classification of computing entities on the basis of their ... (since 2004) at the. Norwegian University of Science and Technology (NTNU), Trondheim .... Key notes of our work are: • Decentralized control.
International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184

171

Distributed Discovery and Invocation of Web Services in Infrastructure-less Dynamic Environments Abdul Haseeb, Mihhail Matskin and Peep Küngas

Abstract—Mobile autonomous systems such as robot swarms or mobile software agents operate in a dynamic environment pertaining self-organization, self-configuration and heterogeneity of computing entities. In such settings there is a need for autonomic publishing and discovery of resources and just-in-time integration for on-the-fly service consumption without any a priori knowledge of available services both with-in the execution environment and from the outside world. For enabling these capabilities we propose a mediator-based distributed Web services discovery and invocation middleware - a collaborative and decentralized services discovery and management middleware for infrastructure-less mobile dynamic systems with heterogeneous communication capabilities. Moreover, we present experimental validation of proposed middleware on a robot swarm simulation environment. To cope with heterogeneity of communication capabilities, we propose a conceptual classification of computing entities on the basis of their communication capabilities and a conceptual overlay formation for query propagation in system. Our approach is based on the notion of loose coupling in terms of space and time and usage of both Internet-based communication and lower-level RDF-based communication via message mediators/post-boxes between entities when direct communication between entities is not possible. Index Terms — Semantic Middleware, Distributed Web Services Discovery and Invocation, Web Services and Robotics, RFID Web Services, Robot Swarm Interaction.

I. INTRODUCTION

M

obile autonomous systems like robot swarms or mobile software agents often operate in a dynamic environment which pertains self-organization, self-configuration and Manuscript received December 5, 2008. Abdul Haseeb is currently a PhD candidate (since 2007) at the Department of “Electronics, Computer and Communication Technology” (ICT) at “Royal Institute of Technology” (KTH) in Stockholm - Sweden (e-mail: [email protected]). Mihhail Matskin is currently professor of software engineering (since 2002) at the Department of Electronics, Computer and Software Systems of the School of Information and Communication Technology at the Royal Institute of Technology (KTH), Stockholm and adjunct professor (since 2004) at the Norwegian University of Science and Technology (NTNU), Trondheim (e-mail: [email protected]). Peep Küngas is currently a post-doctoral fellow (since 2007) at the Department of Microelectronics and Information Technology of the Royal Institute of Technology, Kista, Sweden (e-mail: [email protected]).

heterogeneity of computing entities [9]. Efficient operation of such mobile autonomous systems relies on seamless knowledge sharing, communication and collaboration with other entities both inside and outside the environment. This puts forward requirements for open environments with autonomic and decentralized publishing and discovery of services and just-in-time integration for on-the-fly service consumption. The services can be provided both within and outside the environment in the external world [11]. In the last case the external environment provides a programming logic for the mobile systems [12, 13]. It is important to mention that in such infrastructure-less heterogeneous environments interoperability issues are easy to arise due to heterogeneity in used application middleware and hardware, different APIs and programming languages. Furthermore, no assumption can be made about homogenous communication capabilities of the environments [10]. This puts forward requirements to integration and interoperability in the infrastructure-less autonomous systems. We believe that platform- and language-agnostic abstraction layer, as suggested by Web services, can provide a mature solution for these problems. Web services technology focuses on loose coupling, yet focus on semantics of communication is needed for seamless integration [36]. Ontologies on the other hand are becoming a clear solution to overcome the problems of semantic heterogeneity [37, 38]. Usage of external functionalities as Web services to serve resource-constrained devices was earlier proposed by Ronny et al [11]. The reverse approaches have been proposed by Laurentiu [14] and Joshua [15], who applied Web services on robotics in order to facilitate cooperation between robots for joint tasks execution and robot control. Our goal is to extend and generalize these approaches to an infrastructure-less mobile dynamic environments as robot swarms Web services are generally exploited in stable client-server networks, where service registries [28] are used for discovering required services. However, in case of infrastructure-less dynamic environments, existence of centralized control/registries can not be assumed. This leads to issues of keeping an updated view of available services and providing reliable service discovery. Furthermore, lack of stable connectivity [31, 9] and heterogeneous communication

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 capabilities [9] puts forward the requirement to use mediator-based communication [19]. In this paper we present a mediator-based distributed Web services discovery and management middleware which is primarily targeted for robot swarms. However, the proposed principles can be applied to any infrastructure-less dynamic environment. In our solution dynamic environment and computing entities are abstracted to a P2P system and a conceptual classification of entities according to their communication capabilities is used. We assume that the physical environment has “mailboxes” (RFID tags or some other type of mediator entities), which can be used for communication when point-to-point communication between entities is not possible. Our approach provides a loose coupling in terms of space and time and overcomes the shortcomings of availability of both service requesters and service repositories at the same time [34]. The rest of the paper is organized as follows. First, in Section 2, we compare our approach to existing distributed UDDI and decentralized Web services directory solutions and give a motivation for such a solution. In Section 3, we present the general communication architecture; semantic middleware for entity interaction through Web services. Section 4 delves into details and basic principles of mediator-based distributed Web services discovery and invocation middleware (here after referred to as Message Transport Layer – MTL). Section 5 explains further our approach by using an explanatory example and our realization of MTL [16]. In Section 6 we elaborate our experimental scenarios and in section 7 we conclude with ongoing work and future directions.

II. DECENTRALIZED WEB SERVICES SOLUTIONS AND MISSING BITS IN LITERATURE

One of the most compelling arguments of SOA (Service-Oriented Architecture) is the reuse and sharing of services between different entities. Web services (a SOA manifestation) achieve these objectives using clearly defined standards of WSDL (Web services Description Language), SOAP (Simple Object Access Protocol) and UDDI (Universal Description Discovery and Integration). Among these standards UDDI [28] provides mechanisms for service publishing and discovery using a centralized registry, a directory for publication and discovery of categorized Web services. In principle UDDI serves two main purposes; 1. To receive the Web service publications from service providers 2. To search the UDDI registry for available services which satisfy user’s needs/query. Traditional centralized resource management frameworks have limitations both in their fault tolerance and scalability

172

[29]. The biggest criticism of Web services from distributed computing standpoint is its reliance on centralized service repositories [1]. UDDI is the de facto standard for Web services discovery and invocation, but tight-replication requirements among service registries, and lack of autonomous control has severely hindered the widespread usage of UDDI [26]. On the contrary P2P (Peer-to-Peer) networks [4, 5] promise high availability of published content, optimized use of network resources, content distribution cost and scalability using decentralized architectures. Towards synergizing P2P networks and Web services, Benatallah et al [21] proposed a declarative dynamic composition and execution framework for Web services in P2P networks. But their work did not consider the Web service publishing and discovery in P2P networks, which is the primary aspect to overcome the scalability issues. Sujata et al [25] proposed DUDE (Distributed UDDI Deployment Engine) to address the scalability issues with UDDI. DUDE proposed the leveraging of structured DHT (Distributed Hash Table) [4], a P2P system that forms a structured overlay, allowing more efficient routing than the underlying network, as a rendezvous mechanism between different registries. In their approach service description message dispersion to several distributed UDDI registries promote scalability and replication. But such an approach can not cope with dynamism, mobility and scenarios where inter-communication between entities is not possible in a point-to-point fashion. Similarly Zhenqi et al [22] proposed Web services architecture based on a P2P network (built on top of JXTA). They proposed a classification of peers on the basis of computation power and memory into Service-peers and Super-peers, with Super-peers responsible for publishing of Web services, query routing and formation of peer-groups for Service-peers. Such architecture assumes homogenous communication capabilities of peers, which can not be considered in heterogeneous environments such as robot swarms. Moreover, since we do not consider a full coverage of an entity, of rest of the network and mobility of entities can restrict the communication coverage of an entity. Towards establishing a federation of UDDI registries into different business domains or communities, Emil et al [24] proposed an approach for abstract meta-data based classification of community registries with one root/centralized registry for communities. In a similar approach Mike et al [30] proposed a federated architecture for P2P Web services, in which a federation for UDDI-enabled peer registries is employed in a decentralized fashion. Publishing of Web services was done on centralized UDDI peer registries and then peers join service syndication. Such federated approaches suffer from single point of failure. Zongxia et al [27] proposed the notion of an active and distributed service registry (ad-UDDI), an active monitoring mechanism enabled UDDI to maintain periodic service information. They considered a layered approach for

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 distributed UDDI registry into a management root layer, a business layer comprising of domain specific ad-UDDI registries and a service layer. Towards infrastructure-less environments, Maamar al [31] proposed mechanism for dynamic management of distributed UDDI in the absence of wired communication infrastructure. They introduced the notion of Messenger (a mobile user with a user-agent) which, upon reaching the vicinity of some UDDI, updates the Web service descriptions it has cached already for user needs. Exchange of information depends upon ad-hoc nature of network and occurs when a user enters a new cell i.e. a network coverage area. Proposed environment of Zakaria et al [31] suits best the requirements of poorly reliable and unpredictable coverage feature of communication infrastructure, but their approach did not consider the use of mediator entities [19] and moreover message routing aspects were not taken into consideration. To summarize the missing bits in research, to the best of our knowledge, there is a missing gap in existing work for Infrastructure-less and mobile dynamic systems. Moreover most of the existing work considers homogeneous communication capabilities of entities comprising a system. Following aspects have been overlooked in existing decentralized Web services solutions: • Service description dispersion in a distributed way • Change in environments and mobility of entities • Inability of entities to communicate in a point-to-point fashion (need for usage of mediators) • Partial coverage of entities in rest of the network/entities due to their mobility and constrained communication capabilities • Adaptive protocols/various levels of communication to cope with heterogeneity in communication capabilities of entities. Our research focuses on these aspects and tries to overcome the limitations of existing work in our proposed mediator-based middleware. General objectives of this branch of research are to create a flexible and open distributed knowledge environment for self-configurable, low-cost entities operating in dynamic environments with no assumption about their communication capabilities. One example of such environments is a community of robot swarms, which are attributed by heterogeneous communication capabilities of robots (i.e. few robots can communicate wirelessly in a point-to-point fashion, while the others need mediators for communication). Apart from communication heterogeneity the operational environment is attributed by dynamism (unreliable nature) i.e. during system execution no guarantee can be given about the successful communication between two entities. Moreover, mobility contributes to partial coverage of entities of rest of network, or entities being out of communication coverage. Key notes of our work are:

• • • •

173

Decentralized control Heterogeneity in knowledge representation Un-guaranteed communication, and Ability to operate heterogeneous communication capabilities of entities in a system

We propose a distributed data environment, based on intelligent inter-entity communication and a global database solution for knowledge reuse. Decentralization of control and local manipulation of entities contributes to scalability of the system. We exploit Web services standards for exposing entities’ functionality to outside world (thus abstracting each entity to a web service interface). Our proposed and developed middleware uses mediator-based communication for entities, which are unable to communicate in point-to-point fashion to other entities. Our conceptual classification of entities according to their communication capabilities enables us to use various levels and views of communication. One of the assumptions of our middleware is that the physical environment is equipped with some sort of mediator entities (for instance RFID tags). Our approach provides a loose coupling in terms of space and time and overcomes the shortcomings of availability of both service requesters and service repositories at the same time [34]. In the Section 3 we first present a general and broader architecture for entity interaction through Web services and then we delve into a more detailed discussion of mediator-based distributed semantic Web services middleware in Section 4. III. SEMANTIC ARCHITECTURE FOR ENTITY INTERACTION THROUGH WEB SERVICES

In this Section we discuss briefly our general semantic architecture and communication support for infrastructure-less and mobile dynamic systems such as robot swarms [9]. For a more elaborated discussion on this matter please refer to [17]. The general architecture does not highlight the aspects of in-focus research, as mentioned in our motivation, but provides an insight to the general goals of interoperability which we want to achieve. To support effective, flexible and loosely coupled system integration, there is a need for an architecture with loose coupling and semantics to deal with semantic heterogeneity among entities and systems. Interoperability between autonomous mobile systems relies on effective and seamless knowledge sharing and communication. In such systems [9] each entity plays a specific role according to external environmental context [39, 40, 41, 42 and 43], resulting in different view sets of information and domain. Moreover, heterogeneity of entities with varying capability sets emphasizes further on semantic consistency [44] between entities and environment and among entities themselves.

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 Furthermore, only by re-using external functionality [11] and symmetric invocation from outside world, we can achieve an open system. In order to support this we employ standard solutions based on Web services technology. According to this view entities are seen as Web services accessible from the environment. In other words, functionality of entities is exposed as Web services and different applications may invoke such services whenever needed. Symmetrically, entities can also access external functionality or information.

174

Web services. • Communication Gateway (CG) routes knowledge messages to entities or external Web services. Global servers can also access specific entities via CG-s. Thus CG works in both directions: o It locates entities where to send messages from servers; o It locates servers where to deliver messages by using configured network connections. • The Web services ecosystem consists of Web services middleware together with an extensible set of Web services (together with their descriptions). It also includes some knowledge-based reasoning components such as Web services gateway. • Web Services Gateway (WSG) is a part of Web services ecosystem. Its task is to discover, bind together and execute public Web services. The gateway also allows addressing specific entities as Web services. WSG manages its internal directory where semantically enriched (through SAWSDL references) Web services descriptions can be published, discovered, orchestrated and deployed. Descriptions of the objects, referred in SAWSDL attributes, are stored at GKB, the objects, referred in SAWSDL attributes, are stored at GKB. IV. MEDIATOR-BASED DISTRIBUTED WEB SERVICES MIDDLEWARE

Figure 1: Semantic Architecture for Entity Interaction through Web services

The architecture, based on ontologies and Web services, provides a simple and unified access to entities/system’s functionality. However, poor computational and service discovery capabilities of robots require some sophisticated mechanism for service discovery and their provision from the entities. Our general architecture of semantic middleware is presented in Figure 1. Its main components are: • Global Knowledge Base (GKB) stores ontologies, which bind together entities’ internal data with external knowledge. The ontologies describe the main internally and externally used concepts together with relations between them. External knowledge is applied also to describe semantically available external Web services. The latter simplifies location and orchestration of required Web services while automating aggregation of required data. • Information in Local Knowledge Base (LKB) is used by entities’ behaviors, which constantly write new internal knowledge and read externally acquired knowledge from there. LKB is thus not only used as a communication channel between entities’ behaviors, but also between entities’ behaviors and external knowledge sources and

Web services abstraction layer allows applications and entities to communicate in a programming language- and platform-agonistic manner and has developed into a mature solution for providing interoperability between heterogeneous computing entities. Peer services [20] and Web services are the most referred technologies for decentralized applications, which apparently address different problem domains yet have a significant conceptual overlap. Web services provide a just-in-time integration solution for on-the-fly service consumption without any a priori knowledge of the service and procedures a consumer needs to reuse. But the biggest criticism of Web services from distributed computing standpoint is its reliance on centralized service repositories [1]. Peer services [20] on the other hand negate the notion of centralized repositories in SOA paradigm, though also leverage SOA but synergize producer and consumer as peers and solve the centralized nature of Web services by using cooperation of peers [2]. Web services have clearly defined standards in form of WSDL and SOAP. While JXTA considers a more abstract approach yet depending upon exchanging XML based messages. A. Basic Philosophy Our proposed communication middleware [16] considers the

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 basic philosophy of JXTA (project juxtapose) [2], a P2P stack and XML-based set of peer platform protocols and fundamental services for discovery, presence management and communication between peers. XML-based protocols allow any device connected to network to exchange messages and collaborate independently of underlying network topology thus making XML-based JXTA transport- and language-agnostic. Apart from XML-based communication the introduction of unidirectional asynchronous communication channels (Pipes) is one of the basic technology shifts in JXTA. Asynchronous and non-deterministic nature of network contributes significantly towards high availability of published content, services, optimized use of network resources, content distribution cost and scalability. Our basic approach to communication middleware applies the communication principles from JXTA and uses the defined standards of WSDL, RDF and SOAP to achieve interoperability. We propose an abstract approach of classification of computing entities on the basis of their communication capabilities. In principle there are different types of protocols depending upon the communication capabilities of computing entities. As compared to JXTA our middleware not only relies on communication capabilities on entities, but also due to dynamic nature (caused by mobility of entities) it supports dynamic joining of entities in different groups during system execution. B. Conceptual Classification of Entities Rendezvous computing entities (RCE) are the computing entities with wireless connectivity or entities which can communicate outside a domain or with external world such as Internet. Rendezvous entities provide efficient dissemination of requests from one domain/group to another. Thus they can be considered as routing peers [4, 5, and 6]. In a way, rendezvous entities create a virtual overlay network with other rendezvous entities and serve as distributed points of centralization of network, serving entity-groups [22] at a lower level. Edge computing entities (ECE) are considered those entities that don’t have a capability to communicate in a point-to-point fashion with other computing entities and require some sort of information mediator/relay to communicate their messages. Message Relays (MR) or information mediators are effectively entities that serve ECE to communicate their messages. RFID tags could be one example of message relays, that could serve ECE (if ECE are only equipped with RFID read-write capability and no other point-to-point communication capability with other entities). Another example is distributed knowledge bases; each knowledge base can be abstracted as a message relay for those software agents that can only communicate with in domain of that knowledge base, while some software agents can have an

175

additional capability to serve as a gateway and communicate to other distributed knowledge bases by communicating with respective gate-way agent. RFID tags are seen as a special example of MR, which are being employed in numerous robotic environments. In general, RFID tags have limited memory, thus storing an XML based message is not a viable solution. For such memory-constrained MR, we consider the communication via extended RDF block rows data model [16]. Apart from typical (Subject, Predicate and Object) we consider some additional fields such as time of data insertion/update, source of data, context field etc. (see Section 5). C. Communication Middleware Architecture Modular architecture of our communication middleware (CMA) is depicted in Figure 2. Detailed elaboration can be found in [16]. Basic architectural elements of CMA are: Message Transport Layer (MTL) is the core element of CMA which provides an implementation of asynchronous communication channels identified by endpoints, similarly to normal Web services invocation. Asynchronous nature of MTL serves well for dynamic environments and towards creating a self-organized federation of entities, where entities and associated services could join and leave at any point of system execution, thus achieving loose coupling of entities. An entity can logically bind itself to any MTL of destination entity, which can bind itself further to subsequent destination MTL(s), thus creating a chained communication overlay network. Local Service Registry (LSR) serves as a local cache for Web service discovery. For LSR we have implemented a light-weight UDDI [16]. RCE/ECE

Local Service Registry LSR

Entity Discovery Registry - EDR

RCE/MR

Query Subject

Message Transport Layer MTL

Semantic Distance = 0 Respond

Reasoner Semantic Distance = 1 Recommend LKB

Ontology Rep

Semantic Distance > 1 Ignore

Query Response Cache - QRC

Communication Middleware Architecture - CMA

Figure 2: CMA and Semantic Distance based Query Recommendation

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 An incoming service request is first searched from LSR before being cached to Query Response Cache (QRC). QRC caches all incoming Web service requests and propagates back response messages. Because of back-propagation of query response in reverse order, QRC helps in avoiding sending multiple service requests/responses to a particular entity and upon discovery back propagation stores the query response in LSR. Entity Discovery Registry (EDR) serves as a record for discovered entities. EDR is used to create a semantic topology based on set of services an entity advertises, its expertise (semantics of services provided) and provides semantic query propagation (see Section E). Ontology repository stores entities’ Ontologies in form of RDF triples which are used for mapping Web service discovery queries to published Web services. Local Knowledge Base (LKB) serves as a knowledge base of factual information, which an entity might gather during its execution cycle. LKB and the associated defeasible reasoner are specified in [9, 18]. Interested readers can read detailed discussed about the architecture, different modules, design rationale and our defeasible reasoner implementation in [9, 16, 17, and 18]. D. Semantic Topology In such an abstraction to P2P architecture, each entity operates with identical functionality. Such an abstraction features redundancy, dynamic selection of entities, and fault-tolerance. Despite these benefits, the inherent difficulties related to P2P technology, which need to be solved, are propagation of query to an appropriate entity and efficient routing of messages. Several researchers [4, 5, 6] have tried to solve the efficient dissemination of messages from one entity to another while Berners-Lee et al [7] advocated on the enrichment of information with well-defined meanings to enable computing entities to collaborate by expressing the knowledge in well-defined formal way. Notion of RCE, RPV and dissemination of messages from one entity-group to another provides quick dissemination of messages across entity-groups, while MR performs dissemination of messages within an entity-group. To incorporate semantics and to perform semantic-based query propagation to appropriate entities, we use a model in which entities publish their expertise in the network along with their exposed functionalities as Web services. The knowledge entities have about the expertise of other entities forms a semantic topology. Basic philosophy of creating a semantic topology is to re-route the query to an entity which is likely to answer to query instead of broadcasting or sending the query to random entities. We use a shared common ontology O of computing

176

environment, which provides a shared conceptualization of domain. Entities publish their expertise e in the network. Knowledge of an entity about the expertise of other entities forms a semantic topology regardless of the underlying network topology. In other words an entity knows another entity in this semantic topology if it can compute the semantic distance of query to its published expertise. Semantic topology or entity’s knowledge of other entities can be expressed as: Entity1 knows Entity2, if Entity1 knows the expertise of Entity2 Shared ontology of environment/domain is expressed as RDF triples in Ontology repository for describing the functional expertise of entities. As elaborated earlier, entities advertise their Web services as advertisements, when coupled with their set of expertise; it provides a decentralized solution to advertise Web services. Ontology repository is transformed to a set of facts and rules in LKB and defeasible reasoner is applied. Currently we have a light-weight implementation of defeasible reasoner [18] which we are using for formal concept/ontology learning. We express similarity function as a set of rules in defeasible logic as well. The purpose of developing a rich set of rules for communication, concept learning and associated semantic similarity is to provide a rule-based expert system, using which both communication and reasoning capabilities of entities can be made intelligent. A detailed discussion is given in our earlier work [18]. E. Entity & Web Services Registration (Overlay Formation) Upon a system bootstrap, entities (RCE and ECE) are not aware of any other information apart from their LSR. LSR contains own published Web services. Similarly their EDR is empty as well. Entities can navigate in the environment as programmed by their control application. Even though RCE can communicate in a point-to-point fashion with other RCE, a discovery mechanism is needed. For this purpose entities perform their registration (i.e. indication to environment about their presence, their published Web services and their expertise in the domain) Entities (ECE and RCE) upon encountering a MR, register themselves by expressing their presence information using MR’s data model (in case of RFID using an extended RDF data model, but such is independent of underlying data model). Registration also includes advertising Web services descriptions and a set of entity’s expertise (in principle each published Web service can be augmented by an expertise). For instance expertise can be Weather Information Services, Cleaning Services etc. depending upon the kind of entity and services entity might provide (representative ontology example is given in Section VI). Thus registration marks MR as an information container (similar to Shared Spaces [55] but non-persistent information

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 containers) for services and entities surrounding it. Latter serves for discovery of entities. Which occurs by entities receiving a list of other registered entities from the MR. This is a naïve epidemic way of discovering other entities (populating EDR) in the vicinity via MR scattered in the environment. We refer to entities around MR as entity-group i.e. all entities in a group can have pair-wise communication among each other either in a point-to-point fashion or via MR. Thus MR can be used for dissemination of message within an entity-group. A number of entity-groups can exist in the system depending upon the distributed of MR. RCE being able to communicate wirelessly perform inter-entity-group message dissemination. Such is done by a View Management protocol (referred to as Rendezvous Peer View (RPV) protocol. When RCE discovers by another RCE, they initiate RPV to establish a Rendezvous View (RV). RV is a list of entities which are currently acting as RCE. RPV serves for creating finger table pointers [4] among RCE for inter entity-group discovery and communication. RPV protocol enables RCE to organize them into a virtual overlay; a higher level communication links between RCE for inter-entity-group communication). For RPV each RCE maintains a local list of active RV and period exchanges of random RV to other RCE in its RV. In a similar fashion each rendezvous entity sends a periodic RV and purges non-responsive rendezvous entities from its RV. RCE RCE

...

ECE

...

MR

... Bootstrap

Encounter MR

Encounter MR Register Registered Entities

Register

Update LSR, RDR

Registered Entities Update LSR, RDR Update RPV Random RPV with Group Expertise tuple Figure 3: Entity Registration and Overlay formation

Thus effectively each RCE maintains an entity-group around a MR and serves for dissemination of messages from one entity-group to another using the Internet communication by using RV. MR’s at the same time is responsible for dissemination of messages inside a particular entity-group. The registration process is illustrated in Figure 3.

177

F. Entity selection via Semantic Topology When an entity receives a query, it can either refer the requesting entity to an entity that has the expertise similar to the query, or it can discard the query if the target entity doesn't have knowledge about the suitable entity for such a query. The recommendation/referral is based on matching the query's subject S to known expertise E in network. Subject is an abstraction of query expressed in terms of shared ontology of environment in other words it’s the expertise queried by the requesting entity. Recommendation mechanism relies on the semantic similarity function used [8]. In principle any sophisticated semantic similarity function can be used. As entities store shared domain Ontology in Ontology Repository and EDR is used for storing discovered entities and their published expertise. Our semantic topology is created by using parent-child relationship. SemDistance (s, e) = exists_parent_child_rel (s, e) → [0, 1] Value 0 implies that s and e do not have a parent child relationship and 1 implies otherwise. Using such a semantic similarity function comes from the observation of Rada et al [59] who proved that number of edges/links separating two concepts is a metric for measuring the conceptual distance between two concepts. But using just a “Parent Child Relationship” is a very restrictive similarity function but any similarity function SemDistance → [0, 1] can be used, where an increasing value indicates increasing similarity between two concepts. Based on the SemDistance value, entity can recommend a set of entities whose expertise similarity value with subject is 1. For a more general similarity function, a more sophisticated entity selection algorithm can be used for ranking/recommending a set of entities. We are planning to incorporate a more general similarity function [8] for mapping subject of query to expertise description. We elaborated earlier about entity-group (a group of entities around a MR) and role of RCE in dissemination of messages from one entity-group to another. For dissemination of expertise of entity-group RCE maintains the expertise of the entity-group (referred to as expertise tuple which comprises of expertise of entities in entity-group) which is built-up by the registered entities’ expertise set at a particular MR. Expertise tuple are shared among RCE using RPV protocol (as elaborated earlier) thus achieving a view of expertise in various entity-groups in the system. G. Distributed Web Service discovery The process of services satisfying user needs is referred to as service discovery. There are a number of Web services discovery model, broadly they can be classified as:

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 • Static Model: local storage of Static Web services descriptions • Centralized Model: storage of Web service descriptions in a centralized service directory, such is also referred to as join lookup [52] • Decentralized Model: Web service descriptions are stored in dynamic and distributed service directories which use distributed technologies such as federated approaches [24, 30], Peer-to-Peer [51] and agent based [53]. In previous sub-sections we propose entity classification on the basis of communication capabilities of entities, their registration and expertise publication using message relays. We use rendezvous entities for efficient dissemination of messages across dynamic entity-groups leveraging dynamic join and leave of entities due to mobility and dynamic nature of environment and entities. In our proposed and developed architecture each entity servers as a small scale decentralized UDDI, using its Local Service Registry (LSR); a local cache for Web service discovery [16]. Decentralized design of Web services publishing and discovery is more scalable and reduces the overhead of centralized updates. Moreover, it provides higher degree of fault-tolerance as compared to existing centralized architecture of UDDI [29]. In fact, main popular use of centralized UDDI has been in enterprise systems, which suffer from scalability and consistency issues. As we elaborated earlier (see Figure 3), ECE and RCE publish their Web service descriptions and sets of expertise via MR. For this purpose Web Service Description Language (WSDL 2.0) [45] document is mapped to a suitable data-model for MR. If MR can handle extensive XML based WSDL documents then such transformation is not necessary. Similar argument can be given for SOAP messages encoding. Instead of using a hash function to store service descriptions and a rendezvous mechanism between multiple distributed registries as proposed by Lin et al [51], dynamic and partial view of network doesn’t allow us the leverage a similar approach on ECE or RCE. We consider the following policy for Web service caching at LSR of entities. • RCE maintains all Web service descriptions and expertise sets for all the entities (expertise tuple) associated with a particular MR. • ECE maintains only the Web service descriptions from those entities whose expertise are at a semantic distance of a certain threshold. RCE registry hierarchy can be viewed as federation of service registries for each entity-group, where RCE service registry serves as a composite domain registry. Though RCE registry can mimic the Web services an entity-group might offer, high dynamism, lack of entity coverage (limited

178

communication capabilities) and mobility renders RCE unable to give consistent view of available Web services. Service descriptions of an entity-group are not advertised by RCE across other entity groups, instead RCE uses RPV protocol to share the expertise tuple of its respective entity-group with another RCE. ECE selective service caching allows only the Web service descriptions from those entities whose expertise are at a semantic distance of at most 1 (in our experimental setting which stems from a weak Semantic Distance function) from its own expertise set (degree of separation of two concepts is 0 if both are identical concepts. If there exists a parent-child relationship between two concepts then degree of separation is 1). We consider the following approach for Web service querying. 1. Entities (ECE and RCE) publish Web service request or expertise required at MR. Which can be read by any other entity in the locality of that specific MR. 2. When an entity receives a query, it first checks its LSC. If it can find a mapping of query’s subject with expertise of some entity from its LSC, then it will provide a recommendation as per its LSC about the appropriate target entity, i.e. entity will advertise about the entity which has an expertise which is semantically similar to query’s subject (see Figure 2). 3. The requesting entity can take following action: 1. Entity can re-query after discovering of availability of a semantically similar expertise in the network (if an exact match is not available in network) 2. Entity can trigger discovery protocol to query the service descriptions of the entity which has been recommended. 4. When after a certain time threshold same the request remains unanswered or is published again at same MR, RCE can forwards the query to another RCE upon matching the subject of query with expertise tuples of RCEs in its RV. Though we tried to motivate our approach to the best of our knowledge with existing work in literature, but few aspects need to be highlighted with a resembling work on Shared Spaces [55] and a proposed architecture by Sapkota [54] based on Shared Spaces. • Persistence of Information: o Shared Spaces [55] provide an application to read and write information in both synchronous and asynchronous communication in a persistent way. o Notion of MR as we consider allowed communication in both synchronous and asynchronous communication without any persistence. We don’t assume any notion of infinite storage capability, which leads us further to degree of guaranteed communication.

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 • Guaranteed Communication: o Inherent dynamism, mobility and infrastructure-less system paradigm we assume coupled with limited storage capabilities of MR can not guarantee a successful communication or a Web service discovery. Such scenario can be compared, though not fully understood by considering a limited shared space with more than sufficient subscriber. • Loose Coupling o Loose coupling can be achieved by any application using a virtual space, though the architecture we propose provides loose coupling both in terms of space and time.

Read(Y) Entity_X

Write(Y) Shared Space

Write(X)

Persistent

Entity_Y Read(X)

a. Shared Space Publish-Subscribe Communication Overlayed Communication

Read(Y) RCE Write(X)

Read(Y) ECE/RCE Write(X)

Communication with other Shared Spaces via MR

Write(Y) Shared Space - MR

ECE/RCE Read(X)

Non-Persistent

b. MR driven Push and Pull Communication with respect to ECE/RCE Figure 4: Shared Space vs. Mediator/MR based communication

V. ROBOSWARM CASE STUDY We apply the concepts and principles described in Section 2 and Section 3 in the ROBOSWARM project [9]. The motivation of ROBOSWARM project is to develop an open knowledge environment for self-configurable, low-cost and robust robot swarms operating in dynamic environments. The swarms of robot are attributed by heterogeneous communication capabilities - i.e. few robots may be equipped with a wireless capability, while the other robots, in the absence of wireless capability, have to use RFID tags for reading/writing data. In this project we intend to create and maintain a distributed data environment, based on intelligent inter-robot communication, and a global robot database solution for knowledge reuse. Thus communication interoperability of robot swarms both with environment entities and outside world is needed. We use Web services for exposing robotic functionality and abstracting each robot to a Web service

179

interface. A Web service based robot control platform using RFID tags as information mediators has been proposed previously [19] by Bon Keun et al. Apart from LKB of each robot, we also consider a Global Knowledge Base (GKB) which refers to collective swarm knowledge [17]. GKB runs on a server, equipped with wireless connectivity, which can perform higher level reasoning and can provide resource-intensive services to swarm entities. Also it can serve as a gateway entity to swarm while communicating with outside world. In principle any swarm entity with wireless connectivity can serve as swarm gateway. In ROBOSWARM project we consider RFID tags as message mailboxes that serve to integrate distributed information and knowledge in computing environment. In ROBOSWARM we focus on the usage of RFID chips with a small internal memory, enabling both human operators and robots to read/write information to the chips. In general, data on RFID can contain control information from humans, robotic presence information, facts and knowledge which a robot intends to share with other computing entities, local or relative location information of tags, service request and response messages. We encode data as extended RDF block rows in RFID. Thus all data items written to the RFID are essentially data rows with predefined fields. It resembles to a small database table. RFID data I/O API designed for ROBOSWARM allows RFID data manipulation which provides further flexibility of treating any device conforming to data API to serve as mailbox. Data model for RFID corresponds to extended RDF. Apart from typical (Subject, Predicate and Object) we consider some additional fields as time of data insertion/update, source of data, context field etc. as shown in Figure 7. Though data encoding is specific to ROBOSWARM requirements but any data encoding scheme at RFID can be used. Using the entity classification as proposed earlier, we classify robots on the basis of their communication capabilities. Apart from robots, there are a number of RFID tags in the operational environment which serve as information mediators. We classify the swarm entities as follows: • Rendezvous Robots (RCE): The robots with wireless connectivity, • Edge Robots (ECE): robots that do not have a wireless connection and require some relay entity to relay their service request(s) or response(s) or user-level messages, • Message Relays (MR): Effectively RFID tags. We use extended RDF data model encoding for RFID tags. Operational scenario of ROBOSWARM with entity classification is shown in Figure 5. Control messages from User Interface can be disseminated into Swarm either by using wireless interface provided by rendezvous robots or by writing the RDF encoded message to RFID tags. Similarly GKB can interface to either RFID tags or to rendezvous robots. Rendezvous robots create an overlay network and run RPV

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184

180

Figure 5: Rendezvous robots (RCE) overlay formation and communication between Edge Robots (ECE) & RFID (MR)

protocol to maintain a RPV and robot-group expertise tuples. Lower level communication between edge robots and RFID tags comprises of Web service advertisements, expertise advertisement, request and response message and miscellaneous control messages. This lower level communication uses extended RDF data model [16]. First consider a case with only edge robots. During registration each edge robot presents name and services provided. Because of limited memory in RFID only portion of service descriptions is present. Next robot read the info from relay and submit own ID and services possibly overwriting the data when RFID memory is full (if there is no new info then

memory is not overwritten). Communications progress and eventually all robots in the relay may have info about available services (however, this is no guaranteed in the worst case). Robots also can publish queries and replies in RFID. Situation becomes more interesting when robots move and join different groups. This is where we use timestamps and checking that robot left the area. In the new area the robot may register and publish both own and other service descriptions. Robot also cashes queries that it can’t satisfy and may post them in a new RFID when moving. In case when we have rendezvous robots in addition to edge robots they can spread information about available services

Figure 6: Simulation Snapshot & extended RDF encoded knowledge with 2 rendezvous robots, 2 edge robots and 2 relays

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 among themselves. The received information is posted to the corresponding RFID and becomes available to edge robots in the group. VI. EXPERIMENTAL SETUP For experimentation of our proposed middleware we use Player/Stage Simulator [32]. Player/Stage Simulator provides a client control program that can talk to player interface of robot actuators and sensors over TCP Socket. Our current implementation of middleware (in C++) is small and efficient (15KB memory footprint). A brief snapshot is shown in Figure 6. For the sake of simplicity of presentation, we only show two mobile robots with Wi-Fi communication capability (i.e. rendezvous robots, represented by blue robots, with the enclosing circle representing their Wi-Fi range). Red robots represent edge mobile robots which are only capable of communicating via RFID (message relays, which are expressed by brown entities in simulation). The communication infrastructure modeled for experiments is attributed by instability and partial communication coverage due to robotic mobility. Thus robots can get out of coverage area of Wi-Fi or read/write range of static RFID in environment. Web service descriptions are expressed in form of extended RDF triplets. The reason for selection of RDF is to leverage the simplicity and semantic richness of RDF. RDF-based Web service description has already been used by Brahmanadna et al [23]. In our current implementation MTL provides a set of API for Web service registration which is invoked by a robot client. Robot client automatically transforms the Robotic proxies (e.g. PlayerCc::Position2dProxy, PlayerCc::WiFiProxy) expressed by Player drivers into RDF-based Web service description as well to achieve the goal of exposing a robot and its all interfaces as a Web service (see Figure 7). WSDL Ontology

Robot Client Normative Mapping of WSDL 2.0 into RDF

Robotic WSDL 2.0 Interface

API for Web service Message Transport Layer - MTL

Local Service Registry -

Figure 7: Robotic Web services registration

Robotic functional interfaces as specified by Player Proxies are first expressed in Web Service Description Language (WSDL 2.0) [45]. W3C also provides a working group note for normative mapping of WSDL 2.0 into RDF [46]. Mapping specification [46] comprises of WSDL ontology and formal

181

mapping from WSDL 2.0 to RDF data using proposed WSDL ontology [47]. Our implementation uses the same proposed mapping of WSDL component model with corresponding classes in WSDL Ontology and component properties to RDF properties. As a representative example we consider a stripped down PlayerCc::Position2dProxy [48] of robots as the following generated WSDL 2.0 document:

A fragment of mapping of WSDL 2.0 to RDF is as follows:

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184

"Position2DProxy"

182

'http://www.roboswarm.eu/RoombaCleaning.owl#IndoorClea ning'). subclassOf('http://www.roboswarm.eu/RoombaCleaning.owl# FloorWashing', 'http://www.roboswarm.eu/RoombaCleaning.owl#IndoorClea ning'). A fragment of mapping of OWL-AS representation of



As mentioned earlier that Ontology repository in CMA stores ontologies in form of RDF triples which are used for mapping Web service discovery queries to published Web services using semantic distance and recommendation mechanism (see Figure 3). For this purpose we translate the OWL ontology into RDF triples. For achieving this first the OWL is transformed into “OWL Abstract Syntax” (OWL-AS) a W3C recommendation [57]. OWL-AS based ontology is further parsed into RDF triples using W3C Group note for parsing OWL-AS to RDF [56]. OWL Abstract Syntax is a high-level abstract syntax for both OWL DL and OWL Lite variants of OWL. A fragment of automated translation of Roomba robot “cleaning” ontology is given as: class('http://www.roboswarm.eu/RoombaCleaning.owl#Cleani ng', false, complete, [], []). class('http://www.roboswarm.eu/RoombaCleaning.owl#Outdo orCleaning', false, complete, [], []). class('http://www.roboswarm.eu/RoombaCleaning.owl#Indoor Cleaning', false, complete, [], []). class('http://www.roboswarm.eu/RoombaCleaning.owl#Vacuu ming', false, complete, [], []). class('http://www.roboswarm.eu/RoombaCleaning.owl#Floor Washing', false, complete, [], []). subclassOf('http://www.roboswarm.eu/RoombaCleaning.owl# OutdoorCleaning', 'http://www.roboswarm.eu/RoombaCleaning.owl#Cleaning'). subclassOf('http://www.roboswarm.eu/RoombaCleaning.owl#I ndoorCleaning', 'http://www.roboswarm.eu/RoombaCleaning.owl#Cleaning'). subclassOf('http://www.roboswarm.eu/RoombaCleaning.owl# Vacuuming',

RoombaCleaning to RDF (comma separated Subject, Predicate

and Value) is as follows: 'http://www.roboswarm.eu/RoombaCleaning.owl#Cleaning', rdf:type, owl:Class 'http://www.roboswarm.eu/RoombaCleaning.owl#OutdoorCle aning', rdf:type, owl:Class 'http://www.roboswarm.eu/RoombaCleaning.owl#IndoorClea ning', rdf:type, owl:Class 'http://www.roboswarm.eu/RoombaCleaning.owl#Vacuuming', rdf:type, owl:Class 'http://www.roboswarm.eu/RoombaCleaning.owl#FloorWashi ng', rdf:type, owl:Class 'http://www.roboswarm.eu/RoombaCleaning.owl#OutdoorCle aning', rdfs:subClassOf, 'http://www.roboswarm.eu/RoombaCleaning.owl#Cleaning' 'http://www.roboswarm.eu/RoombaCleaning.owl#IndoorClea ning', rdfs:subClassOf, 'http://www.roboswarm.eu/RoombaCleaning.owl#Cleaning' 'http://www.roboswarm.eu/RoombaCleaning.owl#Vacuuming', rdfs:subClassOf, 'http://www.roboswarm.eu/RoombaCleaning.owl#IndoorClea ning' 'http://www.roboswarm.eu/RoombaCleaning.owl#FloorWashi ng', rdfs:subClassOf, 'http://www.roboswarm.eu/RoombaCleaning.owl#IndoorClea ning' Resultant RDF Triples are stored in Ontology Repository of entities. One of the purposes is to be able to compute semantic distance of a query and expertise of entities for semantic recommendations to Web service queries. In our example we only considered a fragment of RoombaCleaning ontology. Other conceptual hierarchies can also co-exist in Ontology Repository, such as Ontology of platform/domain/other service types as WeatherInformationServices, SensingServices etc. Detailed discussion of transformation of OWL into OWL-AS and RDF triples is out of scope of this paper. Interested readers can request authors for current implementation and detailed

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 discussion of such transformation. As mentioned earlier in Section V, we employ an extended RDF data model for RFID tags. The simulation snapshot (see Figure 7) represents RDF encoded knowledge base, expressing the presence and registration of an edge robot with ID 7010. Service registration by robot is vacuumPos2d. The context field of RDF sextet refers to interpretation of RDF sextet for instance: reg (register the presence), pub (publish the expertise or Web service), query (query a Web service), invoke (invoke an interface) etc. In the snapshot the robot with ID 7011 queries for a Web service by name Vacuum and then requires against expertise Cleaning. Robot 7010 responds the query by referring to query identifier and the robot with expertise of Cleaning. The WSDL to RDF mapping in further simplified (see Figure 7). This simplification is solely for the purpose of debugging and pretty printing.

separation based on network topology to cache services for the creation of a flexible semantic topology. ACKNOWLEDGMENT This work is partially supported by a European 6th Framework project - ROBOSWARM. The authors are grateful for the comments and discussion from the reviewers and the audience of NWeSP 2008 conference. REFERENCES [1] [2] [3] [4] [5]

VII. CONCLUSIONS AND ON-GOING WORK In this paper we propose a semantic middleware which provides loose coupling between heterogeneous autonomous entities, and provides mechanisms for distributed service discovery. Our approach overcomes the shortcomings of availability of both service requesters and service repositories at the same time. Our developed mediator-based distributed Web services discovery and management middleware, though tested primarily for robot swarms only, can be applied to any infrastructure-less dynamic environment. We propose and develop a solution where dynamic environment and computing entities are abstracted to a P2P system and a conceptual classification of entities according to their communication capabilities is used. We assume that the physical environment has some type of mediator entities, which can be used for communication when point-to-point communication between entities is not possible. In our implementation of middleware the discovery of a Web service is done on the basis of keywords and expertise of an entity is used for efficient entity selection for query propagation. But there is a need for formal specification of semantics for service description in RDF as well. In our ongoing work we are using the approach of [33] to model the real-world concepts related to a Web service and map the ontological concepts with WSDL. The semantic model and associated mapping will then be stored in LSR as RDF. Thus an entity communicating with another entity or a request for a Web service can be inspected against the ontological concepts. In a broader perspective, we intend to create a rule-based service discovery in which rules can provide the foundation for semantic reasoning and formal concept learning [18] to overcome the limitations of using a pre-defined ontology of domain. We are also extending similarity function [8] for query’s subject mapping to expertise description. Also we are experimenting with an algorithm for adaptive degree of

183

[6] [7] [8]

[9] [10]

[11] [12]

[13] [14]

[15] [16]

[17] [18]

[19]

[20] [21]

[22]

[23] [24]

J. DiLeo,T. et. al, “Integrating Ontologies into multi-agent systems engineering”, AOIS, 2002, pp.15-16. Sun Microsystems Inc., “JXTA Technology-Overview, http://www.sun.com/software/jxta/”, June 2008. Sun Microsystems Inc., “JXTA-SOAP bindings, https://soap.dev.java.net/”, June 2008. I. Stoica et. al., “Chord: Scalable P2P lookup service for internet applications”, SIGCOMM, ACM, 2001, pp 149-160. S. Ratnasamy, et. al., “A scalable content-addressable network”, SIGCOMM, ACM, 2001, pp. 161-172. A. Rowstron et. al. “Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems”, IFIP/ACM, 2001, pp. 329-350. T. Berners-Lee, J. Hendler and O. Lassila, “The semantic web”, Scientific American, 2001. Y. Li, et. al., “An approach for measuring semantic similarity between words using multiple information sources”, Transaction on Knowledge and Data Engineering, July 2003, 15(4): pp. 871-882. Knowledge Environment for Interacting Robot Swarms, www.roboswarm.eu. F. Amigoni et. al., “An application of ontology technologies to robotic agents”. Int. Conf. on Intelligent Agent Technology, IEEE/ACM, 2005, pp. 751 - 754. R. Hartanto, J. Hertzberg, “Offering Existing AI Planners as Web Services”. GI Workshop Planen und Konfigurieren, Germany, 2005 R. E. Marmelstein, “Force templates: A blueprint for coalition interaction within an Infosphere”. Int. Conf. on Intelligent Systems, IEEE, 2002, pp. 36-41. J. DiLeo et. al., “Integrating Ontologies into multi-agent systems engineering”. AOIS, 2002, pp.15-16. L. Vasiliu, et. al., “A Semantic Web Services driven application on Humanoid Robots”. 4th Int. workshop on Software Technologies for Future Embedded & Ubiquitous Systems, IEEE, 2006, pp. 236 – 244. J. Levine, L. Vickers, “Robots Controlled through Web Services”. Technogenesis Research Project, 2001. A. Haseeb, M. Matskin & P. Küngas, “Light-Weight Decentralized Autonomic Web Service Discovery for Systems with Heterogeneous Communication Capabilities”, Proc. of 12th IASTED IMSA’08, IASTED, Hawaii, 2008. A. Haseeb, P. Küngas & M. Matskin, “Semantic Middleware for Robotic Swarm Interaction”. Proc. of IASTED MIC’08, IASTED, Innsbruck, 2008. A. Haseeb, M. Matskin & P. Küngas, “DeLP based Semantic Location Lattice for Intelligent Robotic Navigation”, Proc. of ICAI’08, Las Vegas, 2008. B. K. Kim, et. al, “Web Services based robot control platform for ubiquitous functions”, Proc. of Int. Conf. on Robotics and Automation, IEEE, 2005, pp. 691- 696. M. Pantazoglou, et. al, “A unified approach for the discovery of Web and Peer-to-Peer systems”. Proc. of ICWS’06, IEEE, 2006, pp. 901-902. B. Benatallah, et. al., “Declarative Composition & Peer-to-Peer Provisioning of Dynamic Web Services”. Proc. of 18th Int. Conf ICDE, IEEE, San Jose, pp. 297-308. Z. Wang and Y. Hu, “A P2P Network Based Architecture for Web Service”, Proc. of Int. Conf. on Wireless Communications, Networking and Mobile Computing, IEEE, 2007, pp. 3446-3449. B. Sapkota et. al., “Distributed Web Service Discovery Architecture”, Proc. of AICT-ICIW'06, pp. 136- 136. E. Stanescu, I. Stanescu and V. Popa, “Distributed Infrastructure for Semantic Web Services”, Technical Report, National Institute for Research and Development in Informatics, Bucharest, 2005.

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

International Journal of Web Services Practices, Vol. 3, No.3-4 (2008), pp. 171-184 [25] S. Banerjee, et. al., “Scalable Grid Service Discovery based on UDDI”, 3rd Int. workshop on Middleware for grid computing, ACM, Grenoble, 2005, pp. 1-6. [26] F. Hartman et. al., “Was the Universal Service Registry a Dream?” Web Services Journal, Dec 2004. [27] Z. Du et. al., “Ad-UDDI: An Active and Distributed Service Registry”, VLDB Intl. workshop on Technologies for EServices, LNCS, 2006, pp. 58-71. [28] L. Clement, et. al, Universal Description Discovery and Integration (UDDI) 3.0.2. http://www.uddi.org/, 2004. [29] M. Cai, M. Frank, “RDFPeers: A Scalable Distributed RDF Repository Based on a Structured Peer-to-Peer Network”. In Intl. World Wide Web Conference, ACM 2004, pp. 650-657. [30] M. P. Papazoglou, et. al., “Leveraging Web-Services and Peer-to-Peer Networks”, In Proc. of 15th Intl. Conf. on Advanced Information Systems Engineering (CAiSE2003), Springer, 2003. pp. 485-501. [31] Z. Maamar, et al, “Dynamic management of UDDI registries in a wireless environment of web services: Concepts, architecture, operation, and deployment”. Journal of Intelligent Information Systems, Springer Netherlands, 2007, pp. 105-131. [32] B. P. Gerkey, et. al., “The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems”. 11th Int. Conf. on Advanced Robotics (ICAR), Coimbra, 2003, pp. 317-323. [33] M. Paolucci, et. al., "Importing the Semantic Web in UDDI" Web Services, E-Business and Semantic Web Workshop (CAiSE), Springer, 2002, pp. 815-821 [34] C. Bussler, “A minimal Triple Space Architecture” 2nd WSMO Implementation workshop, Innsbruck, 2005. [35] M. Araki, A. Miyajima. Application of Ubiquitous Web Technologies to Home Information Appliances. W3C. 2006 [36] J. McCarthy, P.J. Hayes. Some philosophical problems from the standpoint of Artificial Intelligence. In Machine Intelligence. Vol. 4. pp 463-502. Edingburgh University Press, Edinburgh, UK. 1969 [37] M. Uschold, M. Gruninger. Ontologies and semantics for seamless connectivity. ACM SIGMOD, 33(4). Pp 58-64. 2004 [38] H. Wache et al. Ontology-Based Integration of Information – A Survey of Existing Approaches. In Proceedings of the IJCAI-01 Workshop on Ontologies and Information Sharing, Seattle, WA, 2001 [39] R. Chatterjee, F. Matsuno. On the need for robot description ontology and scene description ontology for effective rescue operations involving robot platforms. Proc. SSR ’04 IEEE Intl. workshop on Safety, Security and Rescue Robotics. 2004 [40] E. Messina, et al. Statement of requirements for urban search and rescue robot performance standards. Technical report, Department of Homeland Security Science and Technology Directorate and National Institute of Standards and Technology. [41] R. Chatterjee, F. Matsuno. Robot description ontology and disaster scene description ontology: Analysis of necessity and scope in rescue infrastructure context. IEEE Intl. workshop on Safety, Security and Rescue Robotics. 2005. [42] Craig Schlenoff, Elena Messina. A robot ontology for urban search and rescue. ACM workshop on Research in knowledge representation for autonomous systems 2005. [43] R. Provine, C. Schlenoff, S. Balakisrsky, S. Smith, M. Uschold. Ontology-based methods for enhancing autonomous vehicle path planning. Robotics and Autonomous Systems, Volume 49, November 2004 [44] J. Pollock, Integration’s dirty little secret: “It’s a matter of Semantics”. Whitepaper; Modulant, The Interoperability Company. February 2002. [45] Web Services Description Language (WSDL) Version 2.0. Candidate Recommendation, W3C, January 2006. Available at http://www.w3.org/TR/wsdl20/ [46] Web Services Description Language (WSDL) Version 2.0: RDF Mapping, W3C Working Group Note, June 2007, Available at http://www.w3.org/TR/2007/NOTE-wsdl20-rdf-20070626/ [47] J. Kopecký, WSDL RDF Mapping: Developing Ontologies from Standardized XML Languages, In Proc. of 1st International Workshop on Ontologizing Industrial Standards, pp 312-322, 2006. [48] http://playerstage.sourceforge.net/doc/Player-2.1.0/player/classPlayerCc_1 _1Position2dProxy.html [49] R. Rada, H. Mili, E. Bicknell and M. Blettner. Development and application of a metric on semantic nets. In IEEE Transaction on Systems, Man and Cybernetics, pp 17-30, 1989. [50] JXTA Version 2.0 Protocol Specification, available at https://jxta-spec.dev.java.net/nonav/JXTAProtocols.html

184

[51] Quanhao Lin; Ruonan Rao; Minglu Li. DWSDM: A Web Services Discovery Mechanism Based on a Distributed Hash Table. In the Proceedings of 5th Intl. IEEE Conference. Pp 176-180. [52] Sun Microsystems Inc. Jini Network Technology, Available at http://www.sun.com/software/jini/specs/ [53] M. Montebello et al. DAML enabled Web services and Agents in the Semantic Web, Springer Berlin LNCS, Web, Web-Services, and Database Systems, pp 46-58, 2003 [54] B. Sapkota et al. Distributed Web Service Discovery Architecture, In Proc. of the Advanced Int'l Conf on Telecommunications & Int'l Conf. on Internet and Web Applications and Services, pp 136, 2006. [55] N. Carriero and D. Gelernter. A Computational model of Everything. CACM, pp 77-81, 2001. [56] W3C, Parsing OWL in RDF/XML, W3C working group note 2004, Available at http://www.w3.org/TR/owl-parsing/#sec-rdf [57] W3C, OWL Web Ontology Language Semantics and Abstract Syntax, W3C Recommendation 2004, Available at http://www.w3.org/TR/owl-semantics/

Abdul Haseeb is currently a PhD candidate (since 2007) at the Department of “Electronics, Computer and Communication Technology” (ICT) at “Royal Institute of Technology” (KTH) in Stockholm - Sweden. He received his MSc. in “Software Engineering of Distributed Systems” from “Royal Institute of Technology” (KTH), Stockholm - Sweden, and BSc. from “Ghulam Ishaq Khan Institute of Engineering Sciences and Technology” (GIKI), Topi - Pakistan in 2005 and 2003 respectively. His current Research activities involve Open Distributed Knowledge Environments for Heterogeneous communication systems, Semantic web services, Distributed concept learning and multi-agent systems. Peep Küngas is currently a post-doctoral fellow (since 2007) at the Department of Microelectronics and Information Technology of the Royal Institute of Technology, Kista, Sweden where he is involved in an EU project RoboSWARM and provides his expertise in knowledge systems and Web services. Peep Küngas received PhD in Information and Intelligence Science from Norwegian University of Science and Technology, Trondheim, Norway in August 2006. MSc and BSc in Computer and Systems Engineering were acquired from Tallinn University of Technology, Tallinn, Estonia respectively in 2002 and 2000. Peep has expert knowledge and experience in the Semantic Web, formal methods, automated theorem proving, knowledge engineering, automated Web services annotation and orchestration, machine learning and intelligent distributed systems. Dr. Peep Küngas has served as a Program Committee member and reviewer of several scientific forums. Additionally he has published over 40 scientific peer-reviewed and more than 20 popular scientific papers. Since 2007 Peep Küngas serves as CEO of SOA Trader, Ltd., where he consults Estonian public sector in forming e-services development strategies and develops national semantic interoperability and Web interoperability frameworks. Mihhail Matskin is currently professor of software engineering (since 2002) at the Department of Electronics, Computer and Software Systems of the School of Information and Communication Technology at the Royal Institute of Technology (KTH), Stockholm and adjunct professor (since 2004) at the Norwegian University of Science and Technology (NTNU), Trondheim. He received his Ph.D. in computer science from the Institute of Cybernetics of the Estonian Academy of Sciences in 1984. He has served as head of department of the Soviet New Generation Computer Project START (1985-1988), leading researcher and head of department (1989-1995) at the Institute of Cybernetics of the Estonian Academy of Sciences, associate professor (1995-2001) and professor of computer science (2001-2003) at NTNU. His current research activity includes work on Semantic Web Services and services composition, agent technology, multi-agent systems, user profiling, formal methods of software design and knowledge-based programming.

ISSN 1738-6535 © Web Services Research Foundation, Seoul, Korea

Suggest Documents