十种面向代理方法的比较
在软件开发领域,面向代理的软件工程(AOSE)方法不断涌现,每种方法都有其独特的特点和适用场景。为了帮助开发者选择最适合特定应用的方法,对多种AOSE方法进行评估和比较是十分必要的。
1. 评估框架
评估框架的构建整合了多种特征分析框架的评估标准,既包含评估传统系统开发方法的标准,也有针对AOSE方法的特定标准。同时,还添加了一些现有框架未包含的评估标准,如“面向MAS开发的方法”、“对移动代理的支持”和“对本体的支持”等,并通过调查验证了这些标准的相关性和准确性。
评估框架的标准分为四大类:
-
过程相关标准
:评估AOSE方法的开发过程,包括开发生命周期、生命周期覆盖范围、开发视角、应用领域、MAS规模、代理性质、对验证和确认的支持、开发过程中的步骤、模型和符号组件、输入和输出的定义、过程步骤的易理解性、方法的可用性以及可细化性等。
-
技术相关标准
:评估方法提供的技术的可用性和易用性,包括技术和启发式方法的可用性、技术的易理解性、技术的可用性以及是否提供技术示例。
-
模型相关标准
:评估方法的模型和符号组件的各个方面,如模型能够表达的概念、模型的完整性和表达能力、符号组件的形式化和精确性、模型推导、一致性、复杂性、模型的易理解性、模块化、抽象性、自主性、适应性、合作行为、推理能力、通信能力、个性、反应性、时间连续性、审议行为、并发性、人机交互以及模型重用等。
-
支持性功能标准
:评估AOSE方法的各种高级补充功能,包括是否有软件工具和方法支持、是否支持开放系统、是否支持动态结构、是否支持敏捷性和健壮性、是否支持传统对象、是否支持移动代理以及是否支持本体。
| 标准类别 | 具体标准 |
|---|---|
| 过程相关标准 | 开发生命周期、生命周期覆盖范围、开发视角、应用领域、MAS规模、代理性质、支持验证和确认、开发步骤、模型和符号组件、输入输出定义、步骤易理解性、方法可用性、可细化性、面向MAS开发方法 |
| 技术相关标准 | 技术和启发式可用性、技术易理解性、技术可用性、提供技术示例 |
| 模型相关标准 | 概念、完整性/表达能力、形式化/精确性、模型推导、一致性、复杂性、模型易理解性、模块化、抽象性、自主性、适应性、合作行为、通信能力、推理能力、反应性、审议行为、个性、时间连续性、并发性、人机交互、模型重用 |
| 支持性功能标准 | 软件和方法支持、开放系统支持、动态结构支持、敏捷性和健壮性支持、传统对象支持、移动代理支持、本体支持 |
2. 比较分析
2.1 过程相关标准比较
对10种AOSE方法在过程相关标准方面进行比较,结果显示这些方法要么采用正式定义的开发生命周期,要么非正式描述其生命周期范式,且开发过程都涉及高度的迭代。INGENIAS在可细化性方面表现最佳,其所有模型在分析和设计阶段逐步细化和扩展以实现最终的实施。大多数方法采用基于面向对象的方法,而MAS - CommonKADS采用基于知识工程的方法,TROPOS则基于i*建模框架。在“角色”使用方法上,部分方法为角色导向(RO),部分为非角色导向(NRO),RO方法又可分为目标导向(GO)、行为导向(BO)和组织导向(OrO)等不同识别角色的方法。
| 方法 | 开发生命周期 | 生命周期覆盖范围 | 开发视角 | 应用领域 | MAS规模 | 代理性质 | 支持验证和确认 | 步骤易理解性 | 方法可用性 | 可细化性 | 面向MAS开发方法 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| INGENIAS | 统一软件开发过程 | 分析、设计和实现 | 混合 | 独立(协作信息过滤、个人计算机管理、机器人战斗) | 未指定,但可能适用于任何规模 | 具有目标和状态的代理 | 是 | 高 | 高 | 是 | a. OO;b. RO |
| MESSAGE | RUP | 分析和设计 | 混合 | 独立(网络管理、运营支持系统、知识管理系统) | 未指定,但可能适用于任何规模 | 异构 | 提及作为未来增强 | 高 | 中 | 是 | a. OO;b. RO (GO和BO) |
| RAP | RUP | 分析和设计 | 混合 | 依赖 - 分布式组织信息系统(供应链管理、企业资源规划) | 任何规模 | 反应式代理 | 否 | 高 | 中 | 是 | a. OO;b. RO |
| MASE | 各阶段迭代 | 分析和设计 | 自上而下 | 独立(分布式规划、数据库集成系统、计算机病毒免疫系统、自动控制) | <= 10个代理类 | 未指定,但可能是异构 | 是 | 高 | 高 | 是 | a. OO;b. RO (GO) |
| ADELFE | Rational统一过程(RUP) | 分析、设计和实现 | 自上而下 | 依赖 - 自适应系统(自适应内联网系统、时间表系统) | 未指定,但可能适用于任何规模 | 自适应 | 是 | 高 | 高 | 是 | a. OO;b. NRO |
| PASSI | 各阶段(除编码和部署外)内部和之间迭代 | 分析、设计和实现 | 自下而上 | 独立(分布式机器人应用、在线书店) | 未指定 | 异构 | 是 | 高 | 高 | 是 | a. OO;b. RO |
| PROMETHEUS | 各阶段迭代 | 分析和设计 | 自下而上 | 独立(整体制造、在线书店) | 任何规模 | BDI类代理 | 是 | 高 | 高 | 是 | a. OO;b. NRO |
| MAS - COMMONAKADS | 循环风险驱动过程 | 分析和设计 | 混合 | 独立(航班预订、自动控制) | 未指定,但可能适用于任何规模 | 异构 | 提及但未提供明确步骤/指南 | 高 | 中 | 是 | a. KE;b. NRO |
| TROPOS | 迭代和增量 | 分析和设计 | 自上而下 | 独立(电子商务系统、知识管理、健康信息系统) | 未指定 | BDI类代理 | 是 | 高 | 中 | 是 | a. i*建模框架;b. NRO |
| GAIA | 各阶段内迭代但阶段间顺序 | 分析和设计 | 自上而下 | 独立(业务流程管理、地理信息系统、交通模拟) | <= 100个代理类 | 异构 | 否 | 高 | 中 | 是 | a. OO;b. RO (OrO) |
2.2 步骤和技术相关标准比较
将技术评估与每个步骤和模型的评估相结合,因为技术通常与步骤和模型一起提供。使用一组“标准”步骤作为评估清单,不同方法对这些步骤的支持程度不同,支持方式分为显式(E)和隐式(I)。评估结果总结在表中,展示了每种方法在各个步骤和技术可用性方面的情况。
| 步骤 | GAIA | TROPOS | MAS - COMMONKADS | PROMETHEUS | PASSI | ADELFE | MASE | RAP | MESSAGE | INGENIAS |
|---|---|---|---|---|---|---|---|---|---|---|
| 1. 识别系统目标 | H | H | H | H | H | H | H | |||
| 2. 识别系统任务/行为 | M | H | H | H | H | H | H | H | H | H |
| 3. 指定用例场景 | H | H | H | H | H | H | H | |||
| 4. 识别角色 | H | H | H | M | M | M | ||||
| 5. 识别代理类 | H | H | M | H | M | H | H | L | M | H |
| 6. 建模领域概念化 | M | M | M | |||||||
| 7. 指定代理类之间的相识关系 | M | M | H | H | H | M | H | M | M | H |
| 8. 定义交互协议 | H | H | H | H | H | M | H | H | H | |
| 9. 定义交换消息的内容 | M | H | L | H | M | H | M | L | M | |
| 10. 指定代理架构 | L | H | H | H | M | H | ||||
| 11. 定义代理心理态度(例如,目标、信念、计划、承诺…) | M | M | H | M | H | M | H | H | H | |
| 12. 定义代理行为接口(例如,能力、服务、合同…) | H | L | H | H | M | |||||
| 13. 指定系统架构(即所有组件及其连接的概述) | M | H | H | H | H | H | ||||
| 14. 指定组织结构/控制机制/代理间社会关系 | H | H | L | H | H | |||||
| 15. 建模MAS环境(例如,资源、设施、特征) | ||||||||||
| 16. 指定代理 - 环境交互机制 | H | L | H | |||||||
| 17. 指定代理继承和聚合 | H | M | M | |||||||
| 18. 实例化代理类 | M | L | L | H | L | L | ||||
| 19. 指定代理实例部署 | L | H |
注:H表示高,M表示中,L表示低。
通过以上比较可以看出,不同的AOSE方法在各个评估标准上表现各异。开发者在选择方法时,应根据目标应用的具体需求,综合考虑这些评估标准,以选择最适合的方法。例如,如果应用需要高度的可细化性,INGENIAS可能是一个不错的选择;如果强调基于知识工程的方法,MAS - CommonKADS则更为合适。同时,对于一些对代理角色建模有较高要求的应用,可以优先考虑采用角色导向方法的AOSE方法。
十种面向代理方法的比较
2. 比较分析(续)
2.3 模型相关标准比较
模型相关标准的评估结果展示了不同方法在模型能力和特性方面的差异。
-
概念 :该标准评估方法的模型能够捕获和表示的概念。使用一组“标准”AOSE概念作为评估清单,若方法支持对特定概念的建模,则指出表示该概念的模型或符号组件。从表中可以看出,不同方法在概念建模上各有侧重。
|概念|INGENIAS|MESSAGE|RAP|MASE|ADELFE|PASSI|PROMETHEUS|MAS - COMMONAKDS|TROPOS|GAIA|
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|系统目标|Goals & Tasks model|Goal/Task model|Goal - based use case model|Goal hierarchy diagram| |System requirement model|Goal diagram|Goal cases|Actor diagram, Rationale diagram| |
|系统任务/行为|Goals & Tasks model|Goal/Task model|Goal - based use case model|Extended role diagram|Use case model|System requirement model|Functionality descriptor|Task model|Actor diagram, Rationale diagram|Role model|
|用例场景|Use case diagrams| |Goal - based use case model|Use case diagram|Use case model|System requirement model|Use case descriptor|Use cases| | |
|角色|Agent model, Organization model, Interaction model|Agent / Role model|Agent Model|Role diagram| |System requirement model, Agent society model| | | |Role model|
|领域概念化| |Domain model|Information Model| | |Agent society model| |Expertise model| | |
|代理目标/任务|Agent model| | | | | | |Agent model| | |
|代理 - 角色分配| | | | | | | | | | |
|代理信念/知识|Agent model| |Information model|Task state diagram|Detailed architecture document|Agent implementation model|Data descriptor|Expertise model| | |
|代理能力/服务| | | | |Detailed architecture document|Agent implementation model|Capability diagram|Agent model; Organization model| |Service model|
|代理计划/推理规则/问题解决方法| | | | | | |Plan descriptor| |Plan diagram| |
|代理感知/事件| | | | | | |Percepts descriptor| | | |
|代理架构| | | |Agent class architecture diagram|Detailed architecture document|Agent implementation model|Agent overview diagram|Design model|BDI agent architecture| |
|代理相识关系|Interaction model|Organization Model|Interaction Model|Agent class diagram|Software architecture document|System requirement model|Interaction diagrams|Coordination model|Sequence diagram/Collaboration diagram|Acquaintance model|
|交互协议|Interaction model|Interaction model|Interaction model|Communication class diagram|Interaction languages document|Agent society model|Interaction protocols|Coordination model|Sequence diagram|Interaction model|
|交换消息的内容|Interaction model|Interaction model|Interaction Model|Communication class diagram|Interaction languages document|Agent implementation model|Interaction diagrams & protocols|Coordination model| | |
|代理间合同/承诺| | | | | | | | | | |
|系统架构| |System architecture diagram| | |Detailed architecture document| |System overview diagram|Organization model| | |
|组织结构/代理间社会关系|Organization model|Organization model| | | | | |Organization model|Non - functional requirement model|Organizational structure model|
|环境资源/设施|Environment model|Organization model| | |Environment definition document| |System overview diagram|Organization model| |Environmental model|
|环境特征| | | | |Environment definition document| | | | | |
|代理聚合关系| | | | | | | | | | |
|代理继承关系| | | | | | | | | | |
|代理实例化| | |UML Deployment diagram|Deployment diagram| | | | | |Agent model|
|代理实例部署| | | |Deployment diagram| |Deployment model| | | | | -
其他模型相关标准 :其他模型相关标准的比较结果总结在下表中。不同方法在完整性/表达能力、形式化/精确性、模型推导、一致性、复杂性、易理解性、模块化、抽象性、自主性、适应性、合作行为、通信能力、推理能力、反应性、审议行为、个性、时间连续性、并发性、人机交互和模型重用等方面表现不同。
|方法|完整性/表达能力|形式化/精确性|模型推导|一致性|复杂性|易理解性|模块化|抽象性|自主性|适应性|合作行为|通信能力|推理能力|反应性|审议行为|个性|时间连续性|并发性|人机交互|模型重用|
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|GAIA|M|a. H; b. Y|Y|a. Y; b. Y|a. Y; b. Y|H|Y|Y|Y|P|Y|N|N|P|Y|N|N|N|N|Y|
|TROPOS|H|a. H; b. Y|Y|a. Y; b. Y|a. Y; b. Y|H|Y|Y|Y|N|Y|Y|Y|Y|Y|N|N|N|Y|P|
|MAS - COMMONKADS|H|a. M; b. Y|Y|a. N; b. Y|a. Y; b. Y|H|Y|Y|Y|N|Y|Y|Y|Y|Y|N|N|N|Y|Y|
|PROMETHEUS|H|a. H; b. Y|Y|a. Y; b. Y|a. Y; b. Y|H|Y|Y|Y|N|Y|Y|Y|Y|Y|N|N|N|Y|P|
|PASSI|H|a. H; b. Y|Y|a. Y; b. Y|a. Y; b. Y|H|Y|N|Y|N|Y|Y|Y|Y|Y|N|N|N|Y|Y|
|ADELFE|H|a. H; b. Y|Y|a. Y; b. Y|a. Y; b. Y|H|Y|Y|Y|Y|Y|Y|Y|Y|Y|N|N|N|Y|P|
|MASE|H|a. H; b. Y|Y|a. Y; b. Y|a. Y; b. Y|H|Y|Y|Y|N|Y|Y|P|Y|Y|N|N|Y|N|Y|
|RAP|M|a. H; b. Y|Y|a. N; b. Y|a. Y; b. Y|H|Y|Y|Y|N|Y|Y|P|P|N|N|N|N|Y|P|
|MESSAGE|M|a. H; b. Y|Y|a. N; b. Y|a. Y; b. Y|H|Y|Y|Y|P|Y|Y|Y|Y|Y|N|N|N|Y|P|
|INGENIAS|H|a. H; b. Y|Y|a. Y; b. Y|a. N; b. N|M|Y|Y|Y|P|Y|Y|Y|Y|Y|N|Y|N|Y|P|
注:Y表示是,N表示否,P表示可能。
2.4 支持性功能标准比较
支持性功能标准的比较结果总结在下表中,展示了不同方法在软件和方法支持、开放系统支持、动态结构支持、敏捷性和健壮性支持、传统对象支持、移动代理支持和本体支持等高级补充功能方面的差异。
|方法|软件和方法支持|开放系统|动态结构|敏捷性和健壮性|支持传统对象|支持移动代理|支持本体|
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|GAIA|N|Y|N|N|N|N|N|
|TROPOS|N|N|N|N|N|N|N|
|MAS - COMMONKADS|N|N|N|Y|N|N|Y|
|PROMETHEUS|Y|N|N|Y|Y|N|N|
|PASSI|Y|N|Y|N|N|Y|Y|
|ADELFE|Y|Y|N|Y|Y|N|N|
|MASE|Y|N|P|Y|N|N|N|
|RAP|Y|N|N|Y|Y|N|N|
|MESSAGE|Y|N|N|N|Y|N|Y|
|INGENIAS|Y|N|N|N|Y|N|N|
注:Y表示是,N表示否,P表示可能。
3. 总结与建议
综合以上对十种AOSE方法在过程相关、技术相关、模型相关和支持性功能相关标准的比较分析,可以得出以下结论:
- 没有一种方法可以被绝对地称为“最佳”,因为“最佳”方法取决于目标应用的具体需求。不同的应用对评估标准的重要性排序不同,开发者应根据应用的特点,如应用领域、系统规模、代理性质等,来选择最适合的方法。
- 在选择方法时,建议开发者对所需的功能和特性进行优先级排序,然后参考上述比较表格,评估每种方法在这些关键标准上的表现。例如,如果应用需要支持移动代理,那么可以优先考虑PASSI方法;如果对本体支持有较高要求,MAS - COMMONKADS和MESSAGE可能更合适。
- 尽管本次比较已经尽可能全面和客观,但仍存在一定的局限性。评估主要基于方法的文档资料、案例研究和示例,没有在实际项目中对所有方法进行应用。此外,部分评估标准具有主观性,如方法的可用性和易理解性。
未来,可能会朝着开发统一、标准化的AOSE框架的方向发展,通过融合现有的各种AOSE方法并进行扩展来实现。这将有助于开发者更方便地选择和应用适合的方法,提高软件开发的效率和质量。
以下是一个简单的选择方法的流程图:
graph TD;
A[确定目标应用需求] --> B[列出关键评估标准];
B --> C[参考比较表格评估方法];
C --> D[选择最适合的方法];
开发者在实际应用中,还可以进一步深入研究所选方法的细节,结合项目实际情况进行调整和优化,以确保开发出高质量的面向代理的软件系统。
超级会员免费看
211

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



