对象事件建模和模拟

对象事件建模和仿真(OEM&S)是一种通用的离散事件仿真范例,它将面向对象的建模与事件调度范例相结合。 在OEM中,系统的状态结构可以使用定义对象和事件类型的UML类图来建模,并且系统的动态建模可以用概念过程模型(可表达的,例如在BPMN中表示)和过程设计模型(可表达的,例如,在DPMN)。

代理/对象事件模拟(A / OES)是基础对象事件模拟(OES)的扩展,通过添加代理,感知,动作和通信的概念。

Sim4edu目前提供对象事件仿真JavaScript(之后简称OESjs)仿真框架,它是OES范例的JavaScript实现,或者更确切地说,是其语言OESL及其抽象模拟器 Omega-Epsilon-Sigma (ΩEΣ),它支持下一个事件时间进程,如所使用的 离散事件模拟和固定增量时间进展,用于基于NetLogo 的社会科学模拟以及连续状态变化模拟。 Sim4edu路线图上的下一个模拟器/框架实现了基于代理的离散事件模拟的A/OES范例,称为A-OESjs

一个真实的>离散事件系统(或离散动态系统)包括:

这意味着为了使用OES对离散事件系统进行建模,我们必须这样做

  1. 描述其对象类型事件类型
  2. 对于任何事件类型,指定负责对象状态更改和后续事件的因果规律由该类型的事件触发。 事件规则捕获因果规律。

OES语言(OESL)允许定义:

  1. 对象的形式的对象类型(面向对象的语言,如UML或JavaScript),
  2. 对象的形式的事件类型,以及它们的事件规则,在相应的事件类中以特殊的onEvent方法的形式。

OESL 是 ERSL历史继承者, 因为OES范式是作为早期研发项目 (实体 - 关系建模和模拟)。 同样, A/OESL 是AORSL的及争着, 因为A / OES范式已经发展成为早期研发项目 称为代理 - 对象 - 关系模拟

在OES中,区分了两类模拟事件:

  1. 由于模拟模型外部的因素,周期性地发生外部事件。 它们的重现模式以递归函数的形式建模。
  2. 引发事件是由其他模拟事件引起的模拟事件。

一个 OES场景包括:

一个OES模型可以包括的定义:

可以配置OES场景模拟