模型转换为平台特定(NC)代码

时间:2018-02-28 11:01:30

标签: java xsd transformation ecore qvt

工具在使用过程中会遇到磨损。使用这些工具的机器需要在测量磨损后校正其NC(即数控)程序。

我已经创建了一个XSD模型并生成了管理这些测量的JAXB类,现在我想自动生成NC代码来设置机器上的测量差异。

要生成的代码基本上具有这种格式(可能还有一些静态前缀/后缀代码):

$TC_DP<x>[<t>, <D>] // 1 < x <= 25, 1 < D <= 12

t是工具的ID,D是此工具的最前沿,x是与最前沿相关的参数。

对于不同的工具txD具有不同的含义,例如工具10上的边缘2的$TC_DP1[10, 2]长度$TC_DP1[5, 2]可以是工具5上边缘2的宽度

我正在寻找一种方式来声明性地定义$TC_DP<x>[<t>, <D>]格式与我创建的模型之间的映射,以便为我生成NC代码。

1 个答案:

答案 0 :(得分:1)

根据您提供的信息,几乎任何声明性转换工具都是相同的。

定义将每个新值与旧值相关联的计算(通常是OCL查询)。这些计算包含在映射/关系/规则中,以创建其插槽包含新值的新对象。

如果你想今天以声明方式编码,我建议使用ATL或Henshin。 QVTr仍然是一个未来的前景。 QVTo可以为您提供半声明性解决方案。