没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记48(2001)网址: http://www.elsevier.nl/locate/entcs/volume48.htmlpp. 1- 18正式ReSpecT安德烈·奥米奇尼1 Enrico Denti2DEIS,Universit`adiBolognaViale Risorgimento,2 40136摘要基于逻辑的语言已经被证明是有效的,以建立个人代理,并使多代理系统中的代理间的通信。此外,逻辑元组中心已经表明,基于逻辑的语言可以有效地利用规则代理间的通信,以建立社会行为。本文主要定义了逻辑元组中心的概念和操作语义基于逻辑的语言ReSpecT,用于逻辑元组中心的行为规范。为了这个目的,我们利用一个正式的异步系统框架,允许协调媒体表示在一个单独的和独立的方式相对于协调实体。作为一个副产品,这表明,基于逻辑的方法可以有效地利用不同种类和技术的1多智能体系统的协调媒介多智能体系统正在迅速成为互联网时代复杂软件系统工程的基本范式[18,9,25]。Agent、Agent社会和Agent环境很可能是未来系统构建的基本抽象。从广义上讲,交互可能是当今复杂系统最相关的特征:系统是通过将交互的子系统(如对象、过程、组件、代理)放在一起来构建的,以便实现全局系统目标。在多代理系统中,管理代理交互的问题是特别相关的。事实上,智能体通常被认为对其周围环境有部分了解,以及有限的能力来观察其状态,感知其修改,并理解和预见其可能的演变。因此,它们通常依赖于与其他代理和环境的交互更重要的是,当涉及到互联网代理时,1电子邮件地址:aomicini@deis.unibo.it2 电子邮件地址:edenti@deis.unibo.it2001年由ElsevierScienceB出版。 诉 操作访问和C CB Y-NC-ND许可证。OMICINI和 DENTI2Agent环境的复杂性使得Agent交互成为一个相当复杂的问题。例如,互联网代理通常必须处理来自不同格式的异构源的不可预测的不完整在这种情况下,新的模式和技术正在出现,重点是互动作为一个独立的层面在建模和工程的硬件和软件系统。特别是,对协调模型和语言的研究[29,30,31,32,5,19,8,28]为计算机科学家和工程师提供了塑造和管理代理交互空间所需的抽象,语言和工具[7]。基本上,协调模型是一个概念框架,用于模拟多组件系统中的交互空间。在多智能体系统中,协调模型提供了规则智能体之间交互所需的机制和抽象[27]。代理社会可以建立在协调媒体周围,通过嵌入表示为协调法律的社会规则[4,7]。因此,协调媒介的作用是充当支配主体互动的法则的自然场所一个关键的问题,那么,是什么使协调媒介足以支持复杂的软件系统的建模和工程:在本文中,特别是,我们关注的是基于逻辑的语言可能在这样的背景下发挥的作用广义地说,基于逻辑的语言已经在基于互联网的多代理系统的上下文中显示出它们作为个体代理开发(作为计算语言)和代理间通信(作为通信语言)的语言的有效性。这里相关的是,一个基于逻辑的方法可以有效地利用,不仅建立个人的代理,并使多代理系统中的代理间通信,但也规则代理间的通信,以建立全球的行为。特别是,已经表明,基于逻辑的协调媒介,如逻辑元组中心,可以有效地利用互联网代理的协调[26]。简而言之,一个逻辑元组中心• 促进了逻辑元组在代理间通信中的使用,• 使得可以根据逻辑规范元组来定义协调介质响应于通信事件的行为,• 允许智能代理通过推理和作用于指定元组来检查和修改多代理系统的行为。在本文的其余部分,我们介绍并正式定义了逻辑元组中心的概念,以及用于规范逻辑元组中心行为的基于逻辑的语言ReSpecT为此,我们利用了[21]中介绍的异步系统的一般形式框架,这使得有可能以一种单独和独立的方式正式描述协调媒介的行为,而不是在许多后果中,这表明基于逻辑的协调媒介并不将代理和协调语言约束为基于逻辑的。OMICINI和 DENTI3ACLT相反,它促进了多代理系统的异质性,使代理的不同种类和技术相结合,并利用基于逻辑的方法进行协调2逻辑元组中心基于逻辑的语言已经成功地用于代理间的通信,特别是在基于元组的协调模型[21]的上下文中,例如共享Prolog [1],ESP [3],Linda Interactor [34],以及[23]. 在那里,通常采用逻辑元组空间(或等效物)的概念来实现代理间的通信以及某种形式的代理协调。从广义上讲,基于元组的模型,如Linda [20]及其许多后继者和扩展[6],促进了一种交互形式,其中协调基本上是根据生产,访问和消费信息来表达的。代理同步基于信息的可用性,信息以元组空间中的元组表示,并通过将元组映射到元组模板的匹配过程以关联方式访问[21]。2.1逻辑元组中心一个逻辑元组中心看起来像一个逻辑元组空间,因为它是由代理感知因此,像逻辑元组空间一样,逻辑元组中心包含多组逻辑元组,其中逻辑元组是原子公式,任何逻辑元组都可以作为可接受的元组模板,统一是元组匹配机制。此外,像逻辑元组空间一样,逻辑元组中心可以通过标准元组空间操作访问:简而言之,out将逻辑元组放入元组中心,而查询原语in,rd,inp,rdp提供元组模板(在其前阶段)并期望从元组中心返回统一元组(在其后阶段)。更准确地说,in和inp从元组中心删除统一元组,而rd和rdp将其留在那里;in和rd等待直到合适的元组变得可用,而inp和rdp在没有找到这样的元组时失败。使元组中心与元组空间不同的是被访问规范的概念,它定义了元组中心如何对传入/传出通信事件做出反应元组中心的行为规范用反应规范语言来表达,并将元组中心中可能发生的任何通信事件与称为反应的计算活动(可能为空)集合相关联。每个反应原则上可以访问和修改当前元组中心状态(例如,通过添加或删除元组),并访问与触发通信事件相关的所有信息(例如执行代理、所需操作、所涉及的元组等)。每个通信事件可以触发在元组中心本地执行的多个反应当通信事件发生时,元组中心首先以与OMICINI和 DENTI4标准元组空间,然后在服务任何其他代理触发的通信事件之前执行所有触发的反应这为元组中心提供了两个主要特征:• 由于空的行为规范不带来与通信事件相关的触发反应,因此当没有给出行为规范时,元组中心的行为默认为元组空间;• 从代理的观点来看,调用通信原语的结果是原语本身的效应和它触发的所有反应的总和,被因此,反应以这样的方式执行,即元组中心响应于通信事件的可观察行为仍然被代理感知然而,与其状态转换限于单个元组的插入或移除的标准元组空间不同,元组中心状态的感知转换可以根据需要变得复杂这使得有可能解耦的代理视图的元组中心(被视为一个标准的元组空间)从一个元组中心的实际状态,并将它们相关,以便嵌入的协调法律管理的多智能体系统。因此,原则上,元组中心允许明确定义协调规则并将其嵌入协调介质中-也就是说,实际上,它们在概念上属于那里2.2ReSpecT元组中心逻辑元组中心是一个元组中心,其中通信元组和反应规范语言都是基于逻辑的。ReSpecT语言[12]是一种基于逻辑的语言,用于指定元组中心的行为。作为一种行为规范语言,ReSpecT• 允许在元组中心内定义计算,称为反应,以及• 使得可以将反应与元组中心中发生的通信事件相因此,ReSpecT既有声明性部分,也有过程性部分。作为一种规范语言,它允许通信事件通过特定的逻辑元组(称为规范元组,其形式为反应(E,R))以声明方式与反应相关联。简而言之,给定一个通信eventEv,一个分离元组反应(E,R)将一个反应Rθ关联到Ev,如果θ=mgu(E,Ev)。作为一种反应语言,ReSpecT使反应能够按照逻辑反应目标进行程序化定义,每个反应要么成功,要么失败。如果一个反应的所有目标都成功了,那么它就成功了,否则就失败了。每个反应都是用事务语义顺序执行的:因此,失败的反应对逻辑元组cen的状态没有影响OMICINI和 DENTI5表1反应目标的主要ReSpecT元组空间访问和修改out r(T)成功并将元组T插入到元组中心rd r(TT)成功,如果在元组中心找到与模板TT统一的元组T,则通过将T与TT统一;否则in r(TT)成功,如果在元组中心找到与模板TT统一的元组T,则通过将T与TT统一并从元组中心移除T;否则失败如果在元组中心没有找到与模板TT,则nor(TT) 成功;否则失败通信事件信息如果T与当前通信事件所,则当前元组(T)成功如果A与触发当前通信事件一致,则当前代理(A)成功如果Op与产生当前通信事件,则当前op(Op)当前tc(N)成功,如果N与执行计算的元组中心的标识符一致pre在任何操作的pre阶段都成功post在任何操作的post阶段都成功成功在任何操作的前阶段都是成功的,任何成功操作的后失败在任何失败操作的后阶段成功tre。表1中报告了反应目标的主要ReSpecT谓词及其语义的非正式描述。由通信事件触发的所有反应在服务任何其他事件之前被执行:因此,代理感知服务通信事件的结果,并将所有相关反应一起执行为元组中心状态的单个转换。其结果是,一个通信原语上的逻辑元组中心的execution可以作为一个多智能体系统的协调要求一般来说,由于ReSpecT已被证明是图灵等价的[12],因此任何可计算的协调律原则上都可以封装到ReSpecT元组中心中。ReSpecT元组中心在概念上由两部分构成:包含普通通信元组的元组空间和规范OMICINI和 DENTI6空间,包含指定元组。这种区别表明了两个层次的抽象空间的代理交互:通信和协调的观点。通过在任何时候表示代理交互的当前状态,(普通)元组空间的状态使得通信观点可用。相反,指定元组的空间提供了协调观点,因为元组中心的行为指定管理着代理间的通信,而指定元组实际上定义了代理协调规则。另一方面,由于ReSpecT元组中心中的两个空间都可以被视为酉逻辑子句的集合,因此它们在某种意义上可以分别被视为通信和协调的理论[23]。由于智能体原则上可以以统一的方式访问元组空间和指定空间,因此它们可以在任何时候选择在它们所属的多智能体系统上采用通信或协调观点。因此,ReSpecT的基于逻辑的方法原则上使代理能够通过考虑通信和协调理论来推理系统状态和协调,并赋予代理通过作用于指定空间来改变协调规则的能力ReSpecT定义的协调规则的几个示例可以在[12]”[26]。接下来,第2.3小节报告了一个简单的示例,以帮助读者2.3显示一些ReSpect在经典的用餐哲学家问题中,N个哲学家代理共享N双筷子和一个意大利面碗。每个哲学家都需要两只筷子来吃饭,但是每一只筷子都是由两个相邻的哲学家共享的:所以,这两只筷子必须原子地获得以避免死锁,并原子地释放以确保公平。在(逻辑)元组空间中,筷子可以单独表示(chop(i)表示第i个筷子k)或成对表示(chops(i,j)表示两个相邻的筷子i和j)。第一个选择对该领域来说是最自然的,但如果哲学家不能原子地得到他所需要的两个筷子,那么很容易导致僵局第二种选择将解决死锁问题,但会引入确保一致性的问题。域表示:例如,一旦chops(3,4)被采用,chops(2,3)和chops(4,5)也将不再可用。相反,确保第一个选择避免死锁需要哲学家同意一个锁定协议,例如在获得筷子之前从元组空间中取出一个信号量元组,并在之后立即释放这将需要代理之间的全球协议,这不能很好地应对基于互联网的多代理系统的典型开放性更重要的是,由于没有办法强制执行协调定律,因此没有办法确保哲学家始终遵守所需的锁定协议:OMICINI和 DENTI7表2餐厅哲学家ReSpecT代码反应(out(chops(C1,C2)),(in r(chops(C1,C2)),(1)out r(chop(C1)),out r(chop(C2) 。反应(在(chops(C1,C2)中),(预,(2))outr(required(C1,C2) 。反应(在(chops(C1,C2))中),(后,(3)inr(required(C1,C2)。reaction(out r(required(C1,C2)),((4)inr(chop(C1)),in r(chop(C2)),out r(chops(C1,C2)。reaction(out r(chop(C)),(rd r(required(C1,C)),(5)in r(chop(C1)),in r(chop(C)),out r(chops(C1,C)。reaction(out r(chop(C)),(rd r(required(C,C2)),(6)in r(chop(C)),in r(chop(C2)),out r(chops(C,C2)。哲学家代理可以尝试在没有首先同步信号量元组的情况下获得筷子。因此,从代理因此,一个想吃东西的哲学家应该通过一次in(chops(i,j))操作获得他所需要的食物对,并在吃完后通过一次in(chops(i,j))操作out(chops(i,j))操作。当然,这些行动的结果应该是是从元组空间中对执行代理透明地原子移除/插入chop(i)和chop(j)元组通过采用ReSpecT元组中心,这可以通过在ReSpecT反应方面将所需的协调定律嵌入元组中心来实现,从而也免除了代理直接处理协调。表2中的ReSpecT代码实际上使元组中心的行为在代理的筷子表示和元组空间表示之间进行调解例如,如果哲学家通过out(chops(2,3))操作释放筷子2和3,表2中的反应1将导致元组chops(2,3)的移除,以及随后元组chop(2)和chop(3)的插入-从代理这使得哲学家对元组chop(2,3)的发射实际上导致元组空间中存在两个元组chop(2)和chop(3),根据需要在两个不同的符号表示之间进行调解。类似地,反应(2-6)确保当哲学家通过in(chops(i,j))操作要求其对时获得对偶行为,也通过所需的(i,j)元组处理代理的暂停的情况OMICINI和 DENTI8VFV一T TF一TTO{}O O O3正式点3.1记法语法ReSpecT采用了逻辑语言(如Pro-log)的典型语法约定如果τ是由π和π构成的项的集合,γ是由π构成的基项的集合,那么π是将Π的谓词符号应用于τ的项而构成的原子公式的集合。在ReSpecT中,逻辑元组和元组模板都是原子公式。结果,如果表示元组语言, 元组模板语言,=为保持不变,因此ReSpecT元组中的普通元组的空间中心是一个多组原子公式。相应地,ReSpecT元组中心的元组匹配谓词M的定义是基于统一的,因此,给定元组t∈ T=F和元组模板t∈ T=F,M(t,t)::=<$θ变量替换,θ = mgu(t,t)即元组t根据M i ≤ t和t统一匹配模板t。作为一种规范语言,ReSpecT定义了填充规范空间的规范元组的形式特别地,ReSpecT行为规范σ是由表3中的语法定义的规范元组的(可能为空)多集合。作为反应语言,ReSpecT定义了ReSpecT容许反应的集合R。特别是,R完成了表3中非末端符号“反应”可容许的通信操作的集合O={out,in,rd,inp,rdp}和可容许的反应操作的集合r=out r,in r,rd r,nor包括根据表1和表3的用于写入、访问和消费元组。 总而言之,集合+=r包含ReSpecT元组中心的所有可允许的元组中心操作。最后,代理通过基项表示,因此ReSpecT代理宇宙(即,可协调代理的可接受标识符的集合[21])是基项的集合γ(=γ)。每个ReSpecT逻辑元组空间也由一个基项表示,因此ReSpecT协调论域N(即协调介质[21]的容许标识符集)再次与基项集γ(N=γ)重合。3.2语义根据[21]中定义的框架,协调媒介适合于交互式转换系统方面的操作表征其中通信状态是系统状态,一些转换由交互事件触发,并且一些转换生成输出事件。因此,为了正式表示配位介质的行为,OMICINI和 DENTI9↑/↑↓∈ T<$T F ∈{↓ ↑ /↑}∈ N ∈ O∈ E ∈ AE表3ReSpecT的核心语法BehaviourSpecification}SpecificationTuple事件Reaction|(<$ReactionGoal<${,<$ReactionGoal<$})ReactionGoal|事件信息|事件谓词操作|公司简介COperation|在|InP|路|RDPROoperation|r中|研发中心|没有rEventInformation|当前座席|电流运算|当前tcEventPredicate|邮政|成功|失败对于ReSpecT元组中心,我们应该首先定义其可容许通信事件的概念,然后根据过渡系统定义其行为定义3.1[容许通信事件]如果a,n∈γ,o∈ O,t∈ F,且?∈ {↓,↑,/ ↑},则啊?nt是ReSpecT元组中心的可接受通信事件我们表示为 所有可接受的通信事件的集合, ReSpecT元组中心。特别是,如果oa?n= t,a=γ表示触发agent,n=γ表示目标元组中心,o表示事件操作,t=事件元组。而且,? 、、、是事件的方向,其中表示从触发代理到目标元组中心的通信事件,而和表示从元组中心到代理的事件,分别具有成功和失败语义(例如,成功或失败的INP查询的答案同样,我们定义了容许反应事件的概念。定义3.2[容许反应事件]如果a,n∈γ,o∈ Or,t∈ F,且?∈ {↓,↑},则啊?nt是ReSpecT元组中心的容许反应事件OMICINI和 DENTI10E E∈ E ∈R∈ O ∈ F∈ E∅∈E然后,如果Er表示容许反应事件的集合,则E+=r是ReSpecT元组中心的容许元组中心事件的集合。根据第2节,逻辑元组中心基本上是一个逻辑元组空间,它富含一个行为规范,将任何元组中心事件与一个(可能是空的)多反应集相关联。特别是,如果ReSpecT行为规范σ与事件e+至反应R,我们说e根据σ触发R,因此触发的反应(e,R)必须由元组中心执行。ReSpecT的语义现在可以用两个函数给出• 反应规格函数Z• 反应评价函数E代表ReSpecT作为规范语言和反应执行语言的双重角色:特别是,Z定义了ReSpecT如何将事件与反应相关联,而E封装了ReSpecT用于反应执行的概念机制。因此,反应指定函数Z根据元组中心的行为指定将元组中心事件和反应定义3.3[反应指定函数]如果o(t)+是一个容许的元组中心事件,以o+作为其事件操作,t作为其事件元组,我们定义如果o=o,M(t,t),则M{(o(t),Rθ)z(o(t),reactionn(o(t),R))::=0其中θ=mgu(t,t)。然后,给定ReSpecT行为规范σ和容许元组中心事件e∈E+,反应规范函数Z定义如下:Zσ(e)::=z(e,r)其中表示多集合并集。r∈σ因此,给定一个行为规范σ和一个容许的元组中心事件e,Zσ(e)表示由e根据σ触发的反应的多集合。 特别是,由于定义e+,Z(e) = 当σ=时,元组中心的行为默认为元组空间的行为,正如我们对元组中心的定义所暗示的那样。反过来,反应评估函数E封装了反应执行的结果事实上,给定一个逻辑元组中心,其行为规范为σ,其逻辑元组空间为T,E采取触发反应(e,R)∈ E+×R和T,并返回对Eσ((e,R),T)=(TJ,ZJ),其中TJ否则OMICINI和 DENTI11表4ReSpecT反应目标的语义n(inr(t),G),T{t′},Z是吗?nt −→ <$Gθ, T, ZZσ(inra↑ntθ)<$是吗?nt其中M(t,t′), θ=mgu(t,t′),d? ∈{↓,↑,/↑}<$(rdr(t),G), T{t′}, Z<$a−→ <$Gθ,T{t′}, ZZσ(rdra↑ntθ)<$a是吗?nt其中M(t,t′), θ=mgu(t,t′),d?∈{↓,↑,/↑}是吗?nt<$(no r(t),G),T,Z<$a−→ <$G,T,ZZσ(no ra↑nt)<$a是吗?nt其中<$t′∈T,<$M(t,t′)且?∈{↓,↑,/↑}是吗?nt(out r(t),G),T,Z{t},ZZσ(out ra↓nt)a是吗?nt在哪儿?∈ {↓,↑,/↑}(当前代理(A),G),T,Z <$σ,oa?nt−→ <$Gθ,T,Z<$σ,oa?nt其中θ=mgu(A,a)且?∈ {↓,↑,/↑}(current tc(N),G),T,Z <$σ,oa?nt−→ <$Gθ,T,Z<$σ,oa?nt其中θ=mgu(N,n)和?∈ {↓,↑,/↑}(current op(O),G),T,Z <$σ,oa?nt −→ <$Gθ,T,Z<$σ,oa?nt其中θ=mgu(O,O)且?∈ {↓,↑,/↑}(当前元组(T),G),T,Z <$σ,oa?nt−→ <$Gθ,T,Z<$σ,oa?nt其中θ = mgu(T,t)和?∈{↓,↑,/↑}(pre,G),T,Z<$σ,oa↓nt−→ <$G,T,Z<$σ,oa↓nt(post,G),T,Znt−→ nG,T,Z<$σ,oa?nt在哪儿?∈ {↑,/↑}(成功,G),T,Znt−→ nG,T,Z <$σ,oa?nt在哪儿?∈ {↓,↑}(失效,G), T, Z<$σ,oa/↑nt−→ <$G,T,Z<$σ,oa/↑nt是吗?nt表示逻辑元组空间的新状态,ZJ表示新触发的反应的(可能定义3.4[反应执行函数]设G,GJ为反应目标序列,T,TJ为多组逻辑元组,OMICINI和 DENTI12⟨⟩Z,ZJ为多组触发反应,e∈ E+一个容许元组中心事件,σ为ReSpecT行为规格。然后,将反应执行状态定义为三元组G,T,Z σ,e,而反应执行步骤是过渡<$G,T,Z<$σ,e−→ <$GJ,TJ,ZJ <$σ,e遵循表4的规则如果反应执行序列是反应执行步骤的序列,则G,T,ZOMICINI和 DENTI13⟨⟩∈ E⟨∅⟩∈ E ×R⟨⟩表示其初始状态为G,T,Zσ,e的反应执行序列的最终状态,即,不存在适用规则的序列的第一状态最后,给定ReSpecT行为规范σ,+,以及逻辑元组的多集合T,反应执行函数E定义如下:<$(TJ,ZJ)如果<$R,T,<$$>σ<$,e=<$<$R, TJ,ZJ<$σ,eEσ((e,R),T)::= <$(T,<$) 如果<$R,T,<$σ,e=<$GJ, TJ,ZJ <$σ,e,GJ=<$为了帮助直觉,在反应执行序列的任何步骤,G表示尚未执行的反应目标,T表示普通元组空间的当前状态,Z表示由已经执行的反应目标触发的反应的集合,而e是最初触发反应执行的事件相应地,在ReSpecT元组中心(其元组空间为T并且其行为规范为σ)中执行触发的反应(e,R)+是由初始状态为R,T,σ,e的序列表示。上述定义还说明了ReSpecT的成功/失败事务语义- 反应:如果要执行的操作的序列为空,则由事件e触发的反应R已经成功执行,并且提供新的元组集合TJ以及新触发的反应集合ZJ用于更新元组中心状态。否则,返回旧的元组集合T,并且不触发新的反应,使得在元组中心状态中不发生改变转换按照表4的规则发生,其中所有符号都保持其通常的含义。当没有反应目标需要执行,或者没有可用的规则时,序列就达到了最终状态由于每个步骤实际上从反应中删除一个目标,并且对于任何反应,反应目标的数量都是有限的,因此每个反应都保证在有限数量的步骤中执行值得注意的是,事实上,表4中的每个规则都正式定义了ReSpecT反应谓词的语义,并且与表1中给出的相应非正式定义完全3.3元组中心行为根据[21],逻辑元组空间的状态可以表示为对T,W,其中T是元组空间中逻辑元组的多集合,W是等待被服务的未决查询的多集合关于元组空间,元组中心的状态也包含以对(e,R)的形式触发的反应,记录由事件e根据行为规范σ触发的反应R当前正在等待执行。所以,可以将ReSpecT元组中心的值表示为三重T,W,Z,σ,其中:• T是当前在普通元组空间中的逻辑元组的多重集合(T∈T,t∈ F)OMICINI和 DENTI14⟨⟩↓∈∅∅{↓}联系我们• W是待处理查询的多重集合,即代理触发的对元组中心接受并等待被服务的元组的请求(W∈W,w∈ E)• Z是等待执行的触发反应的多个集合(z∈Z,z∈ E+× R)并且σ是确定元组中心状态的演变的ReSpecT行为规范给定一个元组中心,其状态为T,W,Zσ,我们将W中的待处理查询的多集合表示为Ws,根据匹配谓词M,该多集合可以由T中的某个元组满足。特别地,W s被定义为使得如果o a↓nt∈W,其中o∈ {in,rd,inp,rdp},并且nt∈T使得M(t,t)为真,则o anntW s。此外,我们表示为Wp的多个集合的挂起查询在W对应的预测查询操作,即那些成功/失败的语义。特别地,W p被定义为使得如果o a↓nt∈W且o∈ {inp,rdp},则oa↓nt∈ W p。元组中心的操作行为现在可以用一个有三种可容许跃迁的跃迁系统• listening(−→l),将代理触发的通信事件作为输入• speaking(−→s),将答案作为输出• reacting(−→r),处理反应执行每当它没有任务要完成时,也就是说,当既没有可满足的查询仍然挂起(Ws=0),也没有等待答案的谓词查询(Wp=),也没有要执行的触发反应(Z=)时,元组中心等待来自代理的通信事件:在这种状态下,我们看到元组中心正在侦听。当这样的通信事件到达元组中心时,触发监听转换,其根据事件操作采取以下形式之一:如果Wp=Ws=0且o=out,oa↓ntaT,W,若Wp=Ws=0且o∈{in,rd,inp,rdp},你好,我是说,T,W,σ−→lT,W{o↓nt},Zσ(o↓nt)σ所有的符号都保留了它们通常的含义。特别地,Zσ(oa↓nt)表示根据行为规范σ由事件oa↓ nt触发的反应的多集合。当仍然没有要执行的触发反应,但存在可满足的未决查询(Ws/=W p)或没有可满足的未决查询的谓词查询(Ws=Wp=)时,触发说话转换,采取以下形式之一:如果o∈{in,inp}且M(t,tJ),N⟨T{t},W{o↓nt},σ−→sT,W,Zσ(o↑nt)σOMICINI和 DENTI15↓如果o∈{rd,rdp}且M(t,tJ),Jaoa↑ntJJaJT{t},W{o↓nt},若Ws=0且o∈{inp,rdp},aoa/n↑taT,W{o↓nt},所有上述规则导致输出事件被发送回触发代理a,作为对它的查询的回答,该查询先前被监听转换记录为未决查询oan t特别地,前两个规则对应于成功服务的查询,而第三个规则表示对谓词查询失败。最后,每当触发的反应仍要执行时,执行转换,采用以下形式:如果z∈Z,<$T,W,Z{z}<$σ−→r<$TJ,W,ZZJ <$σ其中(TJ,ZJ)=Eσ(z,T)是根据反应评价函数E(见定义3.4)执行反应z的应当注意,元组中心既不接收外部事件(即,不启用监听转换),也不为其提供未决查询(即,不启用说话转换),直到它已经执行了所有触发的反应(即,,每个可容许的反应跃迁都已执行)。换句话说,在处理来自代理的任何进一步请求之前,由元组中心执行根据元组中心行为规范的通信事件触发的所有反应。因此,智能体将任何通信事件的结果及其触发反应的结果作为一个整体来感知,即作为元组中心状态的单个转换。 这正是这一点使得利用ReSpecT对元组中心进行编程成为可能,从而通过用反应规范语言表达协调规则并将其嵌入协调介质中,使其表现出新的观察行为4相关工作和结论使用Prolog作为通信语言并不是一种原始的方法-例如,大多数FIPA示例显式地使用Prolog作为内容语言[16]。然而,代理通信语言(如FIPA或KQML[15]),虽然有效地关注代理通信的问题,但只稍微解决了代理协调的问题[24]-这是ReSpecT的中心问题。关于利用逻辑语言协调多智能体系统的其他建议[33,1,3],逻辑元组中心的概念增强了逻辑元组空间的概念,能够以基于逻辑的语言ReSpecT表达多智能体系统协调的规律,并将其嵌入协调媒体中。本文中定义的逻辑元组中心的概念已经被两个不同的OMICINI和 DENTI16基于互联网的多智能体系统的协调模型:LuCe[13]和TuCSoN[26]。在那里,ReSpecTtuple centres已经证明,基于逻辑的语言也可以成功地用于Agent社会的协调,特别是在开放,分布式和异构多Agent系统中的社会行为工程中[7]。在本文中,我们正式定义了逻辑元组中心的概念以及基于逻辑的语言ReSpecT的操作语义,用于指定逻辑元组中心的行为为此目的而采用的语义框架[21]允许协调媒介以相对于协调实体的单独和独立的方式通过利用可接受的通信事件的概念,我们能够完全定义ReSpecT元组中心的语义,而无需对协调代理的性质和行为进行假设。采用基于逻辑的协调媒介并不限制代理和协调语言是基于逻辑的:相反,不同种类和技术的代理可以通过逻辑元组中心进行组合和协调,例如[14]中所示,其中基于Java和基于Prolog的代理通过分布式基于Internet的系统中的多个ReSpecT元组中心进行交互此外,通过将行为规范语言的语义封装在两个函数中(Z和E,定义3.3和3.4),我们让元组中心的概念独立于所选择的行为规范语言。因此,由移动代理的MARS协调模型[2]定义的反应元组空间也可以被解释为元组中心,但是具有不同的反应规范语言和不同的反应执行模型- 两者都是基于Java的。MARS元组中心的语义原则上可以与ReSpecT相似地定义,通过定义元组和模板的特定概念(作为JavaSpaces条目[17]),合适的匹配谓词以及MARS特定的Z和E函数。与MARS集团合作,我们目前正在探索基于元组中心概念定义独特的异构协调模型的机会,并结合基于逻辑和基于Java的语言进行代理间通信和协调。最后,我们正在深入探讨协调与安全这两个问题之间的关系[10]。特别是,我们目前正在专门研究逻辑元组中心的概念,以便嵌入代理访问控制的基本机制,以及拓扑抽象来建模分布式系统,再次利用基于逻辑的方法[11]。引用[1] Brogi,A. P. Ciancarini,The concurrent language,Shared Prolog,ACMTransactions on Programming Languages and Systems13(1991),pp.99比123OMICINI和 DENTI17[2] Cabri , G. , L. Leonardi 和 F. Zambonelli , MARS : A ProgrammableCoordination Architecture for Mobile Agents , IEEE Internet Computing4(2000),pp.26比35[3] Ciancarini , P. , Distributed Programming with Logic Tuple Spaces , NewGeneration Computing12(1994),pp.251-284。[4] Ciancarini,P.,Coordination models and languages as software integrators,ACM Computing Surveys28(1996),pp. 300-302[5] Ciancarini,P.和C. Hankin,editors,[6] Ciancarini,P.,A. Omicini和F. Zambonelli,互联网代理,Nordic Journalof Computing6(1999),pp.215-240[7] Ciancarini,P.,A. Omicini和F.多智能体系统工程:协调观点,载:N. R.Jennings 和 Y.Les P'erance, 编 辑 , 智 能 代 理 VI 。 Agent Theories ,Architectures,and Languages,LNAI 1757(2000),pp. 250[8] Ciancarini,P.和A. L. Wolf,editors,[9] Ciancarini,P.和M. J.Wooldridge,editors,[10] Cremonini,M.,A. Omicini和F. Zambonelli,互联网上的多代理系统:将协调范围扩展到安全和拓扑,见:Garijo和Boman [18],pp.七十七比八十八[11] Cremonini,M.,A. Omicini和F. Zambonelli,结构化环境中的统治代理运动,M。R. Bubak,H.阿夫萨尔马内什河威廉姆斯和B. Hertzberger , editors , High Performance Computing and Networking ,LNCS1823(2000). 187[12] Denti,E.,A. Natali和A. Omicini,关于编程协调媒体,在:SAC 1998[29],pp.169比177[13] Denti , E. 和 A. Omicini , 基 于 元 组 的 多 代 理 系 统 , 软 件 实 践 经 验 29(1999),pp.1103-1121。[14] Denti,E.,A. Omicini和V. Toschi,互联网上MAS设计和开发的LuCe协调技术,载于:Porto和Roman [28],pp.305-310[15] Finin,T. W.,R. Fritzson,D. McKay和R. McEntire,KQML作为一种代理通信语言,在:第三届信息和知识管理国际会议(CIKM456-463OMICINI和 DENTI18[16] 智能物理代理基金会,FIPA主页。网址http://www.fipa.org[17] Freeman,E.,S. Hupfer和K. Arnold,[18] 加里霍湾J.和M. Boman,editors,[19] Garlan,D.和D.LeM′et a yer,editors,“C o ordination LanguagesandModels , ”LNCS1282 , Springer-Verlag , 1997 , 2ndInternational Conference ( COordination'97 ) , 1-3 September1997,Berlin(D),Proceedings.[20] Gelernter,D.,Linda,ACM Transactions on Programming Languages andSystems7(1985),pp. 80比112[21] Omicini,A.,基于元组的协调模型的语义,在:SAC 1999 [30],pp. 175-182.[22] Omicini,A.,SODA:Societies and infrastructures in the analysis and designof agent-based systems,in:Ciancarini and Wooldridge [9],pp. 185-193。[23] Omicini,A.,E. Denti和A. Natali,Agent协调和控制通过逻辑理论,在:M 。 Gori 和 G. Soda , 编 辑 , Topics in Artificial Intelligence , LNAI992(1995),pp. 439-450,意大利人工智能协会第四届大会(AI*IA'95),佛罗伦萨(I),1995年10月11日至13日,会议记录。[24] Omicini,A.和G. A. Papadopoulos:为什么要在AI中使用协调模型和语言?应用人工智能15(2001),pp. 1[25] Omicini,A.,R. Tolksdorf和F. Zambonelli,editors,[26] Omicini , A. 和 F. Zambonelli , Coordination for In
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 批量文件重命名神器:HaoZipRename使用技巧
- 简洁注册登录界面设计与代码实现
- 掌握Python字符串处理与正则表达式技巧
- YOLOv5模块改进 - C3与RFAConv融合增强空间特征
- 基于EasyX的C语言打字小游戏开发教程
- 前端项目作业资源包:完整可复现的开发经验分享
- 三菱PLC与组态王实现加热炉温度智能控制
- 使用Go语言通过Consul实现Prometheus监控服务自动注册
- 深入解析Python进程与线程的并发机制
- 小波神经网络均衡算法:MATLAB仿真及信道模型对比
- PHP 8.3 中文版官方手册(CHM格式)
- SSM框架+Layuimini的酒店管理系统开发教程
- 基于SpringBoot和Vue的招聘平台完整设计与实现教程
- 移动商品推荐系统:APP设计与实现
- JAVA代码生成器:一站式后台系统快速搭建解决方案
- JSP驾校预约管理系统设计与SSM框架结合案例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功