Design, development and experimentation of a discovery service with multi-level matching
Emerging technologies and demanding applications have forced the transition of the computing paradigm from a centralized approach to a distributed approach. This shift leads to the concept of Distributed Computing Systems (DCS). The traditional way of software development lacks the capabilities to address the challenges in software realization of large scale DCS. Out of many methods proposed to develop DCS, one promising approach is the Component Based Software Development (CBSD).^ The UniFrame approach, an approach developed at IUPUI, follows the concepts of CBSD and addresses the design and integration complexity of DCS. The UniFrame approach provides a comprehensive framework which enables the discovery, inter-operability, and collaboration of components via generative software techniques. It unifies existing and emerging distributed component models to a common meta-model. This framework enables the creation of high-confidence DCS using existing and newly developed distributed heterogeneous components. One essential part of UniFrame is the UniFrame Resource Discovery Service (URDS). URDS is used for the discovery of components that are deployed on the network. Initially, the architecture for URDS was proposed in terms of addressing the objectives of dynamic discovery of heterogeneous software components and selection of components to meet the necessary functional as well as non-functional requirements (Quality of Service - QoS). Many contracts contain information in terms of functional and QoS hence, the dynamic discovery of components which are deployed over the network is a non-trivial task. The majority of the components' repositories provide a simple search technique which is based on string matching of listed attributes. However, the search space of components is large and the information provided by each component is also non-trivial to be represented as attributes. Therefore, a simple attribute-base search is not sufficient to address the requirements of users.^ Due to the limitations of the simple attribute based representation of contracts and basic textual matching, the URDS proposes the concepts of Multi-level contract representation and Multi-level Matching (MLM). The URDS contract provides information at many levels including: General, Syntactic, Semantic, Synchronization, and QoS. Matching of component contracts is performed according to the valid matching operations proposed at each of the levels. This narrows down the search space according to the individual requirements at a corresponding level. Hence, based on each operator's capability, related components have a better chance of being included in the result list. However, the validation of a system which integrates URDS and MLM was not present to be experimented. Therefore, as the main contribution of this thesis, the proURDS was developed as a distributed setup by enhancing the URDS architecture which was deployed over the network with real component contracts.^ The contribution of this thesis focuses on addressing the challenges of improving and integrating the URDS and MLM concepts. The objective was to find enhancements for both URDS and MLM and address the need of a comprehensive discovery service which goes beyond simple attribute based matching. It presents a detailed discussion on developing an enhanced version of URDS with MLM (proURDS). After implementing proURDS, the thesis includes details of experiments with different deployments of URDS components and different configurations of MLM. The experiments and analysis were carried out using proURDS produced MLM contracts. The proURDS referred to a public dataset called QWS dataset. This dataset includes actual information of software components (i.e., web services), which were harvested from the Internet. The proURDS implements the different matching operations as independent operators at each level of matching (i.e., General, Syntactic, Semantic, Synchronization, and QoS). Finally, a case study was carried out with the deployed proURDS. The case study addresses real world component discovery requirements from the earth science domain. It uses the contracts collected from public portals which provide geographical and weather related data.^
Rajeev R. Raje, Purdue University.