主动对象计算模型:原理、特性与应用
1. 主动对象计算模型概述
主动对象计算模型解决了传统事件驱动架构的大部分问题,同时保留了其优点。“主动对象”这一术语源于统一建模语言(UML),指的是“拥有自己控制线程的对象”。该模型的核心思想是在多任务环境中使用多个事件驱动系统。
主动对象的概念可追溯到20世纪70年代末,当时Carl Hewitt及其同事提出了“参与者(actor)”的概念。到了80年代,参与者在分布式人工智能领域风靡一时,就像如今的智能体一样。90年代,诸如ROOM等方法将参与者概念应用于实时计算。近年来,UML规范引入了主动对象的概念,它本质上与ROOM参与者的概念同义。
在UML规范中,主动对象是一个拥有自己控制线程的对象,它以“运行到完成(run-to-completion)”的方式处理事件,并通过异步交换事件与其他主动对象进行通信。UML规范还提出了一种状态机的变体,用于对事件驱动的主动对象的行为进行建模。
主动对象通常使用实时框架来实现。这些框架已经广泛应用多年,并在众多实时嵌入式(RTE)应用中得到了验证。如今,几乎所有支持RTE系统代码合成的设计自动化工具都包含了一种实时框架的变体。例如,实时面向对象建模(ROOM)将其框架称为“ROOM虚拟机”;IAR Systems的VisualSTATE工具将其称为“VisualSTATE引擎”;Telelogic的符合UML的设计自动化工具Rhapsody将其称为“对象执行框架(OXF)”。
一个最小的主动对象系统由多个主动对象组成,每个主动对象封装了一个控制线程(事件循环)、一个私有事件队列和一个状态机。可以用公式表示为:
超级会员免费看
订阅专栏 解锁全文
8万+

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



