Download Intelligent discovery, configuration and composition of devices in a
Transcript
Quantifying structural matches As results are constructed, there is a need to distinguish meaningful from trivial matches. Trivial in terms of being expressed as superficial elements of a device description satisfying a request, in preference to more meaningful results. We suggest superficial by virtue of branch terms being only minimally qualified by the presence of leaf terms in the results. Additionally, a module has greater qualitative worth where the sub-structure has multiple branch terms matching at the same level. Where branch terms correspond but there is minimal quantitative qualification at the leaf level, we intend to reject the sub-match. Not only would removing these trivial cases be preferred but also for more subtle problem specific ones, where key quantitative factors fail to correspond (refer to later process enhancements section). The motivation for a metric to measure the strength of structural correspondence arises from the importance of leaf level quantitative matches in generating meaningful results. Particular terms are critical to describing the purpose of a module and qualifying the dimensions of sought after form and function. To determine whether to discard a sub-match as trivial, we use an ad-hoc uncertainty scheme to guide the search and use problem-specific information to define it. The requester is permitted to assign a factor as a qualification of certainty, at desired points in a structural description. Suitability of a sub-match is determined by whether a summation of its certainties achieves a threshold value. The requester specifies key points where a summation must reach an acceptance measure in order for the sub-match to be included in the results. For example, a request for an audio codec seeking a module that can convert a signal from analog-to-digital could be expressed as a single task_element module with 2 categories (task & control), each comprising subcategories and aspects with sought after values. A sample application of weightings and thresholds used during testing appears as follows: __________________________________________________ ... [[task_element, [], [], [], [0,14]], [[task, [], [], [], []], [[function, [], [], [], [0,9]], ! [[direction, [], [5]], [uq, us, enum, [analog_to_digital]]], ! [[sampling_rate, [], [2]], [frequency, hertz, =, [48000]]], ! [[data_channels, [], [1]], [system, integer, =, [2]]], ! [[bit_resolution, [], [1]], [system, bit, =, [16]]]], [[role, [], [], [], []], ! [[principal, [], [5]], [uq, us, enum, [convert]]]]], [[control, [], [], [], []], [[approach, [], [], [], []], ! [[operate, [], [1]], [uq, us, enum, [required]]]]]] ... __________________________________________________ At the leaf level, weightings are assigned (single number in the 2nd square brackets), with greater emphasis placed upon matching the conversion direction and role as converter. At the branch level, there are additional weightings of zero value (left hand number in 4th set of square brackets]. However, there are comparisons requested with the certainties summation [right hand number]. To illustrate the idea of building a sub-match, the lower function subcategory comparison is obviously a lesser threshold than the higher task_element module level. Failure of either results in the sub-match being rejected, which causes a flow on effect of failing to reach a later threshold for acceptance. 116