首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OCL -对Papyrus中UML约束和完整OCL文件的质疑

OCL -对Papyrus中UML约束和完整OCL文件的质疑
EN

Stack Overflow用户
提问于 2021-09-23 19:28:06
回答 1查看 175关注 0票数 1

我希望在UML类图和完整OCL文件中评估约束。我搜索了一下,但是我只找到了方法在同一个类中的例子。下面是一个UML图类的示例,我有以下问题:

  1. 使用Papyrus,如何在图表中设置集合类型(包、集等),因为它们在输入和返回参数类型选择窗口中不可用?只适用于Ecore (EEList,EMap)

  1. 如何定义上下文和操作(参数/参数),因为它们都在其他类中,根据上面的类图?

  1. 如何在OCL完整文件中的两个类之间导航?

  1. 是否允许使用命令: def、let、if-
  2. 等?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-24 08:12:24

UML不支持集合或地图。相反,它具有多重性和合格的联系。对于通常的常见情况,只要指定一个无限的上限和唯一的有序极性,就足以配置OCL包/OrderedSet/Sequence/Set/Set的UML多样性。

UML支持模板,但OMG OCL不支持,尽管OMG OCL与UML是一致的。相反,OMG有神奇的"T“和"T1”类型,它们看起来非常像模板参数,而没有定义为模板参数。基于数据轴的Eclipse是针对许多OMG问题的原型解决方案,它实现模板,因此允许UML用户从Eclipse标准库定义一个DataType属性,其类型模板是相关的集合/映射类型。

对于平面集合,使用库类型只是另一种方法。对于嵌套集合,UML不支持这种集合,使用DataType来定义所有或所有级别的嵌套是唯一的选择。

(纸莎草使用基于数据透视的Eclipse。)

完整的OCL应该正常工作;UML的多样性被转换为/解释为OCL集合类型。在基于数据透视的Eclipse中,有一个遗留语法,它使用()引用例如Set(MyClass),但是使用一个新的/熟悉的<>来声明(例如MyAggregate<E> )。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69305913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档