uml - UML/SysML:派生属性的 OCL 规范,计算特定关系/刻板印象的数量
问题描述
我目前正在研究 UML/SysML 配置文件(使用 Cameo Systems Modeler (NoMagic))。
我创造了两个新的刻板印象。一个是与元类依赖«collaborates»的新关系,另一个是称为«SystemGroup»的类原型。
然后我向«SystemGroup» 原型添加了一个派生属性,称为“/size”。这个想法是这个属性是由通过新的 «collaborates» 原型连接到 SystemGroup 的系统的数量得出的。
我认为使用 OCL(或者甚至工具的表达式?)应该不难。我是 MBSE 的绝对初学者,到目前为止,OCL 规范和谷歌并没有帮助,因为规范非常详细,谷歌上的答案大多是通用的,比如“派生属性是由 OCL 中的特定表达式派生的属性或其他语言”。
有人可以帮助我或向我发送如何为派生属性做一些顶级 OCL 的链接吗?
提前致谢!
解决方案
OCL 与 Stereotypes 的使用被大量低估。在 OCL 规范中零提及,只是在 UML 规范中的一个例子的提示。基于 Pivot 的 Eclipse OCL 原型可能是唯一一致的实现,其中包含使用 base_XXX 和 extension_XXX 名称和多样性提供合理类型安全导航的提示。我怀疑任何其他工具都可以做到这一点。我怀疑 NoMagic 使用了传统的 Classic Eclipse OCL,其中 OCL 功能不足会鼓励许多用户访问 Eclipse MDT UML2 项目 Java API。
您可能会从https://help.eclipse.org/2020-03/topic/org.eclipse.ocl.doc/help/OCLExamplesforUML.html#OCLM2Constraints获得一些线索
推荐阅读
- c# - 如何在我的 C# 代码中使用 MSBuild 参数?
- django - /article/add/ 处的 NoReverseMatch
- c++ - Tic Tac Toe minimax 算法的问题
- javascript - 等待页面加载 - 赛普拉斯
- omnet++ - 在 OMNET++ 项目中子类化 INET 模块时出错
- vue.js - Axios 事件处理程序无法在 EventBux 上触发事件
- c++ - 避免竞争条件性能
- linux - 打开一个终端以无限循环结束
- rust - 在 Bevy 游戏引擎中将 1000x1000 像素纹理分配给 SpriteSheetBundle 大约需要 5 秒
- kotlin - android.content.ActivityNotFoundException:没有找到处理 Intent 的活动 { act=android.intent.action.VIEW dat=zhanysch@gmail.com }