面向参与者模型的代码生成框架解析
1. 代码生成框架概述
Ptolemy II 是一个用于并发、实时、嵌入式系统建模、仿真和设计的图形化软件系统。它专注于组装具有明确定义的计算模型(MoC)的并发组件,这些 MoC 管理着组件之间的交互。Ptolemy II 有许多特性,使其成为一个易于使用的快速原型开发环境:
- 域多态性 :允许在多个 MoC 中使用相同的组件。
- 数据多态性和类型推断机制 :自动处理类型解析、类型检查和类型转换,让用户在大多数时候无需关注这些操作。
- 丰富的表达式语言 :便于静态或动态地对模型的多个方面进行参数化。
然而,这些机制会增加大量的间接开销,因此不能直接用于实现中。
代码生成框架会获取一个通过仿真和/或验证满足特定设计规范的模型。通过模型分析(类似于传统通用软件部分求值中使用的绑定时间分析),它可以发现模型及其包含的组件(在 Ptolemy 术语中称为参与者)的执行上下文。然后,它会生成特定于执行上下文的目标代码,同时保留原始模型的语义。
以下是代码生成的流程:
graph LR
A[模型(面向参与者的程序)] --> B[部分求值器(代码生成器)]
B --> C[整体且高效的可执行文件]
B --> D[高度优化的目标代码块]
D --> E[目标代码执行]
F[执行上下文:数据类型、缓冲区大小、调度、参数、模型结构等] -->
超级会员免费看
订阅专栏 解锁全文
3866

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



