是否存在面向代理之间交互描述的编程语言?

时间:2010-09-30 09:18:16

标签: process schema paradigms agent-based-modeling

我想创建不同类型的进程,其中代理互相交互。我想用特殊语言描述(定义,形式化)代理之间交互的过程。换句话说,我想提供一个代理可以以某种方式相互交互的环境,我想用适合的编程语言来描述交互方式。有这样的语言吗?

为了更具体和更抽象,我们可以将代理视为网站的用户。网站的发展取决于用户的行为(用户有一定的行动自由)。用户可以做什么以及由于他们的行动会发生什么应该用语言来描述。

2 个答案:

答案 0 :(得分:2)

通常,可以通过接口中的方法修复可能的操作集。你是说在不同的时间,根据以前的行动,只应启用一些行动(比如在做其他事情之前必须登录)?

在这种情况下,您可以将其建模为组件(用户和系统),相互通信,并通过状态机或序列图对交互进行建模。如果这是你想要的,那么实际的实现可能就像将状态机编码到例如Java的。

或者您可能希望查看工作流框架。但我认为你需要更多地澄清你的要求。

或者你是说用户甚至可以引入新动作?

答案 1 :(得分:2)

Erlang是一个明显的答案,请参阅this 2004 paper等论文或Autonomous Agents上的Wikibooks文章。

如果您在.Net环境中工作愉快,especially .Net 4,请认真考虑Windows Workflow Foundation。上一代(2006)有一个有趣的paper on scaling and performance characteristics