问题标签 [ocl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1509 浏览

ocl - 为什么 allInstance 不用于 isUnique?

我有一个属性为 noClient 的客户端类,我想验证没有具有相同 noClient 的客户端。

我有下面的解决方案,但是老师说不合适。因为避孕药可能会重复。我不知道为什么。我需要找到另一个解决方案。

我的问题是,我什至不知道上面的代码有什么问题才能找到另一个解决方案。

这是一个学校的问题。也许那里没有足够的挑战性,但我花了几个小时试图理解。我被困在这里。

0 投票
1 回答
171 浏览

uml - OCL 2.0 约束检查哈希表中是否存在键值对

如何使用 OCL 中的迭代功能编写 OCL 约束以检查特定键值对是否始终存在于 HashTable 中?我是 OCL 的初学者。任何提示或示例都会有所帮助。

0 投票
2 回答
351 浏览

emf - 避免 Ecore 包含关系中的重复项

我有一个 Ecore 元模型。节点Peer与节点Message有一个称为“ in ”的包含关系 0..* 。我希望 Peer 包含的所有消息都有不同的名称。所以一个 Peer 不能有两个同名的消息。

  • 我把属性Message.name的选项id=true
  • 我把选项EKeys=name的关系Peer.in
  • 试图覆盖Message 的hashCode()equals()方法,根据属性名称计算它们

但是在一个模型中,Peer 在它的关系仍然可以有相同的消息。我想也许 OCL 可以帮助我实现我想要的。

实际上,我将 ATL 用于 M2M,结果是 Peer 有许多相同的消息。我希望该约束隐含在元模型中,而无需在 ATL 规则中手动控制是否对等方在添加之前已经或没有该消息。

谢谢

节点对等

节点消息

0 投票
3 回答
369 浏览

associations - OCL: Check for multiple Associations

I have a student class that has two associations: Graduate and Undergraduate. I am trying to create an invariant that makes sure no student is associated with both. I am very new to OCL and do not know the approach to this or syntax. I am thinking I need to have something like Student.allInstances->forAll( something here)

But I don't know.

Thanks!

0 投票
2 回答
446 浏览

invariants - OCL 定义不变量

如果我必须定义一个不变量来说明请求贷款的人的年龄应该大于 18 的附加类图,这将是

或者

两者有什么区别?

在此处输入图像描述 感谢您的指导

0 投票
3 回答
208 浏览

transformation - 将 ecore 模型(附带 OCL 表达式)转换为合金规范

我想看看是否有任何工具或引擎可以将 Ecore(元)模型转换为合金规范?

如果考虑随附的 OCL 表达式进行此翻译,那就太好了:)

谢谢

0 投票
1 回答
408 浏览

uml - OCL 中的 UML 聚合

给定问题的 UML 图

我的任务是为操作创建前置条件和后置条件:

该操作应返回指定标题项目的所有错误报告的数量。至于前提条件,我已经弄清楚了以下几点:

然而我有一个大问题如何处理项目中的工件聚合

如果它只是一个关联,我会执行以下操作:

但我不知道如何处理聚合,我似乎无法在谷歌上找到任何有用的信息。

0 投票
2 回答
101 浏览

uml - 有没有办法以编程方式检查模型的有效性,例如 Validation > Validate Model 吗?

有没有办法以编程方式检查模型的有效性,例如Validation > Validate Model吗?

0 投票
1 回答
129 浏览

emf - OCL 中关联的所有实例

如何使用 OCL 表达式访问关联的所有实例。

假设我在一个名为 refName 的变量中有一个关联名称,它是从类 A 到类 B 的关联名称。对于给定的 A 实例(比如 a),我如何访问 refName 的值,这显然是 SET(乙)?

注意 refName 不是关联名称,而是一个变量,其值为关联名称!所以,a.refName 不起作用!

谢谢

0 投票
2 回答
542 浏览

eclipse - Acceleo M2T - 将时间戳写入生成的文件

我通过使用定义到 *.mtl 文件中的不同 Acceleo 模板来生成一些文件。

在这些文件的顶部,我需要编写如下内容:

每次生成文件时如何动态生成此时间戳?

谢谢!

编辑:我解决了这个问题,如下所述。

module声明之后,添加query声明:

然后,创建一个名为的类GenerationSupport并添加一个名为的方法getCurrentTime()