代理通信语言:超越语义的探索
在代理系统中,代理通信语言(ACL)起着至关重要的作用。目前常见的ACL有KQML和FIPA ACL,下面我们来深入探讨它们的相关特性。
一、KQML与FIPA ACL的语义差异
1. 语义描述层面
KQML和FIPA ACL在语义描述层面存在明显差异。KQML的语义描述包括前置条件、后置条件和完成条件;而FIPA ACL则是可行性前置条件和理性效果。例如,若要在FIPA ACL中定义一个近似KQML的 tell 的通信行为(CA),可以用 Bi(f) 替换 inform 定义中的 f ,但即便如此,二者在语义上仍不相等。
2. 注册与促进原语的处理
这两种ACL在处理注册和促进原语方面也有所不同。KQML将注册、更新注册信息以及寻找协助代理等任务与言语行为相关联,并将这些言语行为视为一等对象。而FIPA ACL作为更纯粹的ACL,不将这些任务本身视为通信行为,而是将其当作动作请求,并定义了一系列涵盖注册和生命周期任务的保留动作。不过,这些保留动作没有正式定义的规范或语义,仅通过自然语言描述。许多ACL用户希望FIPA ACL能纳入KQML中常用的促进原语(如 broker 、 recommend 和 recruit ),这也提醒我们,一个实用的ACL需要理论与实用的巧妙结合,目前FIPA正在探索在FIPA ACL中纳入这些促进原语。
超级会员免费看
订阅专栏 解锁全文
1428

被折叠的 条评论
为什么被折叠?



