问题标签 [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 投票
1 回答
314 浏览

scala - Scala 的 EMF/UML 和 OCL API

我在 Scala 中开发的应用程序的一部分需要读取和解析 EMF/UML 模型以及在这些模型上定义的 OCL 表达式。我的 OCL 表达式几乎是在这些 EMT/UML 模型上定义的查询表达式。

我的问题:

1) 读取和解析 EMF/UML 模型的 API 选项有哪些?

2) 有哪些 API 选项可以解析和评估 EMF/UML 模型上的 OCL 表达式(查询)。

0 投票
1 回答
64 浏览

uml - 如何使数字来自OCL中的给定集合?

有一个“等级”类,其“价值”属性设置为真实,我的问题是如何在 OCL 中编写这种条件:

等级是一组 {2, 3, 3.5, 4, 4.5, 5} 中的一个数字

0 投票
1 回答
466 浏览

eclipse - Acceleo Collection 集合

我已经定义了这个查询

我实际上做的是:

  1. 从“aCSharpModel”获取序列

  2. 对于这个序列中的每个元素,我将它定义为一个序列,并在前面添加另一个元素(rmm.hasRelatedCSharpRModelcollect 内部是无关紧要的,它只是一个 1 对 1 的关系)

所以我需要这样的东西:

但是当我尝试从模板访问结果中的每个内部序列时,例如:

我收到一个错误:

org.eclipse.acceleo.engine.AcceleoEvaluationException:模块TODODbResourceRepositoryCSharpFile中第18行的迭代类型无效,用于块(genCascadePath(aCSharpResourceModelManager.hasRelatedCSharpRModel))分隔符('->')。org.eclipse.emf.ecore.impl.DynamicEObjectImpl 不是序列实例(CSharpResourceModel)。

如果我尝试执行相同的 for 循环,但使用迭代器作为 typeCSharpResourceModel而不是Sequence(CSharpResourceModel),它不会产生错误,但它将我的查询结果视为单个序列,就像一个展平的序列一样。

问题是我需要有我一开始描述的行为。

我怎样才能做到这一点?

谢谢你。

0 投票
1 回答
307 浏览

uml - 对一组数字进行排序

链接到 OCL 文档

如果我有一系列汽车,我可以按发动机功率对其进行排序,如下所示:

或者干脆

如何对一组数字进行排序?以下表达是否正确?

0 投票
2 回答
188 浏览

uml - 嵌套 OCL forAlls

我在一阶逻辑中有以下公式。

简单地说,对于所有类型 A 的对象和所有类型 B 的对象,如果它们与 r1 相关,那么它们也与 r2 相关。

这是类图:

在此处输入图像描述

请有人提供上述公式的OCL表示。

0 投票
1 回答
237 浏览

constraints - 如何编写 OCL 约束

我是 OCL 新手,我在 eclipse luna 4.4.2 上使用纸莎草纸类调用地址具有约束的属性出处{出处应是强制性的}

我应该如何编写适合正式语言的OCL约束?还想知道如何验证语法的正确性吗?

0 投票
0 回答
111 浏览

java - Java, EMF + OCL Diagnotician 无法处理重复的 id

我有一个 EMF 模型,其中一些对象包含 ID,而另一些则不包含。id 属性配置如下:

在此处输入图像描述

我使用 java 诊断程序来检查是否违反了任何 OCL 约束:

在大多数情况下效果很好。但是一旦有重复的 Id,Validator 就会抛出 ClassCastException,他会尝试将两个对象之一转换为另一个对象的类型。我能做些什么来避免这种情况?检查重复 ID 的 OCL 约束是否会有所帮助?

0 投票
1 回答
8956 浏览

linux - 将 hashCat 与 RAR 文件一起使用?

我很困惑,实际上可以将 hashcat 用于 RAR 文件吗?论坛说“是”并指向一个样本......

他们似乎在打电话:

到目前为止,一切都很好.. 所以我去抓取 jtr 并运行 rar2john,这给了我;

我已经尝试了这个的所有排列来代替命令中的“哈希”,但我总是得到Line-length exception

有没有人让这个工作成功?我注意到 RAR 类型是 1——它是 -p,而不是 0 (-ph).. 这是我的问题吗?

0 投票
1 回答
131 浏览

eclipse - OCL:根据箭头方向导航单向关联

我在这里读到https://wiki.eclipse.org/OCL/FAQ

如何在 Ecore 中访问无法导航的对立面

在 UML 中,仅打算在运行时沿一个方向导航的关联可以用单向箭头绘制。

OCL 评估发生在分析时,无论箭头如何,都可以双向导航。

这是 OCL 标准的一部分还是只是 eclipse ecore 的一部分?

一个例子:给定两个类 A 和 B,以及从 A 到 B(但不是从 B 到 A)的单向关联。在类图中,这可以用从 A 到 B 的箭头(一个箭头指向 B 的线)来说明。

编写逆箭头方向导航的 OCL 约束真的是标准的一部分吗?

我在 OCL 规范中找不到任何关于此的内容,请参见此处

0 投票
0 回答
1105 浏览

uml - OCL(Object Constraint Language)选择,属性使用sum

我正在尝试查找OCL 表达式(计算器),但我不确定如何获取集合属性的总和。

我有一堂课Customer和一堂课Orders。我想将特定年份的所有订单的总和保存在Customer类属性revenue中。 Orders具有属性“日期订单”和“金额”。Given 是 year(Date) 给出特定日期的年份并Date.now()给出当前日期。

我找到了这个解决方案:

我不想使用collect,但我真的不知道如何只使用select语句来做到这一点。我假设省略 collect(amount) 并将 sum 更改amount.sum()为也不正确?

我希望有人可以帮助我解决这个问题。