激进的面向代理软件工程流程
在软件开发领域,一种新的面向代理的软件工程流程——RAP(Radical Agent - Oriented Process)应运而生。RAP使用AOR(Agent - Object - Relationship)建模语言,与传统的面向对象建模不同,它更注重代理、事件、动作、承诺和声明等元素,旨在创建包含人类和技术组件(包括软件代理)的分布式社会技术系统。
1. RAP/AOR概述
RAP/AOR方法论是对统一软件开发流程和Rational Unified Process(RUP)的面向代理的细化。它通过对分析和设计模型进行早期模拟测试,来实现比RUP更高的敏捷性。与其他声称遵循RUP的面向代理的方法论(如ADELFE和MESSAGE)不同,RAP/AOR更关注分布式基于代理的信息系统,如业务流程自动化和供应链管理系统,而非人工智能系统。
RAP/AOR方法论强调精确建模问题领域的重要性,其精确性由统一基础本体(UFO)提供保障。UFO包括基础层UFO - A、持久本体层UFO - B和代理本体层UFO - C,其中UFO - C是AOR建模语言(AORML)的基础。
2. 本体基础
UFO区分了不同类型的实体:
- 分类类型(sortal type) :提供确定两个实例是否相同的身份标准,如Person、Student、City。
- 混合类型(mixin type) :不是分类类型,可划分为具有不同身份标准的不相交子类型,如Agent、Customer、Product。
- 基础类型(base type) :刚性的分类类型,其所有实例必然是该类型的实例,如Mountain、Person。
- 阶段类型(phase type) :反刚性的分类类型,其实例可以不是该类型的实例而不失去其身份,是基础类型子类型划分的元素,如Town和Metropolis是City的阶段子类型。
- 角色类型(role type) :反刚性的分类类型,存在一种关系类型,它是由参与该关系类型的所有实例形成的基础类型的子类型,如DestinationCity是City的角色子类型。
在RAP/AOR方法论中,代理的自主性是相对的。机构代理相对于其他机构代理具有一定程度的自主性,而内部代理的自主性并非总是被期望的,但可以允许其进行自身的优先级决策。
3. AOR建模语言
AORML基于主动和被动实体的本体区分,即代理和非代理对象。在AORML中,实体可以是代理、事件、动作、声明、承诺或普通对象,只有代理能够进行通信、感知、行动、做出承诺和满足声明。AORML还引入了机构代理的概念,如组织和组织单位。
AORML有两种基本模型:外部模型和内部模型。外部模型采用外部观察者的视角,观察问题领域中的代理及其交互;内部模型采用特定代理的内部(第一人称)视角。
AORML的图形符号区分了动作事件类型和非动作事件类型,以及通信动作事件(或消息)类型和非通信动作事件类型。其最重要的行为建模元素是反应规则,符号形式为ε, C → α, P,其中ε表示触发事件,C表示心理状态条件,α表示触发动作,P表示心理效果或后置条件。
| 类型 | 描述 | 示例 |
|---|---|---|
| 分类类型 | 提供身份标准 | Person、Student、City |
| 混合类型 | 可划分为不相交子类型 | Agent、Customer、Product |
| 基础类型 | 刚性分类类型 | Mountain、Person |
| 阶段类型 | 反刚性分类类型 | Town和Metropolis是City的阶段子类型 |
| 角色类型 | 基于关系形成的子类型 | DestinationCity是City的角色子类型 |
4. RAP/AOR视角建模框架
RAP/AOR视角建模框架基于面向代理的业务建模视角,与MDA框架良好对齐。它是一个矩阵,包含三个抽象级别(概念域建模、与平台无关的计算设计、与平台相关的实现)和三个视角方面(交互、信息、行为)。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(概念域建模):::process --> B(交互视角):::process
A --> C(信息视角):::process
A --> D(行为视角):::process
E(计算设计):::process --> F(交互视角):::process
E --> G(信息视角):::process
E --> H(行为视角):::process
I(实现):::process --> J(交互视角):::process
I --> K(信息视角):::process
I --> L(行为视角):::process
- 领域交互视角 :关注主动实体的分析和建模,包括代理类型、实例和关系,以及它们之间的交互和通信。该视角包括组织建模,目的是识别问题领域的组织、相关组织单位、角色和关系类型。通过AOR代理图、UML用例图、AOR交互框架图和AOR交互序列图进行描述。
- 领域信息视角 :为焦点组织创建领域本体,为组织的代理和外部代理提供共同的知识框架。通过AOR代理图进行描述,该图不仅描述代理类型,还描述问题领域的对象类型及其与代理类型的关系。
- 领域行为视角 :解决代理功能和行为的建模问题,即代理要执行的功能以及何时、如何和在什么条件下完成工作。通过AOR交互模式图、基于目标的用例模型和AOR活动图进行描述。
| 抽象级别 | 交互视角 | 信息视角 | 行为视角 |
|---|---|---|---|
| 概念域建模 | AOR代理图、UML用例图、AOR交互框架图、AOR交互序列图 | AOR代理图 | AOR交互模式图、基于目标的用例模型、AOR活动图 |
| 计算设计 | UML用例图、AOR反应框架图、用户界面设计模型、安全模型、UML类图、UML交互图 | AOR代理图 | AOR反应模式图、AOR内部活动图、UML状态机图 |
| 实现 | UML部署图 | UML类图 | UML类图 |
5. 设计视角
在设计过程中,概念域建模级别的外部模型会转换为与平台无关的计算设计级别的内部模型。具体来说,AOR代理图会细化为更详细的代理图,业务用例转换为系统用例,AOR交互框架图转换为反应框架图,AOR交互模式图转换为反应模式图,AOR活动图转换为内部活动图。
6. 模拟的作用
RAP/AOR采用Agent - Object - Relationship Simulation(AORS)进行模拟,以在模型实现到目标技术平台之前从模型执行中获取反馈,从而提高软件工程过程的敏捷性。AORS允许对AOR领域交互和行为模型以及AOR交互和行为设计模型进行动画和测试。
7. 核心学科
RAP/AOR的七个核心软件工程学科基于RUP,包括:
1. 领域建模
2. 需求工程
3. 设计
4. 模拟
5. 实现
6. 测试
7. 部署
这些学科可以表示为不同视角下的任务序列:
- 领域交互视角 :
1. 使用AOR代理图建模问题领域的代理类型、实例和关系。
2. 使用UML用例建模问题领域代理之间的可能交互类型。
3. 使用AOR交互框架图细化问题领域代理之间的可能交互类型。
4. 使用AOR交互序列图建模问题领域的原型交互过程。
- 领域行为视角 :
1. 使用基于目标的用例建模问题领域代理的行为。
2. (可选)使用AOR反应模式图建模问题领域代理的行为。
3. 将基于目标的用例转换为AOR活动图。
4. 用更详细的行为构造细化AOR活动图。
5. 用与引入的行为构造对应的元素补充基于目标的用例。
- 领域信息视角 :使用AOR代理图建模问题领域的对象类型、实例和关系。
- 设计交互、行为和信息视角 :
1. 将AOR交互框架图转换为AOR反应框架图。
2. 必要时,用用户界面设计模型和安全模型补充AOR反应框架图。
3. (可选)将AOR交互模式图转换为AOR反应模式图。
4. 将AOR活动图转换为内部AOR活动图。
5. 将概念域建模级别的AOR代理图细化为计算设计级别的AOR代理图。
8. 项目阶段
RAP/AOR开发项目分为四个阶段:
| 项目阶段 | 主要学科 |
| ---- | ---- |
| 初始阶段 | 领域建模和需求工程 |
| 细化阶段 | 设计和模拟 |
| 构建阶段 | 实现和测试 |
| 过渡阶段 | 部署 |
9. 案例研究
以基于RosettaNet标准的企业对企业电子商务中的报价业务流程为例,从交互、信息和行为三个方面进行概念建模和计算设计。
- 交互方面 :概念域建模级别通过AOR代理图、UML用例图、AOR交互框架图和AOR交互序列图进行建模;计算设计级别通过AOR反应框架图进行建模。
- 信息方面 :概念域建模级别通过AOR代理图建模问题领域的信息;计算设计级别通过详细的AOR代理图,包括代理和对象类型的属性和标识符进行建模。
- 行为方面 :概念域建模级别通过AOR交互模式图、基于目标的用例模型和AOR活动图进行建模;计算设计级别通过AOR反应模式图和AOR内部活动图进行建模。
10. 模拟与实现
在案例研究中,AORML扩展的活动图使得部分指定的行为模型可以执行,便于迭代业务建模。使用可执行的过程模型与AORS系统结合,可以创建强大的模拟环境。
RAP/AOR方法论遵循MDA框架的原则,MDA过程包括三个步骤:
1. 构建与任何实现技术无关的高级抽象模型,即平台独立模型(PIM)。
2. 将PIM转换为一个或多个平台特定模型(PSM)。
3. 将PSM转换为代码。
在RAP/AOR方法论中,主张将可执行的AOR模型转换为基于XML的表示形式,然后由软件代理进行解释和执行。为了便于生成业务流程模型的XML表示,开发了相应的XML模式。
11. 优缺点分析
目前,RAP/AOR方法论的一些组件尚未完全开发,缺乏工具支持和现场测试报告是其弱点。然而,它也有一些优点:
- 不支持主动行为设计,从人工智能的角度看可能是弱点,但对于大型跨企业分布式信息系统的组件设计来说是优点,因为这类代理通常不需要主动行为和复杂的类人智能。
- 具有本体基础,使用模拟提高敏捷性。
- 可以在一个集成图中表示交互、信息和行为视角方面的模型,克服了模型多样性问题。
RAP/AOR方法论在代理导向的信息系统工程中具有独特的优势,为大型分布式和跨企业业务信息系统的开发提供了一种有效的方法。未来,需要进一步验证AOR建模中承诺概念在新技术和实际应用中的有效性。
激进的面向代理软件工程流程(续)
12. 交互视角的深入分析
在交互视角方面,对于企业对企业电子商务中的报价业务流程,不同阶段的建模有着不同的侧重点和作用。
在概念域建模阶段,AOR代理图清晰地展示了代理角色类型及其内部代理类型,如案例中的Buyer和Seller,以及它们之间的关系,像isBenevolentTo关系体现了服务提供者和请求者之间的联系。UML用例图则简洁地概括了不同代理类型之间的交互类型,为后续的详细设计提供了宏观的交互框架。AOR交互框架图进一步细化了这些交互,涵盖了各种通信动作事件、非通信动作事件以及与之相关的承诺/声明类型,使得交互的细节得以明确。而AOR交互序列图则具体描绘了交互过程的原型实例,帮助我们理解实际交互的流程。
到了计算设计阶段,AOR反应框架图是由概念域建模阶段的AOR交互框架图通过内部化过程转换而来。这个转换过程将外部视角的模型转化为特定代理的内部视角模型,更符合实际开发中对特定代理行为的设计需求。例如,在案例中为Seller角色类型创建的反应框架图,就是从之前的交互框架图演变而来,它更聚焦于Seller在交互过程中的具体反应和操作。
13. 信息视角的关键要点
在信息视角上,概念域建模阶段的AOR代理图展示了问题领域中对象类型的分布和关系。像在企业对企业电子商务案例中,PurchaseOrder/Confirmation、RFQ/Quote和Invoice等对象类型是Buyer和Seller共享的,但不同的Buyer实例对RFQ/Quote可能持有不同的实例集合,这表明共享对象类型并不意味着所有相关代理对其有相同的认知。而ProductItemOfSeller和ProductItem分别在Buyer和Seller内部表示,体现了不同代理对对象的私有表示。
计算设计阶段的详细AOR代理图则进一步补充了代理和对象类型的属性和标识符等信息,使得模型更加精确,为后续的实现提供了更具体的信息基础。
14. 行为视角的详细解读
行为视角主要关注代理对各种事件的反应。在概念域建模阶段,AOR交互模式图通过反应规则来表达一般的交互模式。例如,在案例中Seller对request PurchaseOrder类型的通信动作事件的反应规则R1,通过Object Constraint Language (OCL) 来表达反应规则的心理状态条件和心理效果,清晰地展示了Seller在特定条件下的行为。
基于目标的用例模型则从目标的角度来描述代理的行为。在企业业务领域中,每个代理角色都有其目标,服务提供者会尝试“内化”服务请求者的目标。如在租车案例中,客户的租车目标会被租车公司“内化”为提供车辆的子目标。在案例中的报价业务流程,“Process the request for a quote”用例就体现了Buyer和Seller的不同目标,以及Seller为实现目标所采取的行动。
AOR活动图是连接代理在业务流程中各个动作的关键。它将基于目标的用例转换为活动序列和层次结构,每个活动类型都有其目标。例如,在报价业务流程中,“Manage quoting”活动由反应规则R1触发,它包含了“Process product items”和“Confirm quote”等子活动,每个子活动都有其明确的目标和执行条件。通过引入反应规则和行为构造,活动图可以进一步细化,如在案例中引入了“For - each loop”和“Starting an activity by means of two (or more) events”等行为构造,使得业务流程的建模更加精确。
15. 模拟在业务流程中的应用
在企业对企业电子商务的报价业务流程案例中,模拟起到了至关重要的作用。AORML扩展的活动图使得部分指定的行为模型可以执行,这为迭代业务建模提供了便利。通过可执行的过程模型与AORS系统结合,我们可以创建强大的模拟环境。
在模拟过程中,AORS系统的环境模拟器负责模拟外部事件和物理环境的因果律,其他问题领域的参与者也可以以不同的真实度进行模拟。例如,在报价业务流程模拟中,可以模拟Buyer的请求事件、Seller的库存状态变化等,通过模拟可以提前发现业务流程中可能存在的问题,如库存不足导致的报价失败等情况,从而在实际开发和部署之前进行优化。
16. 实现过程与工具支持
RAP/AOR方法论的实现过程遵循MDA框架的原则。在实际操作中,首先要构建平台独立模型(PIM),它是与任何实现技术无关的高级抽象模型。在RAP/AOR中,概念域建模和计算设计阶段的部分模型构成了PIM。
接着,将PIM转换为平台特定模型(PSM),PSM是根据特定实现技术的构造来细化PIM的模型。在RAP/AOR中,实现阶段的模型可以看作是PSM。最后,将PSM转换为代码,由于PSM与具体技术紧密匹配,这个转换过程相对简单。
为了支持这个实现过程,开发了一系列工具。例如,Integrated Business Process Editor可以将用AORML表达的业务流程类型的图形描述转换为基于XML的表示形式。虽然XML表示可以自动生成,但通常还需要手动调整一些特定于流程的接口,特别是在与企业系统(如ERP、CRM和EAI系统)交互时。
Business Process Interpreter与使用Java Agent DEvelopment Framework (JADE) 实现的软件代理合作,负责解释业务流程类型的描述。代理之间使用基于言语行为的Agent Communication Language (ACL) 进行通信。整个过程可以用以下流程图表示:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(业务流程建模):::process --> B(生成XML表示):::process
B --> C(手动调整接口):::process
C --> D(业务流程解释):::process
D --> E(代理执行):::process
E --> F(与企业系统交互):::process
17. 总结与展望
RAP/AOR方法论为代理导向的信息系统工程提供了一种全面且独特的方法。它针对大型分布式和跨企业业务信息系统的开发需求,通过精确的领域建模、多角度的视角建模框架、模拟测试和遵循MDA框架的实现过程,为软件开发带来了更高的敏捷性和可维护性。
然而,目前该方法论仍存在一些待完善的地方。例如,部分组件尚未完全开发,工具支持和现场测试还不够充分。未来需要进一步验证AOR建模中承诺概念在新技术和实际应用中的有效性,加强工具的开发和优化,以提高其在实际项目中的可用性和实用性。同时,随着信息技术的不断发展,RAP/AOR方法论也需要不断适应新的需求和挑战,为企业的数字化转型提供更有力的支持。
总的来说,RAP/AOR方法论在代理导向的软件工程领域具有广阔的应用前景,值得我们持续关注和深入研究。
超级会员免费看

5241

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



