





摘" 要:基于關聯建筑數據和本體建模方法開展建筑數字孿生自演化模型本體建模研究,對建筑數字孿生模型中涉及的各類信息要素和耦合交互關系進行統一語義描述,擬解決建筑孿生數據在數據層面上難以跨系統集成和跨行業融合的難題。接著,提出一種建筑數字孿生本體模型演化方法,實現基于本體模型的孿生數據存儲與調用、增量更新、迭代更新和超前更新功能,將靜態的本體模型轉化為可執行的動態演化模型,通過孿生數據的演化表示建筑數字孿生模型的復雜演化過程。
關鍵詞:建筑數字孿生;自演化;本體建模;關聯建筑數據;信息要素
中圖分類號:TU17" " " "文獻標志碼:A" " " " " 文章編號:2095-2945(2023)12-0053-06
Abstract: The research on ontology modeling of architectural digital twin self-evolution model is carried out based on associated building data and ontology modeling method, and all kinds of information elements and coupling interactions involved in architectural digital twin model are described semantically. The purpose of this paper is to solve the problem that it is difficult to integrate building twin data across systems and industries at the data level. Then, an evolution method of building digital twin ontology model is proposed, which realizes the functions of twin data storage and call, incremental update, iterative update and advanced update based on ontology model, and transforms static ontology model into executable dynamic evolution model. The complex evolution process of building digital twin model is represented by the evolution of twin data.
Keywords: architectural digital twins; self-evolution; ontology modeling; associated architectural data; information elements
建筑數字孿生模型是在虛擬世界中與建筑物理實體保持共生演化關系的信息映射模型,其研究與發展對于提升建筑管理能力具有重要意義。然而,建筑在生命期的演化中會遭遇老化和性能衰退等問題,建筑的一些參數和物理規律會在復雜環境的影響下產生一系列不確定的連續改變[1],使得建筑數字孿生模型通常難以與建筑物理實體間保持動態一致性。
對此,本文首先依據建筑數字孿生概念模型[2],基于關聯建筑數據和本體建模方法構建面向自演化的建筑數字孿生本體模型,擬解決建筑孿生數據難以跨系統集成和跨行業融合的數據共享難題,使建筑物理實體能夠以計算機可讀的形式在信息世界表達。然后,提出一種建筑數字孿生本體模型演化方法,實現基于本體模型的孿生數據存儲與調用、增量更新、迭代更新和超前更新功能,將靜態的本體模型轉化為可執行的動態演化模型,解決建筑數字孿生模型難以與建筑物理實體間保持共生演化關系的難題。
1" 面向自演化的建筑數字孿生本體模型
1.1" 基本信息模型本體
基本信息模型本體如圖1所示。圖1中,建筑拓撲本體(BOT)[3]本體描述了建筑的組成元素和元素間的關系。從宏觀角度,BOT本體以bot:Zone為核心,自頂向下將建筑的空間拓撲結構劃分為bot:Site、bot:Building、bot:Storey和bot:Space四個層級,然后定義bot:containsZone、bot:adjacentZone和bot:intersectsZone關系來表達建筑元素間的空間拓撲關系。從微觀角度,BOT本體使用bot:Element描述建筑物理實體中的基本組成單元。定義bot:hasSubElement關系抽象表達一個建筑基元是另一個建筑基元的更小組成部分或一個建筑基元承載著另一個建筑基元。擴展定義bdt: intersectsElement關系表達建筑基元之間的信息流動。
屬性管理本體(OPM)[4]本體表達建筑組成元素的屬性(opm:Property)和元素的屬性狀態(opm:PropertyState)在建筑全生命周期中的變化。定義opm:hasProperty關系將6個BOT本體與相關屬性綁定,使其具有特定的位置、結構、行為或功能等參數,定義opm:hasPropertyState關系說明當前屬性的狀態。OPM本體又可細分為幾何屬性管理本體(OMG)[5]和語義建筑信息模型本體(SBIM)[6],分別通過omg:Geometry和sbim:NonGeometry將幾何屬性及屬性狀態、非幾何屬性及屬性狀態附加到相關的建筑元素。opm:hasProperty分別通過opm:CurrentPropertyState、opm:OutdatedPropertyState和bdt:FuturePropertyState闡明當前屬性在過去、當下與未來3個階段的參數狀態,用于反映元素的屬性在全生命周期中的演變。擴展類本體bdt:Visualizer負責實現建筑物理實體在信息物理空間的三維鏡像,通過定義bot:has3DModel關系將建筑組成元素的相關數據傳輸到bdt:Visualizer,由bdt:Visualizer對其進行三維模型重建。
1.2" 物理模型本體
如圖2所示,物理模型本體主要由人工神經網絡本體(ANNETT-O)[7]和建筑數字孿生模型本體(BDT)2個大類組成,對物理機理超前預測和自主決策模型進行抽象化表達。
在算法結構的表達中,定義annett-o:ANNConfiguration描述神經網絡算法中的相關參數配置,并通過ssn:hasInput關系將建筑元素的歷史狀態屬性數據與算法相關聯,為歷史物理機理擬合算法提供數據。然后定義annett-o:Network描述算法具有的神經網絡層數、神經元個數和超參數配置等固有信息,并通過annett-o:hasNetwork關系與某算法相關聯。
在算法訓練方法的表達中,定義annett-o:TrainingStrategy闡明算法的訓練方法,并通過annett-o:hasTrainingStrategy關系指明實施該訓練方法的神經網絡。定義annett-o:ObjectiveFunction表示算法的擬合目標,擴展定義bdt:trains關系指定訓練目標函數的訓練策略。定義ssn:hasOutput關系將annett-o:ObjectiveFunction和bdt:HyperParameters相關聯,表示該超參數為基于目標函數計算出的算法最優超參數。
在算法的超參數自演化表達中,定義bdt:Evolver表示實現超參數自演化的集成函數,定義annett-o:Function表示演化器集成函數中的子函數。使用ssn:hasInput關系將s3n:Alg-orithm與bdt:Evolver相關聯,表示交互模型本體中的微控制器算法模塊將實時狀態屬性數據傳遞給bdt:Evolver,作為bdt:Evolver的數據輸入驅動超參數完成自演化操作。使用ssn:hasInput和ssn:hasOutput關系連接bdt:Evolver和bdt:HyperParameters,表示未經演化的超參數輸入演化器和演化器輸出經演化后的超參數。擴展定義bdt:feedbacks關系表示將自演化后的超參數返回并校正初始神經網絡。
最后,定義bdt:Simulator表示建筑物理機理的超前預測模型和智能體的虛擬環境模擬器,定義bdt:Agent表示面向環境交互的自主決策模型,定義ssn:Output作為bdt:Simulator和bdt:Agent的交互橋梁。需要說明的是,這里的ssn:Output包括bdt:Simulator輸出的超前預測值、bdt:Agent中某些參數的約束條件和bdt:Agent輸出的決策指令等信息。
1.3" 交互模型本體
交互模型本體如圖3所示。圖3中,語義傳感器網絡本體(SOSA/SSN)[8]和智能語義傳感器網絡本體(S3N)[9]描述了建筑運行數據在交互模型中的閉環流動,表達外界刺激下建筑數字孿生模型的動態響應過程。以“感知—控制—執行”為主線,可將其劃分為感知類本體、控制類本體和執行類本體。
在感知類本體中,定義ssn:Simulus表示傳感器的觸發事件,定義sosa:Sensor監測某物理量,使用ssn:detects關系指明sosa:Sensor監測的是哪種物理量,用于表達建筑數字孿生模型對建筑運行數據的感知同步。定義sosa:Observation將ssn:Simulus所指事件以數據形式記錄,使用sosa:madeBySensor和sosa:madeByObservation關系將sosa:Observation與對應的sosa:Sensor相綁定。定義sosa:hasResult關系和sosa:resultTime關系將sosa:Observation分別與對應的sosa:Result和xsd:dateTime相綁定。定義sosa:ObservedProperty關系將sosa:Observation與opm:Property相關聯,使opm:Property可以讀取sosa:Result和xsd:dateTime完成同步更新。定義sosa:isFeatureOfInterestOf和sosa:hasFeatureOfInterest關系將觀測記錄和建筑組成元素相關聯,而建筑組成元素又通過opm:hasProperty與相關屬性綁定,進一步可闡明某建筑組成元素的某屬性具有的觀測值和觀測時間。
在控制類本體中,使用s3n:MicroController表達建筑數字孿生模型對建筑運行數據的分析與處理,綜合運行數據和自演化需求與目標,通過自身集成的智能算法模塊生成運行狀態優化控制策略。在s3n:MicroController和sosa:Observation之間定義ssn:hasInput關系,闡明智能算法模塊中參與計算的相關實時狀態屬性數據。智能算法模塊包括ssn:Procedure類和s3n:Algorithm類。其中ssn:Procedure指封裝在微控制器中的小型算法模塊,進行一些實時的數據分析與處理操作,比如通過控制送風末端閥門開度調節送風量。s3n:Algorithm指封裝在微控制器中的超前預測與自主決策控制算法模塊。由于超前預測與自主決策控制算法模塊是對某物理量的未來演化狀態的處理,因此只有當建筑數字孿生模型需要獲取未來演化狀態時,s3n:Algorithm模塊才會被執行。將該流程使用s3n:AlgorithmExecution類表示,即當s3n:MicroController接收到獲取未來演化狀態的需求時,將該需求通過s3n:madeAlgorithmExecution關系傳遞給s3n:AlgorithmExecution,然后s3n:AlgorithmExecution通過ssn:implements關系鏈接到需要執行的超前預測與自主決策算法。需要說明的是,ssn:Procedure和s3n:Algorithm均通過ssn:implementedBy關系將算法與其對應的微控制器相關聯,同時通過ssn:hasOutput關系與ssn:Output相關聯。
在執行類本體中,使用sosa:Actuator表示建筑物理實體的執行機構,擴展定義bdt:drives關系表示ssn:Output內含的控制指令驅動sosa:Actuator執行相關動作,同時定義sosa:madeActuation關系指明sosa:Actuator執行何種“調整行為”(sosa:Actuation)。最后,通過bdt:acts關系指明sosa:Actuation作用的建筑元素。
此外,擴展定義“動畫器”(bdt:Animation)表示對建筑數字孿生模型動態行為的刻畫與渲染,如建筑元素屬性值的動態展示、三維模型的平移(地表沉降)等。擴展定義bdt:animates關系將動態行為與相應動畫關聯。
2" 建筑數字孿生本體模型演化方法
由于本體模型本質上是建筑物理實體的數字映射模型,因此可通過建立建筑孿生數據的演化方法表達建筑數字孿生本體模型的演化。而建筑數字孿生模型在進行監控、仿真、預測和決策等活動時,常常需要調用模型的歷史和實時狀態屬性數據,因此需要提供一種孿生數據的存儲和管理方法,使孿生數據的歷史、實時狀態可讀可溯且支持快速查詢與調用。同時,還需提供一種孿生數據更新機制,通過信息的更新表達孿生模型運行狀態的演變。綜上,本體模型演化方法應包括孿生數據的存儲與調用,以及孿生數據的更新。
2.1" 孿生數據存儲與調用
如圖4所示,采用Neo4j和Py2neo的Data Types模塊實現基于本體模型的孿生數據存儲與調用,功能包括連接Neo4j圖數據庫、節點和關系的存儲、節點和關系的查詢等。
2.2" 孿生數據增量更新和迭代更新
如圖5所示,主要依賴Py2neo的Data Types模塊與Neo4j的交互實現基于本體模型的孿生數據增量更新和迭代更新(同步更新)。
當本體模型有信息新增需求時,首先檢測現有本體模型是否已存在相關節點或邊,或者某節點或邊是否已存在相關屬性。若已存在則轉到“迭代更新”流程,若未存在則根據第1節擬定的相關規則創建節點或邊,或者為節點或邊添加相關屬性。通過本體模型節點或邊的創建,以及屬性與節點或邊的綁定,實現孿生數據的增量更新操作。
迭代更新是指對本體模型中已存在的節點或邊的數據進行更新調整。由于需要滿足孿生數據歷史、實時狀態的可讀可溯,因此不可直接對原始節點或邊的數據進行修改。在修改數據前需先將原始節點或邊進行復制得到新的節點或邊,然后將原始節點或邊的屬性狀態標記為“opm:OutdatedPropertyState”,最后在新的節點或邊上進行相關數據更新,并將其屬性狀態標記為“opm:CurrentPropertyState”。當然,若是對節點進行更新,還需要將與原始節點相關聯的邊重新關聯到新的節點上,同時在原始節點和新節點間建立“上一版本”(bdt:PreviousVersion)關系,從而實現對某節點歷史信息的追溯。
2.3" 孿生數據超前更新
超前更新是指基于物理模型的超前預測值或決策結果對本體模型中已存在的節點或邊的數據進行更新調整。超前更新部分主要依賴Py2neo的Data Types模塊和Object-Graph Mapping模塊實現。Py2neo的Object-Graph Mapping模塊支持將Neo4j圖數據庫中存儲的本體和關系分別映射為Python對象和Python方法,以支持在Python環境下通過對象訪問的方式向節點添加屬性和方法。
以圖6孿生數據的超前更新核心示例偽代碼為例,首先將bdt:Simulator節點和與該節點相連接的ssn:hasInput關系通過Py2neo的Object-Graph Mapping模塊分別映射為Python對象和該對象的方法,然后將超前預測算法作為類方法添入其中,使bdt: Simulator節點可以調用超前預測算法,而超前預測算法又可以通過bdt:Simulator節點獲取Neo4j圖數據庫中存儲的歷史和實時狀態屬性數據,最后將超前預測算法輸出的超前預測值通過update_node_info()函數的“迭代更新”模塊返回Neo4j圖數據庫,驅動相應節點和邊進行超前更新。“超前更新”中節點和邊的更新操作與“迭代更新”基本一致,區別在于“超前更新”需要將新的節點和邊的屬性狀態標記為“bdt:FuturePropertyState”。
3" 結論
本文首先基于關聯建筑數據構建了面向自演化的建筑數字孿生本體模型,以統一的語義描述方法實現了建筑多源異構孿生數據的集成與融合。接著,為使靜態的本體模型轉換為可執行的動態演化模型,提出一種建筑數字孿生本體模型演化方法,使建筑數字孿生本體模型可動態模擬建筑物理實體。另外,文章中提到的超前預測模型具體實現方法在相關文獻[10]中闡述,自主決策模型的具體實現方法則在團隊后續研究中發表。
參考文獻:
[1] PARN E A, EDWARDS D J, SING M C P. The building information modelling trajectory in facilities management: a review[J]. Automation in Construction, 2017(75):45-55.
[2] LI S, YANG Q, XING J, et al. A foundation model for building digital twins: a case study of a chiller[J]. Buildings, 2022,12(8):1079.
[3] JANOWICZ K, RASMUSSEN M, LEFRANCOIS M, et al. BOT: The building topology ontology of the W3C linked building data group[J]. Semantic Web, 2020,12(1):21.
[4] RASMUSSEN, LEFRANCOIS M H, BONDUEL M, et al. OPM: an ontology for describing properties that evolve over time[C]//Proceedings of the 6th Linked Data in Architecture and Construction Workshop (LDAC 2018). London: Semantic Web, 2018, CEUR-WS 2159:10.