2

我有一些具有日期属性的模型,我想包含 ocl 以进行验证和推导。

在互联网上搜索我找到了一些引用date.isBefore(date)date.before(date)方法的文章和论文,但这些方法在OCL中不被认可。

此外,我想定义派生,例如derivation: endDate + 10;.

我是否必须使用我需要的所有方法重新定义 Date 类?

欢迎任何与之相关的材料或链接。

4

1 回答 1

0

鉴于 OCL 没有定义Date,作者应该走很长的路才能正式定义isBefore(并且页面是学术写作中的稀缺资源;)

在 UML [RJB98*, p. 11] 中预定义了一些“原始类型”,包括数字和字符串。394]。日期和货币等其他类型的可用性是“系统相关的”。在任何情况下,原始类型的语义都必须在 UML 之外定义。(Richters Mark. A Precise Approach to Validating UML Models and OCL Constraints , Universität Bremen, p. 33, 86)

[RJB98] 伦博、雅各布森和布奇。统一建模语言参考手册。艾迪生-卫斯理,1998 年。

虽然我不精通 EMF,但根据此链接,任何 Java 数据类型都可以在您的模型中使用,方法是将其声明为 Ecore 模型的 EDataType 的实例类型。(另请参阅此参考

于 2015-02-23T22:36:20.467 回答