OCL规范1为OCL定义了一个元模型,但是有各种各样的问题,这意味着实用工具必须以专有的方式对其进行“改进”。Eclipse原型的新Pivot变体解决了OMG规范问题,并产生了可信的XMI序列化。它使用了Xtext语法2,您可以使用它作为起点。这将揭示出解决"a.b.c.d“部分所需的语义解析。这可不容易。
Pivot的通用元模型3是由UML和OCL贡献的合并自动生成的。
由于OCL可以用来约束原型或元模型,甚至运行时,OCL可以在Mn/Mn+1之间和一对之间。
如果您成功地想出了一个精确的、完整的轻量级解析器,请分享。
1
2
3