FTG+PM:模型转换链的创新框架
1. 模型转换流程基础
在模型转换过程中,有两个关键步骤:
1. 打开输入需求模型 /Models/PW/PWReq.model ,它是 TextualReq 的一个模型实例。
2. 写入输出工厂配置模型 /Models/PW/PWConfig.model ,这是 PlantDSL 的一个实例。
如果存在多个输入和输出模型,会在调度中为每个打开和写入步骤创建一个转换步骤。当输出模型由手动转换生成时,会为每个输出模型生成一个新的 AToMPM 窗口。若模型已存在,窗口会加载该模型以便进一步编辑;若不存在,则会打开一个加载了形式化工具栏的空白画布。用户完成模型创建或修改后,需按下按钮保存模型并返回父 AToMPM 窗口,自动转换将继续进行。
当前的 AToMPM 实现不支持(半)并行执行分叉和合并节点,因为其转换语言不允许这样做。相反,向 AToMPM 转换语言的转换会使分叉和合并之间的不同分支按顺序执行。具体做法是在分叉顶部设置一个标记,另一个标记用于跟踪链条,直到找到合并节点,然后在合并节点之前安排整个分支的执行,直到所有分支都按顺序执行。当出现嵌套时,会先将内部的分叉/合并对按顺序执行。
由于画布可作为下一个动作节点的输入,因此在分叉节点之前需要保存画布的状态。这通过插入一个对象节点来实现,该节点连接到分叉节点之前的动作节点,其输出连接到分叉后每个分支的第一个动作。在每个分支的最后一个动作处,会插入一个类似的对象节点,连接到合并节点之后的第一个动作。由于所有模型在动作节点执行后都会保存
超级会员免费看
订阅专栏 解锁全文
28

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



