
# 逻辑模型
#### 2.1.1逻辑模型的元素要与指定的逻辑模型层次结构保持一致
**详细描述**
在逻辑模型中创建逻辑元素，逻辑元素在架构树中与上下级元素的关系层级结构要与逻辑模型架构方案配置定义的层次结构一致，即该逻辑元素与上层父级元素、下层子级元素的父子关系（也称上下层级关系）、以及它们之间的连线关系和方向指向，都要与层级规则中定义的保持一致。
该规则项检查出的是架构信息树中按模型图构树后显示红色叹号的告警元素。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490106924.png "点击放大")
**检查范围**
当前模型工程所有逻辑模型图中的逻辑元素。
逻辑元素定义："工程设置 \> 元素构造型"下，绑定到4+1视图：逻辑模型的基础构造型与自定义构造型元素以及逻辑模型架构方案配置的构造型。
包括：在逻辑模型图上创建出来的逻辑元素，引用到逻辑模型中的逻辑元素（包含关联空间中的引用的逻辑元素）。
**如何检查**
查询基于模型图（只有逻辑模型图内的逻辑元素参与构树）构建的逻辑模型架构树，找出与架构方案不匹配（标红）的元素。
**正确示例**
架构层级规则示例：
关联父级：配置的是当前层级元素与上一层级的元素之间的连线类型和父子关系指向。
嵌套：是否支持当前类型的元素与同类型元素建立关系。
嵌套关系：当前类型的元素与同类型元素建立连线关系类型，默认为子指向父（即被指向的一方为子）。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490107032.png "点击放大")
符合架构层级方案的绘图示例1--包含的父子关系：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783885.png "点击放大")
符合架构层级方案的绘图示例2--连线的父子关系：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385732.png "点击放大")
架构信息树展示结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490267408.png "点击放大")
当架构树上没有标红元素，就没有2.1.1的检查错误结果。
**错误示例**
连线类型不对。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944545008.png "点击放大")
架构信息树中报红。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522467573.png "点击放大")
架构检查结果。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490268100.png "点击放大")
#### 2.1.2逻辑模型不能存在游离的逻辑模型元素
**详细描述**
逻辑模型元素不能独立存在于逻辑架构树之外，必须要与架构树上的逻辑元素建立关联关系。
**检查范围**
当前模型工程所有逻辑模型图中的逻辑元素。
（逻辑元素定义：工程设置 \> 构造型下，绑定到4+1视图 : 逻辑模型的基础构造型与自定义构造型元素以及逻辑模型架构方案配置的构造型）。
包括：在逻辑模型图上创建出来的逻辑元素，引用到逻辑模型中的逻辑元素（包含关联空间中的引用的逻辑元素）；
**如何检查**
查询基于模型图（只有逻辑模型图内的逻辑元素参与构树）并展示不匹配元素构建的逻辑模型架构树，找出未正确关联到架构树中的逻辑元素。
**正确示例**
按逻辑架构方案构建的架构信息树：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522307953.png "点击放大")
模型图示例：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971664181.png "点击放大")
**错误示例**
场景一：Component1与父级元素连线错误，导致子元素Module1变成游离的元素。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783881.png "点击放大")
检查结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490268302.png "点击放大")
#### 2.1.3逻辑模型同一个树的同一层上不能有同名同类型的元素
**详细描述**
在逻辑架构信息树上，同一个父元素节点下面，不能存在类型相同，名称也相同的元素。
**检查范围**
当前模型工程所有逻辑模型图中的逻辑元素
（逻辑元素定义：工程设置 \> 构造型下，绑定到4+1视图 : 逻辑模型的基础构造型与自定义构造型元素以及逻辑模型架构方案配置的构造型）。
包括：
1. 在逻辑模型图上创建出来的逻辑元素；
2. 引用到逻辑模型中的逻辑元素（包含关联空间中的引用的逻辑元素）；
**如何检查**
查询基于模型图（只有逻辑模型图内的逻辑元素参与构树）构建的逻辑模型架构树，找出同一节点下同名同类型的逻辑元素。
**正确示例**
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522468113.png "点击放大")
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783889.png "点击放大")
**错误示例**
场景一：同父元素下存在同类型且同名称的元素。
按逻辑规则构建的架构信息树，树上不会显示异常：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522308149.png "点击放大")
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522308223.png "点击放大")
#### 2.1.4逻辑元素与逻辑元素间需存在组合或聚合关系
**详细描述**
逻辑元素与逻辑元素之间如果存在连线关系，必须为组合或者聚合关系。
**检查范围**
当前模型工程所有逻辑模型图中的逻辑元素
（逻辑元素定义：工程设置 \> 构造型下，绑定到4+1视图 : 逻辑模型的基础构造型与自定义构造型元素以及逻辑模型架构方案配置的构造型）。
1. 在逻辑模型图上创建出来的逻辑元素之间的连线关系；
2. 引用到逻辑模型中的逻辑元素（包含关联空间中的引用的逻辑元素）之间的连线关系；
3. 不包含接口元素；
**如何检查**
找出逻辑模型图里的在检查范围内的逻辑元素间存在连线关系但连线关系中没有组合或聚合关系的元素（即使层级规则方案中配置了除组合聚合之外的指定的连线类型，也会检查出来）。
**正确示例**
组合或聚合关系。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385724.png "点击放大")
**错误示例**
场景一：使用非组合或者聚合连线关系。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783905.png "点击放大")
即使方案中配置了组件与模块之间有使用连线关系，但是该规则依然会检查出来。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522308287.png "点击放大")
#### 2.1.5逻辑元素与接口间需存在使用、依赖或实现关系
**详细描述**
逻辑元素与接口之间如果存在连线关系，必须为使用、实现、依赖关系。
**检查范围**
当前模型工程中的所有符合定义规则的逻辑元素（定义规则：工程设置 \> 构造型下，绑定到4+1视图 : 逻辑模型的基础构造型与自定义构造型元素才认定为逻辑元素）。
1. 在逻辑模型图上创建出来的逻辑元素与接口连线之间的连线关系；
2. 引用到逻辑模型中的逻辑元素（包含关联空间中的引用的逻辑元素）与接口之间的连线关系；
3. 接口只指实体接口，即Interface元素，暴露接口Provided Interface和请求接口Required Interface非实体接口，不在检查目标中；
**如何检查**
找出逻辑模型图里的在检查范围内的逻辑元素与实体接口间存在连线关系但连线关系不是使用、实现、依赖关系的逻辑元素和接口
（即使层级规则方案中配置了除使用、实现、依赖之外的指定的连线类型，也会检查出来）。
**正确示例**
使用、实现、依赖关系：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385680.png "点击放大")
**错误示例**
场景一：使用非实现、使用、依赖之外的连线关系（即使关系已经配置到方案中）。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783893.png "点击放大")
即使方案中配置了组件与模块之间有组合连线关系，但是该规则依然会检查出来。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490268588.png "点击放大")
#### 2.1.6接口与接口间需存在组合或聚合关系
**详细描述**
接口与接口之间如果存在连线关系，必须为组合或者聚合关系。
**检查范围**
当前模型工程中的所有符合定义规则的接口（定义规则：工程设置 \> 构造型下，绑定到4+1视图 : 逻辑模型的接口Interface元素）。
1. 在逻辑模型图上创建出来的接口元素之间的连线关系。
2. 引用到逻辑模型中的接口（包含关联空间中的引用的逻辑元素）之间的连线关系。
**如何检查**
找出逻辑模型图里的接口间存在连线关系但连线关系中没有组合或聚合关系的接口元素（即使层级规则方案中配置了除组合聚合之外的指定的连线类型，也会检查出来）。
**正确示例**
组合或聚合关系：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385728.png "点击放大")
**错误示例**
场景一：使用非组合或者聚合连线关系。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783909.png "点击放大")
即使方案中配置了接口与接口之间有使用连线关系，但是该规则依然会检查出来。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522468439.png "点击放大")
