7.1 范围
当前章节指定了CMMN 1.1图交换(CMMN DI)的元模型和模式。CMMN DI旨在促进工具之间CMMN图的交换,而不是被工具用于内部图的表示。为CMMN DI选择了最简单的交换方法,以确保CMMN图的明确呈现。因此,CMMN DI并不打算在源工具和目标工具之间保留或交换任何“工具智能”(例如,布局智能、高效样式化等)。
CMMN DI并不确定CMMN图在语法或语义上是正确的
7.2图形定义与交互
与CMMN抽象语法元模型类似,CMMN DI元模型被定义为基于mof的元模型。因此,它的实例可以使用XMI序列化和交换。CMMN DI也是由XML模式定义的。因此,它的实例也可以使用XML序列化和交换。
CMMN DI元模型和模式都与OMG图定义(DD)标准版本1.1相协调。引用的DD包含两个主要部分:图共享(DC)和图交换(DI)。DC定义了诸如边界和点之类的公共类型,而DI则提供了一个框架来定义特定领域的图模型。作为一个特定于领域的DI, CMMN DI定义了一些新的元模型类,这些类派生自DI的抽象类。
CMMN DI的重点是组成CMMN图的布局形状和边的交换。每个形状和边缘引用一个特定的CMMN模型元素。参考的CMMN模型元素都是实际CMMN模型的一部分。因此,CMMN DI意味着只要可能,只包含既不存在也不能从CMMN模型派生的信息。简单地说,要呈现CMMN图,CMMN DI实例和引用的CMMN模型都是必需的。
从CMMN DI的角度来看,CMMN图是CMMN模型在某个时间点的特定快照。多个CMMN图可以通过引用来自同一CMMN模型的模型元素进行交换。每个图都可能提供CMMN模型内容的不完整或部分描述。如第9条所述,CMMN模型包由一个或多个文件组成。每个文件可以包含任意数量的CMMN图。导出工具可以*决定要导出多少图,导入工具可以*决定是否以及如何将包含的图呈现给用户。
7.3怎么约定当前条款
子条款7.4详细描述了用于保持CMMN图的布局和外观的元模型。条款7.5在表格中给出了CMMN元素描述的库,以及参考的CMMN模型元素及其描述之间的明确的分辨率。
7.4CMMN图形交互元模型
7.4.1 预览
CMMN DI是OMG DI元模型的一个实例。与一般的DI一样,CMMN DI的基本概念是,序列化图[CMMNDiagram]进行交换需要指定形状[CMMNShape]和边[CMMNEdge]的集合。
CMMN DI类只定义用于描述的可视属性。CMMN元素的明确描述所需的所有其他属性都是从引用的CMMN元素[cmmnElementRef]派生出来的。CMMN图可能是CMMN模型内容的不完整或部分描述。来自CMMN模型的一些CMMN元素可能不会出现在任何被交换的图实例中。
CMMN图可能是CMMN模型内容的不完整或部分描述。来自CMMN模型的一些CMMN元素可能不会出现在任何被交换的图实例中。
不允许在单个图中对特定CMMN元素进行多个描述(除了OnPart关系,它可以使用sentry为每个入口/出口标准显示一次)。因此,它不允许在同一个图中描述一个PlanItem两次,但允许在两个不同的图中描述同一个PlanItem。
CMMN DI不直接提供任何遏制概念。cmmn图是混合CMMNShape(s)和CMMNEdge(s)的有序集合。CMMNDiagram中的CMMNShape和CMMNEdge的顺序决定了它们的z轴次序(即,什么在什么前面)。CMMNShape(s)和CMMNEdge(s)是指在其他CMMNShape(s)和CMMNEdge(s)之上描述的CMMNShape(s)和CMMNEdge(s)必须出现在cmmn图的后面。因此,导出工具必须对所有CMMNShape和CMMNEdge进行排序,以便能够呈现所需的描述
7.4.2计量单位
根据OMG DD,所有由CMMN DI定义的坐标和长度都假定使用用户单位,除非另有规定。用户单位是用户坐标系统中的一个值,它最初(在应用任何转换之前)与设备的坐标系统(例如,显示器的像素网格)对齐。因此,用户单元代表的是逻辑度量单元而不是物理度量单元。由于一些应用程序可能还会为图指定物理维度(主要是为了打印目的),因此可以将从用户单元到物理单元的映射指定为图的分辨率。在这个规格中选择英寸是为了避免可变性,但是工具可以很容易地从/转换到其他首选的物理单位。分辨率指定一个物理单元中容纳多少用户单元(例如,300的分辨率指定设备上1英寸内容纳300个用户单元)。
7.4.3CMMNDI[Class]
CMMNDI类是共享CMMNStyle和定义中所有CMMNDiagram的容器
7.4.4CMMNDiagram [Class]
CMMNDiagram类专门用于DI::Diagram。它是一种图表,表示CMMN模型的全部或部分描述
CMMNDiagram是CMMNDiagram element (CMMNShape(s)和CMMNEdge(s))的容器。CMMNDiagram不能包含其他CMMNDiagram。
7.4.5CMMNDiagramElement [Class
7.4.6 CMMNShape [Class]
7.4.7 CMMNEdge [Class]
7.4.8 CMMNLabel [Class]
7.4.9 CMMNStyle [Class]
7.5符号描述库和抽象元素解析
备注:翻译过程借助有道同步完成