协调代理行为规范方法解析
1. 角色定义
角色定义包含两个部分:向下接口和向上接口。向下接口声明子团队承担该角色时必须处理的事件,向上接口声明团队实体拥有该角色的团队成员时需要处理的事件。以下是角色定义的示例:
role NorthAgent extends Role {
// 向下接口
#handles event ....
// 向上接口
#posts event ....
}
向下和向上事件都通过 @team_achieve
语句进行子任务分配。向下事件由团队作为子团队要实现的目标进行子任务分配,而向上事件则由子团队请求团队执行的子目标来进行子任务分配。
角色在团队中用于定义团队和子团队的结构,明确它们相互期望和要求的目标。执行角色的能力通过 #performs role
语句声明,而对角色填充者的需求则通过 #requires role
语句声明。 #requires role
语句还引入了符号引用(即变量),用于团队计划中引用角色填充者。团队计划通过角色填充以符号方式引用涉及的任何子团队,允许将填充角色的团队选择推迟到运行时。
目前, #requires role
语句仅限于每个角色位置单独标识的形式。这意味着角色填充实际上与技能和能力严格相关。团队计划不仅要满足各种角色的要求,还要直接确定哪个特定的角色位置执行哪个任务。
2. 子团队活动协调
在 SimpleTeam 方法中,团队计