1. BIS介绍

BIS(Base Infrastructure Schemas) 是一种"概念模式",用于模拟真实世界实体的分类、数据结构和关系。采用 Bentley 开放式的 EC Schema(Entity Classification Schema) 语言编写,并用来实体关系建模。


1.1. BIS包含的范围

  • 实体空间中的物理基础设施
  • 实体基础设施(加工工厂)实施的功能系统
  • 与基础设施相关的空间的实体(如边界线、网格线等)
  • 实体基础设施的数学分析和模拟模型
  • 基础设施工作流程(如项目、企业、阶段、检查、交接等)中涉及的业务概念和流程
  • 与基础设施和业务工作流程相关的信息(如文档、图纸、合同、规格、报告、RFI、问题、交付品、版本等)

1.2. BIS对现实世界的描述

对现实世界中的对象( Physical Object )采用建模的视角,对其进行简化表达:每个对象是由许多的实体( Entity )组成的,并且每个实体拥有对象的属性信息。对现实世界的简化表达如图:

01

BIS Repository 是一个信息存储库,其结构和语义是由BIS进行管理的。管理的对象包括:

  • 已建的基础设施
  • 在各种系统中承担的对象角色
  • 支持已建基础设施的设计、施工和运营的无形对象(例如文档、要求、电子图纸等)

1.3. BIS组建与使用

构建 BIS Repository 的基本内容可称为记录信息,信息包括:Model, Element, RelationshipElementAspect

1.3.1. (1) Element

Element 组成了现实世界的实体,一系列相关的 Element 汇聚成完整的对象。Element 可以对现实世界的实体进行实例化,例如有 PhysicalElement、SpatialLocationElement、InformationContentElement。Element 与现实世界的映射关系如图:

02

1.3.2. (2) Model

一个 Model 包含了许多的 Element,Model 可以是一个单独的对象,也可以是对象的集合。

  • 一个实体对象可对应一个 Model

03

  • 多个实体对象组合成一个 Model

04

  • 特殊组合的 Model(RepositoryModel) 在 BIS Repository 中扮演“目录”的角色,它包含一个"主题"元素,在文本上引用 BIS Repository所涉及的对象。

05

1.3.3. (3) RelationShip

Model 与 Model、Model 与 Element 之间存在各种各样的关系(RelationShip)。ElementHasChildElements 是 Element 中表达父-子或整体-局部最为重要的一种关系类型。如下图所示,对象1表示为门,门有可能包含了五金部件。

06

除此之外,对于对象和它的子集,BIS 还支持以下两种组合关系:

  • sub-Model

    由 Element 组建的对象可以是"原子"(不允许任何 Child Element),并且在细粒级的 "sub-Model" 中分解尽可能多的 Element。在sub-model 中 Element 相互之间存在冗余。

  • parent Element

    由不同 Element 组合而成的对象不能在子模型中拆分。本质上是将实体对象聚合在一起,并且父元素与其子元素不冗余。

这两个规则意味着给定类别的 Element 不能同时为 sub-Model 和 parent Element。Schema创建时,只能二选一。

1.3.4. (4) ElementAspect

ElementAspect 是增强 Element 属性的灵活方法。它们是一组属性,通常仅在特定上下文中保存所需的信息,例如在施工阶段或当我们需要链接到其他存储库中建模实体的信息。ElementAspect 不是单独识别的(因此不能用 RelationShip 进行关联),但它们可能是指向 Element 的 RelationShip 的"来源"。


1.4. Identifiers

Element 具有一个重要的标识符(Identifier),称为ElementID。并且包括使用 Element 模型表达现实世界的两个标识符:CodeFederationGuid

ElementID是64位整型属性,是Element的重要标识符且在 BIS Repository 中唯一。

Code是表达实体( Entity )的可读字符串标识符。有三个与 Element 属性有关的 Code:CodeValueCodeSpecCodeScope。这三个组合一起的属性在 BIS Repository 中唯一,可作为辨别 Element 的第二重要的标识符(仅次于 ElementID )。

  • CodeValue: CodeValue 保存 Code;
  • CodeSpec: CodeSpec 管理 Code 的编码与解码;
  • CodeScope: CodeScope 定义 Code 的范围,并且是唯一的。

FederationGuid是可选项,可用在辨别不同 BIS Repository 间的实体( Entity )。

UserLabel是可选项(非唯一),用来前端属性面板展示的表头内容。当 UserLabel 为空时,前端页面将展示 CodeValue。


Author: 丁嘉树

results matching ""

    No results matching ""