MES/MOM的未來:低代碼與模型驅動(2)
05 面向業務領域建模
我們的確需要功能強大的通用建模工具,用于去開發應用系統。同時,我們也需要面向不同領域的一系列更簡潔、更易用的專用建模工具,這些工具可以提供給不同的領域工程師使用,更高效的開發和維護應用系統,而不是IT工程師。
那么什么是專用建模工具?對于MES/MOM系統來說,系統需要提供哪些領域相關的建模能力?我們舉個實際的例子。如下圖,對于一個高度柔性自動化的數字孿生智能工廠,我們對生產排程、倉儲物流、質量監控、設備監控、設備運維等進行建模。
圖 基于模型定義高度柔性自動化的數字孿生智能工廠
建模包括兩個方面:靜態的部分和動態的部分。
結構建模通常是靜態的,用于映射工廠的對象和結構關系,例如組織結構、班組/工段、車間布局、工位和連接關系、工位配備的資源,如設備、人力、工具工裝,倉庫、存儲分區、貨位結構、車間緩存區、物流配送點、物流設備/容器、配送路線等。
行為建模通常是動態的,用于定義系統的行為,包括數據處理、分析、預測、優化和控制等,例如:用戶權限規則、日歷/資源產能配置、生產排程和調度策略、倉儲上/下架策略、物流拉動/配送規則、物流擁塞控制規則、質量預警規則、設備預防性維護策等。
通常需要提供一系列建模工具,分別提供給不同角色的業務人員使用,當工廠的生產布局、工藝流程、組織架構、生產設備、物流路線等發生變化時,主要由這些業務工程師負責對相關的模型進行調整,調整之后不需要生成代碼立刻生效,不需要交給程序員去修改代碼。
圖 面向業務工程師的建模能力
圖 生產監控圖形化布局設計
圖 設備聯網建模工具
通過這些建模工具,實際上MES/MOM系統面向業務工程師開放了某種業務領域的建模能力,或者提供了一種面向領域,更加圖形化、簡單和易于使用的用戶界面,或提供了一系列面向領域的建模語言(DSMLs,Domain-Specific Modeling Languages),用來幫助業務人員更高效地創建系統可動態解析的模型。
需要說明的是:雖然提供了面向不同業務領域的建模工具,但是這些建模工具所定義的模型不是彼此獨立的,而是互相關聯的,大家共同創建和持續維護和優化整個工廠模型。例如,物流模型配送點通常會連接到車間布局中的工位,生產工藝、生產計劃也需要與生產資源相匹配。
系統提供通用建模能力當然是必要的,因為通用,所以更復雜,有更高的門檻,這些通用建模工具通常應該面向IT工程師。業務人員并不需要學習一種強大的、且通用的建模語言,而只需要掌握與各自業務相關的建模工具,熟悉相關的概念和建模方法就可以,這極大降低了系統使用的門檻。
圖 同時提供面向IT和業務的建模工具
06 分層擴展的架構
當然有好的架構還不夠,有遠見的MES廠商必須注重產品的標準化、實現分層擴展、打造合作伙伴生態,否則將很難做大規模。對于MES和MOM來說,下圖是建議的分層的擴展方式。
圖 MES/MOM更好的拆分方式是分層
技術平臺可以解決架構和技術問題,屏蔽技術細節和復雜性,并提供低代碼開發的相關能力,提高整個系統的擴展性和靈活性。
MES/MOM產品平臺解決提供覆蓋制造運營全業務流程的共性模塊,從而最大限度實現重用,滿足共性需求,滿足跨組織的協同要求,封裝內部的復雜性。
行業擴展滿足特定行業的擴展,例如提供各個行業層的擴展,實現對細分領域的深耕,從而更好為細分領域客戶創造價值。
客戶擴展是為單個客戶而開發的,滿足單個客戶的共性需求。
其中,第1、2層應該由業界有實力的公司研發,需要很大的投入。第3、4層可以由具有領域Know How和商業資源的集成服務商、實施服務商承擔,這樣可以很好分工,發揮各自優勢,建立合作伙伴生態。
圖 MES/MOM產品線業務范圍、知識產權范圍
這里所說的分層擴展并不僅限于基于模型的擴展,系統可提供快速模塊化選配能力,包括開發新的插件,采用層次化、模塊化、可插拔的體系架構,可通過現有模塊的選配、替換和擴展開發提供快速滿足需求的能力,而且在需求調整后可靈活調整。
07 突破技術方面的限制
基于運行時模型驅動(Runtime Model-Driven)的MES/MOM系統架構顯然具有很高的技術門檻,這種能力一旦建立,將是難以被復制和模仿的,將形成獨特的競爭力,這些挑戰主要包括:
首先,不但提供通用建模能力,還需要提供領域建模能力,這需要一套元建模(Metamodeling)設施,可以用來實現模型的持久化、定義建模工具、模型解釋器等,對這方面感興趣的朋友可以去了解一下MOF元建模框架的四層架構,分別是:元元模型層(M3)、元模型層(M2)、模型層(M1)、運行時(M0)。
另一個挑戰是性能,系統可以在運行時修改模型,模型改變后系統的行為隨之動態改變,可以顯著提高MES產品應對需求變化的能力。然而,這種方法需要在運行時動態讀取和解釋模型,這導致系統的性能下降,使用多級緩存系統優化系統性能,減少數據庫訪問次數,可以優化系統的運行效率。
圖 支持Web及運行時模型驅動的多級緩存系統
筆者對性能進行了測試,系統啟動一段時間后,元數據加載到緩存系統后,累計命中率可超過95%。三級緩存系統將運行時間優化為沒有添加任何緩存運行時間的1.08%!由此證明了運行時模型驅動的MES系統,多級緩存系統在性能優化方面的巨大威力,系統的整體運行性能接近硬編碼的MES系統,但系統的靈活性和擴展性卻與硬編碼的系統有了巨大的提升。
其中的一個難點是,如何對程序員屏蔽多級緩存系統的復雜性,將緩存系統的復雜性必須封裝在底層框架,而不需要MES產品開發人員、二次開發人員面向緩存系統編程,這就需要一套支持多級緩存機制的元數據驅動的對象關系映射框架(Metadata-Driven ORM-Mapping Framework)。這就好像你開車并不需要關注汽車的轉向系統、動力系統、剎車系統等汽車的內部結構和原理。
圖 對程序員屏蔽多級緩存系統的復雜性
另一個難點是如何實現模型在不同環境中的同步,通常建模在開發環境中進行,需要將模型同步到測試環境,通過測試以后,將模型同步到生產環境。考慮到系統的復雜性,通常建模是一個多人并行開發的環境,需要解決多人建模的模型合并問題。為此,可能需要定義通用模型描述語言,可以用于在不同環境中錄制(類似VBA)、傳遞并重建模型。
這對于絕大多數MES廠商來說,存在著較高的技術壁壘,這正是工業軟件的成功難以復制、沒法彎道超車的原因吧。
08 運行時模型驅動代表未來
目前中國的MES市場正處于群雄并起,魚龍混雜的競爭階段,市場集中度并不高。筆者認為未來5年,將有90%的MES廠商退出歷史舞臺,主流MES廠商將集中到5到10家。隨著部分MES廠商做大規模并上市,形成主流廠商品牌效應,業務會迅速集中到這些主流MES廠商,會加速其他MES廠商的退出。
未來幾年國內MES軟件市場的競爭將越演越烈,筆者認為,基于運行時模型驅動的架構的MES/MOM系統將更具競爭力,因為面向業務領域的建模是讓業務人員低門檻參與MES/MOM系統開發和運維幾乎唯一的方法。雖然這條道路上充滿了荊棘,困難重重。
09 總結
低代碼平臺背后的實現技術正是模型驅動,使用模型可以提高抽象層次、降低軟件的復雜性,大幅提升系統的開發效率。
運行時模型驅動(Run-time Model-Driven)架構可以更加有利于MES/MOM的開發和運維。
我們的確需要功能強大的通用建模工具,用于去開發應用系統。同時,我們也需要面向不同領域的一系列更簡潔、更易用的專用建模工具。
當然有好的架構還不夠,有遠見的MES廠商必須注重產品的標準化、實現分層擴展、打造合作伙伴生態,否則將很難做大規模。
基于運行時模型驅動(Runtime Model-Driven)的MES/MOM系統架構具有很高的技術門檻,這種能力一旦建立,將是難以被復制和模仿的。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。