调用
图标

功能
主体复用自己的其它独立被动流程
提示
- 这里的主体可以是全局观察者、实体个体、实体观察者
- 类似于编程中定义函数,我们往往将一个公共行为建模为一个独立的被动流程,以方便该作用域内其它行为复用
要点
提示
类似于编程中定义函数,我们往往将一个公共行为建模为一个独立的被动流程,以方便构建其它行为流程时复用。
例子
如一个DeFi算法稳定币套利者具有3个独立的被动行为,A 买卖代币、B 铸造稳定币、C赎回稳定币,我们可以通过调用,为其方便的构造出多种交易策略,避免建模冗余
- 正偏差套利A-B-A:当价格高于1$,先调用A买入协议代币,再调用B铸造稳定币,最后调用A卖出稳定币
- 负偏差套利A-C-A:当价格低于1$,先调用A买入稳定币,再调用C按面值赎回等价值的协议代币,最后调用A卖出协议代币
使用条件
流程必须符合以下所有条件才能被调用
- 必须是被动行为
- 必须是独立(不是一个子流程)的
- 必须处于调用者的作用域内
提示
- 全局流程中能够调用其它全局被动流程
- 实体行为中可以调用全局被动流程
- 实体的个体行为中可以调用本种群观察者被动流程,反之不行
- 实体个体行为中的子流程中,可以调用该实体个体被动行为、观察者被动行为、全局被动行为
- 调用与请求调用的区别是,调用只能对本作用域内的被动行为使用,请求调用可以对作用域外的实体被动行为使用
数据传递
如果被调用流程中有接口,调用对象会出现相应端口,数据传递的方法详见流程的数据传递章节
设置方法
