以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Web Services & Semantic Web Services 』  (http://bbs.xml.org.cn/list.asp?boardid=10)
----  关于 Matchmaking of Web Services Based on the DAML-S Service Model 中算法的疑问  (http://bbs.xml.org.cn/dispbbs.asp?boardid=10&rootid=&id=9703)


--  作者:admin
--  发布时间:9/2/2004 6:34:00 PM

--  关于 Matchmaking of Web Services Based on the DAML-S Service Model 中算法的疑问
该文可以通过以下连接下载:

http://jmvidal.cse.sc.edu/papers/bansal03a.pdf


其中的两个算法,令人不解。
(1)递归算法不能满足停止条件,即

if matchOutputs( I, k.matchSet, k ) then
   if matchOoutputs( I, tail( O ), N ) then
      return true;  //如何能够到达这里?
   end if
end if

(2)作为output匹配算法,居然没有用到节点(叶子节点)的output属性,那么是怎么匹配出来的?


是不是我忽略了某个要点?望告知~~~


--  作者:monbit
--  发布时间:9/2/2004 7:55:00 PM

--  
我有点明白了,它的算法确实有问题,而且你的两个问题都出在一处即
matchOutputs(List I, List O, split-seq-Node N)
if O is empty then
   return true
end if

这个递归结束条件应该改成:
if (N.outputs!=NULL) then //叶子节点
   if matched(O,N.outputs) then
      return true    //叶子节点output匹配
  else
      return false  //叶子节点output不匹配
  end if
end if
//能通过这里的只有非叶子节点(N.outputs==NULL)

因为只有叶子节点才会有outputs,这个matched方法才会成功,并且自然用到了叶子节点的output属性(即N.outputs),且这个递归可以停止


--  作者:monbit
--  发布时间:9/2/2004 7:58:00 PM

--  
对于matchOutputs(List I, List O, choice-Node N)
也同样在开头缺少同样的停止条件。
--  作者:monbit
--  发布时间:9/2/2004 9:01:00 PM

--  
呵呵,有可能的,但是那个重载的matchOutputs函数实现的也应该是我写的那段代码,就是用来做叶子节点output匹配和停止递归的。
--  作者:wolaile
--  发布时间:9/28/2004 3:39:00 PM

--  
这篇文章我也看了。算法对与错先抛开不说。
文章说使原来只比较profile输入输出不准确,应该对过程模型中的输入输出也进行比较,但假如照这种思路的话是否有必要这么麻烦作算法,是否可以还有更简单的方法很容易就比较出来呢?文章是否舍近求远了呢?不知道大家想过没有?也许我理解不是很到位,请指教!
--  作者:jjffqq
--  发布时间:4/25/2006 8:59:00 PM

--  
该文只匹配服务的输入、输出,对于简单的web 服务是可以,但是对于交互性比较强服务(游戏等)来说是不够的。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
64.453ms