INGENIAS:多智能体系统开发的综合方法与工具
立即解锁
发布时间: 2025-08-20 00:46:00 阅读量: 1 订阅数: 1 


面向代理的软件工程方法论综述
# INGENIAS:多智能体系统开发的综合方法与工具
## 1. 引言
在多智能体系统(MAS)的开发领域,存在多种方法论,每种都基于自身对智能体的模型假设,提供不同的开发方法。这种多样性虽为智能体研究带来了不同视角,促进了概念实验,但也给软件行业采用智能体技术及整合领域进展带来了挑战。
INGENIAS 方法认识到随着智能体技术的发展,需要不断演变以采用或改变概念,并将持续的研究融入稳定的知识体系。其基于以下几个关键方面构建:
- **开源 CASE 工具**:这些工具对社区免费开放,使得开发方法能够得到验证和复制,符合软件工程的本质。
- **可扩展和细化的符号体系**:元建模原语允许对概念进行泛化、特化、聚合或细化,整合了智能体研究的成果,形成了一种综合性的 MAS 定义方法。
- **详细且经过实践的开发过程**:开发者在 INGENIAS 中能找到具体的活动、预期结果、支持工具以及组织这些活动的生命周期。
- **实现考量**:该方法致力于考虑如何自动将规范转化为代码,提议将定制代码生成程序的开发作为开发任务之一。
## 2. INGENIAS 建模视角
为了管理 MAS 规范的复杂性,INGENIAS 提出将相关概念组织成五个视角:组织、智能体、任务/目标、交互和环境。这些视角基本对应于 MESSAGE 项目中定义的概念和视图,并在 INGENIAS 中得到了进一步细化和完善。
### 2.1 组织视角
组织视角描述了智能体、资源、任务和目标共存的框架,由结构、功能和社会关系定义。
- **结构方面**:组织是一组具有聚合和继承关系的实体,其结构定义了 MAS 在组和工作流中的分解。组可以包含智能体、角色、资源或应用程序,有助于管理 MAS 中元素数量增加的情况。
- **功能方面**:组织的功能由其目的和任务定义,有一个或多个目标,并依赖智能体执行必要的任务来实现这些目标。
- **社会关系方面**:社会关系可以在组织、组、智能体或角色之间建立,包括服务关系、条件或无条件的从属关系等。社会规则对组织中实体之间的交互进行限制。
### 2.2 智能体视角
智能体是遵循合理性原则(Newell, 1982)并处理知识的程序。智能体视角关注每个智能体的功能,包括目的、责任和能力。智能体的行为通过三个组件定义:
- **心理状态**:是目标、信念、事实和承诺等心理实体的集合,每个智能体有一个初始心理状态。
- **心理状态管理器**:提供创建、销毁和修改心理实体的操作。
- **心理状态处理器**:决定心理状态如何演变,通过规则、规划等方式描述。
### 2.3 任务/目标视角
任务/目标视角考虑目标和任务的分解,描述执行任务的后果以及执行任务的原因。对于每个任务,确定所需的元素和预期的输出,通过满足和失败关系识别受任务执行影响的目标,并解释解决一个目标如何影响其他现有目标。
### 2.4 交互视角
交互视角处理智能体之间或智能体与人类用户之间的信息或请求交换。定义交互需要识别以下要素:
- **交互参与者**:包括发起者和协作者,至少有一个协作者和一个发起者。
- **交互规范**:详细说明交互在运行时的构建方式,包括遵循的协议、智能体应遵守的心理态度以及发送或接收消息时触发的动作。
- **交互上下文**:包括交互追求的目标以及参与者在交互开始、执行和结束时经历的心理状态。
- **交互性质**:指交互参与者的态度,如协商、合作、分布式规划等。
### 2.5 环境视角
环境视角定义了 MAS 与之交互的实体,包括资源、其他智能体和应用程序。
- **资源**:是任务所需但不提供具体 API 的元素,如 CPU、文件描述符或内存,被分配给智能体或组。
- **其他智能体**:来自其他现有组织,满足合理性原则,MAS 中的智能体与它们交互以满足系统目标。
- **应用程序**:通常提供本地或远程 API,用于表达智能体的感知和动作,产生可观察的事件。
各视角之间存在实体重复的情况,这会导致视角之间的依赖关系,可能成为规范不一致的来源。为处理这些依赖关系,INGENIAS 在开发过程中引入了验证活动。
## 3. INGENIAS 开发过程
INGENIAS 开发过程帮助开发者生成 MAS 规范及其实现。在简单开发中,生成规范可能只是识别有效的领域问题实体,但由于不同视角之间的固有依赖关系,添加新信息可能需要为不同视角创建或修改图表。
INGENIAS 最初采用统一软件开发过程(USDP)作为其软件开发过程,并定义了一组相互关联的活动(约一百个),这些活动通过 UML 活动图组织,展示了它们之间的依赖关系。以下是开发过程各阶段的主要结果:
|阶段|分析活动结果|设计活动结果|
| ---- | ---- | ---- |
|初始阶段| - 生成用例并识别参与者<br>- 用组织模型勾勒系统架构<br>- 生成环境模型以表示需求收集阶段的结果| - 处理与开发可行性相关的技术问题,如通信和用户交互|
|细化阶段| - 细化用例及其关联的交互<br>- 详细描述系统架构元素的智能体模型<br>- 组织模型中的工作流和任务<br>- 突出控制约束的任务和目标模型<br>- 细化环境模型以包含新元素| - 定义不同智能体之间的工作流<br>- 完成工作流定义,包括智能体交互<br>- 细化智能体的心理状态|
|构建阶段| - 生成原型,可能使用快速应用开发工具或 IDK 中的代码生成器<br>- 细化工作流<br>- 展示任务执行方式的交互模型<br>- 反映工作流中识别的依赖关系和需求的任务和目标模型<br>- 展示所需心理状态模式的智能体模型<br>- 细化现有模型以覆盖用例<br>- 生成新模型<br>- 规范组织行为的社会关系| - 处理未在细化阶段考虑的用例,通常对应不修改关键功能的具体情况|
每个视角在 INGENIAS 中通过两组活动构建,分别针对分析和设计阶段。这些活动被组织成活动图,帮助开发者处理 USDP 的迭代特性。
### 3.1 开发过程活动示例
以生成智能体视角的分析活动为例,具体活动如下:
```mermaid
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,str
```
0
0
复制全文
相关推荐







