在数字化浪潮中,每一次技术的突破都意味着行业的深刻变革。近期,华为发布了全新的工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME),引发了业界的高度关注。华为工业数字模型驱动引擎(iDME)是国内为数不多的真正意义上的元数据模型驱动架构产品。元数据模型驱动架构通过定义和标准化数据模型,确保软件系统的数据一致性和可维护性,从而提高软件的整体质量和开发效率。基于元数据模型驱动的华为工业数字模型驱动引擎成为高效公共底座的发动机,能够支撑上层高度复杂、大数据量、高可靠性的各类工业应用场景。
那么,什么是元数据模型驱动架构(Model-Driven Architecture,MDA)?为什么工业软件需要基于MDA来构建?基于MDA构建的工业软件又具有哪些典型特点呢?下面我们来逐一分解。
一、元数据模型驱动架构(MDA)与工业软件
元数据模型驱动架构(Model-Driven Architecture,MDA)是衡量软件架构水平的核心关键指标,它由对象管理组织(OMG)于2001年颁布,并提供了一整套指导规范。元数据模型驱动架构通过模型来表示软件系统的各个方面,包括软件元素、它们之间的关系以及元素的属性,通过抽象和模型化来提高软件开发的效率和质量。
而MOF (Meta Object Facility) 标准是MDA架构核心中的核心,MOF定义了描述元模型的语言,并用这个语言描述了自身。MOF模型不仅是一个强大的建模语言,作为设计和实现元模型建模系统的规范和工具,它提供一种可扩展的元数据管理方式,实现对元数据分层,支撑典型的四层建模结构:元元模型(M3)、元模型(M2)、模型(M1)、对象(M0)。
元数据模型驱动架构(MDA)在工业软件的开发中扮演着极其重要的角色,尤其是在处理复杂的工业机理、多元化的模型、跨领域整合以及高度离散的系统特性时,其应用价值愈发凸显。
我们认为MDA在工业软件开发中具有极大的应用优势:
· 模型化专业知识:MDA允许开发者将工业领域的专业知识抽象成模型,通过这些模型能够准确地反映工业过程和机理,很好地支撑工业软件业务需求的模型化,固化各类工业知识。
· 易于理解与交流:通过模型,不同领域的专家可以更容易地交流和协作,尤其是业务人员能够深度参与IT系统的构建,通过业务模型的抽象,确保软件设计符合工业实际业务需求。
2) 模型多元化与复用
· 实现多模型集成:工业软件往往需要集成多种模型,如物理模型、数学模型、逻辑模型等。MDA提供了一整套框架,可以有效地整合这些多元化的模型,为工业软件多模型融合集成的需求提供良好的支撑。
· 模型复用:MDA促进了模型的复用,不同的工业应用可以使用相同的模型基础,比如组织模型、人员模型、物料模型、BOM模型、工艺路线模型、设备模型、质检模型等等。无论在PLM、ERP还是MOM等系统中都存在这些模型相关的功能应用,如果这些不同的应用系统能够复用统一的模型,基于标准化的模型再进行继承和扩展,这将极大地减少不同系统的重复开发工作,大大降低不同系统集成时的数据清洗、字段映射和数据一致性比对的工作量。
3) 支撑跨领域整合
· 通用平台:MDA通过提供平台独立的模型,使得工业软件可以在不同的技术和业务领域之间进行整合。
· 架构标准化:元数据模型驱动推动工业软件架构的标准化,使得不同软件系统之间的互操作性和兼容性得到提升。
· 标准化接口:MDA推动了接口和模型的标准化,有助于不同系统之间的互操作性。
· 易于系统集成和扩展:元数据模型驱动有助于不同系统之间的数据交换和集成,支持系统的灵活扩展和升级。
4) 高度离散的系统特性
· 模块化设计:MDA支持模块化的设计方法,使得复杂的工业系统可以被分解为更小、更易于管理的模块。
· 数据一致性和可维护性:通过元数据模型驱动,可以确保工业软件中的数据模型一致,减少数据冗余和错误,提高系统的可维护性。
· 灵活性和可扩展性:通过模型驱动的架构,工业软件能够更加灵活地应对系统变更和扩展需求。
5) 低成本高安全高可靠性
· 降低维护成本:由于模型提供了系统的高层次视图,维护和更新变得更加直接和高效。
· 提高开发效率:标准化和规范化的元数据模型可以减少开发过程中的重复工作,加快开发进度,降低开发成本。
· 缩短开发时间:自动化的模型转换和代码生成,或者模型的解释执行可以显著缩短软件开发周期。
· 提升系统性能:通过标准化和规范化的元数据模型,以及多级缓存系统可以优化软件系统的性能,减少资源浪费,提高系统的响应速度和处理能力。
· 增强系统安全性:元数据模型驱动有助于发现和修复潜在的安全隐患,提高系统的安全性和稳定性。
· 提高可靠性:模型驱动的开发有助于及早发现设计缺陷,从而提高软件的可靠性。这一点对于工业软件尤为重要,工业软件运行中发生故障带来的影响和损失是巨大的,通过MDA能够有效提高工业软件可靠性。
综上,工业软件具有 “业务模型复杂实时性高、业务场景离散但数据关联度极强、大数据量高并发高可靠运行、业务需求个性化定制多、系统快速持续迭代优化”等典型特征;而MDA的拿手好戏就是支持多层的抽象与建模、多领域复杂模型复用、系统高度灵活性和高可靠性、低成本快速迭代……所以说元数据模型驱动架构(MDA)与工业软件业务特征具有高匹配性,甚至可以说两者天然自洽。
由此可见,工业软件迫切需要利用MDA的优势和特性来构建和开发优秀平台产品、满足客户复杂需求。事实上,全球各大工业软件巨头的产品,诸如Teamcenter、Windchill、DELMIA Apriso等,大多都是基于MDA架构的,但是反观国内,市面上真正基于元数据模型驱动架构的国产工业软件却少之又少,这是何原因呢?
基于我们多年来对MDA在工业软件开发中的实践来看,在工业软件开发中应用元数据模型驱动架构,具有极高的落地难度,可以说是一项艰巨复杂且极具综合性挑战的工作。
以我们十多年构建元数据模型驱动架构的MOM平台的经验,我们认为工业软件厂商如果要基于MDA构建系统,必须要具备这些基本能力:
①深刻理解工业场景和模型化需求:
模型抽象不仅仅是IT概念,更是工业场景的业务理念,开发者必须要有足够深厚的工业知识积淀,对工业know-how具有极强的抽象能力和建模能力,很多时候开发者需要是业务专家,而不仅仅是IT专家,开发者必须确保构建的模型能够准确地反映工业过程和业务逻辑,而且模型的颗粒度要适中,兼顾业务映射的准确性,平衡建模的性能和效率。
②具备全面化的模型驱动思维:
开发团队必须拥有全面化的模型驱动思维方式,对业务进行建模,对业务进行抽象,定义出业务逻辑模型,然后对模型进行二次抽象,定义出逻辑模型的定义数据,实现业务模型的数据化,即模型的元数据(The Metadata of the Logic Model ),将模型结构存储为数据,而不是直接对应的物理存储结构。其次根据定义出的元数据进行统一抽象,形成元数据逻辑模型。再将元数据逻辑模型映射到元数据物理模型,对应实际存储结构。通过对业务模型的变更,形成对元数据层的数据变更,而不是物理结构的变更,从而实现业务逻辑模型同物理模型的解耦。
③具有丰富的支撑工具应用经验:
熟知各类MDA建模工具和平台框架,根据业务特征选择最优的开发工具,融合匹配对应的软件框架,以实现高效的模型转换和代码生成。确保软件开发过程能够充分利用MDA天然的特性,构建高质量、可维护、可扩展的工业软件系统。
综上所述,MDA架构对工业软件的需求特性具有极强的支撑能力和应用价值。业界领先的工业软件厂商基本上都是基于MDA来构建复杂工业软件产品,可以说,是否基于元数据模型驱动是衡量工业软件架构水平的核心关键指标。
二、华为iDME,“基于模型+数据驱动”成就工业软件新引擎
佰思杰作为国内领先的工业软件厂商,拥有十多年构建元数据模型驱动架构的MOM平台的经验。遥想十六年前,我们谈基于MDA构建工业软件,终是曲高和寡,知己难寻……现如今,华为为了自身及国家产业安全,确保工业相关应用软件的自主可控,进入到工业软件这个领域,第一时间选择了“基于模型+数据驱动”的架构,这不仅仅是因为华为在ICT领域遥遥领先的技术能力和深厚积淀,更是因为华为清楚地知道,他们曾经用过的那些世界顶尖工业软件同样是MDA的架构。
这一刻,我们感慨万分,为自己坚持做难而正确的事深感自豪,我们为了打造国际领先的MOM产品,十多年如一日,克服千难万阻、坚守长期主义、甘愿坐技术冷板凳,扎扎实实攻坚克难,终于成就了工信部优秀工业软件、工信部特色工业互联网平台。
十多年来,我们坚信MDA架构终将在工业软件领域大行其道,华为毫无疑问加速了这一进程,这是佰思杰多年技术沉淀与创新精神的体现,也充分验证了佰思杰在工业数字化领域的前瞻性思维和方向引领能力。
我们来研读一下华为的工业数字模型驱动引擎(iDME)。
华为工业数字模型驱动引擎(iDME),是基于数字化变革和数据管理优秀实践开发的创新型工业软件开发与运营平台,旨在打造“基于模型+数据驱动”的公共底座,为协同打造新一代全栈自主可控工业软件体系提供根技术服务,助力快速构建和运营云化SaaS化工业软件,汇聚企业全场景数据,构建企业级数据图谱,提供万数互联的数据索引、追溯、交互服务。
图 iDME面向对象数据管理技术核心理念
iDME主要有几大突出特性:
iDME采用元模型驱动,用2类元实体+6类元关系实现产品、单板、器件、项目等各式各样的业务对象数据模型定义。
图 iDME-工业数据管理
iDME支持面向对象快速正向建模,基于模型快速生成数据层增删改查等原子API,较传统高代码模式效率提升9倍;数据模型可以自动入图、自动关联、自动追溯。
图 iDME-海量数据联接
iDME内置工业行业24种经典结构(Bill of X,比如BOM),80多种数据功能(如数据血缘、数据密级、数据版本、数据权限等),几何模型轻量化和可视化引擎,大幅度提升ISV开发效率和标准符合一致性。
图 iDME-数据模型库
三、元数据模型驱动,重塑工业软件数据底座
“没有强大的工业软件,就没有强大的制造业。”工业软件虽然在软件产业领域占据较小的市场份额,但它却是工业生产制造的中枢神经系统,尤其是高端工业软件,更是发挥着“工业大脑”的作用。
近年来,在一系列对中国制造业产生重大影响的“卡脖子”事件中,工业软件与芯片共同构成了对中国制造业的软硬双重威胁。工业软件作为实现“制造强国”战略的重要环节,越来越受到社会各界的重视。随着国家自主可控战略的落地,PLM、ERP、MOM等一系列国产工业应用系统崭露头角,在中国产业发展中发挥着越来越重要的作用。
随着市场环境的不断变化和企业业务的快速发展,传统软件开发模式的局限性愈发明显。高昂的定制费用、稀缺的可复用数字化资产、对高水平编程技能的依赖、开发质量的不可控以及编码标准化程度低等问题,都制约了工业软件的发展和应用深度。此外,同一业务应用,在不同组织和部门也可能会采用不同的应用系统甚至是异构系统,这导致数据集成、数据分析、升级运维的难度急剧加大。
图 传统软件开发的核心概念
2014年,研究机构Forrester首次提出“低代码开发平台”的概念:通过最少的手工编程和最低成本地设置、训练和部署,就能快速交付应用程序。低代码开发平台极大地降低了开发难度,让不同专业背景的人员亦能参与软件开发。
市面上常见的低代码平台主要有三类:代码生成器模式、表单驱动模式、模型驱动模式。
①代码生成器模式
代码生成器模式本质上仍然是用代码来描述业务逻辑和界面布局,它通过提供一系列模板和配置选项,允许开发者以较少的代码量生成应用程序的各个部分。但是,它仍然需要开发者具备一定的编程知识和技能,对于没有编程经验的用户来说,这种模式存在学习难度。此外,开发新功能都要重新生成代码,重新部署,二次维护成本非常高。
图 代码生成器模式基本流程
②表单驱动模式
表单驱动的应用搭建思路是“表单+流程”。为了实现某个具体的业务目标,此模式提供拖拽快速搭建应用的功能,开发者能够以可视化的方式搭建表单及工作流,完成需要多人协作的业务流程运转。
基于表单驱动的低代码平台使得更多非专业开发人员,如业务分析师、产品经理等,能够参与应用开发。它适用于界面交互密集且业务逻辑相对简单的应用开发,如客户管理、订单处理等。但是可复用性很低,同类业务有一点差异都需要重复构建。
图 表单驱动模式基本流程
③模型驱动模式
基于模型驱动的低代码开发平台以业务逻辑和数据模型为核心。它强调业务规则和数据关系的预先定义,以确保应用程序的高度一致性和可扩展性。在这种模式下,开发者采用建模语言替代编程语言,建模工具替代编程工具。业务功能基本能用模型表达,不生成代码,执行过程直接动态解释模型,当然系统也允许与生成代码结合起来使用。
这种方式让开发者能够使用少量编码实现复杂的逻辑,同时保持代码的一致性和可维护性。相对来说,模型驱动的低代码平台更适用于业务逻辑复杂、数据模型丰富的企业级应用。
图 模型驱动模式基本流程
不难发现,模型驱动是这三种模式里更适合复杂业务系统,最先进且最难实现的。
作为国产工业软件的先行者,佰思杰深知传统软件开发流程无法应对企业级系统需求的复杂性、多样性,因此一开始就把重点放在如何支撑制造企业灵活应对外部变化之上,致力于打造全新架构的工业软件。早在公司成立之初,佰思杰便投入大量资源,深入研究和创新基于模型驱动的低代码技术,希望以此降低工业软件开发的复杂性,提升系统的开发效率,更好地推动工业生产的自动化、精益化、信息化。
佰思杰一直坚持做“难而正确”的事。
四、佰思杰科技:深耕基于元数据模型驱动的工业软件平台
佰思杰核心团队的成员由国内第一批进入制造业信息化领域的老兵组成,团队成员都曾在国内外知名工业软件公司担任过高管,研发和交付过各类复杂IT系统,并在IT服务十强企业——佰钧成公司,为大型集团企业提供全面综合性IT技术支撑,拥有顶尖的IT架构能力和丰富的世界500强服务经验。
佰思杰前身是佰钧成集团企业信息化BG,目标定位制造业五百强企业,技术研究聚焦在利用低代码和模型驱动开发方法来构建制造类系统领域国产软件(MOM/MES)产品及应用。2008年推出的第一款面向制造领域的软件——“柔性可定制数字化平台”,就是基于元数据模型驱动的技术架构。
前面提到,工业软件具有 “业务模型复杂实时性高、业务场景离散但数据关联度极强、大数据量高并发高可靠运行、业务需求个性化定制多、系统快速持续迭代优化”等典型特征,而MOM系统更是典型的业务链条长、复杂场景应用、数据勾稽关联度强、大数据量、高并发、高可靠性、快速迭代的系统,所以MOM更需要利用MDA架构的“支持多层的抽象与建模、多领域复杂模型复用、系统高度灵活性和高可靠性、低成本快速迭代”等优势,可以说元数据模型驱动架构(MDA)应用在MOM领域是将遇良才、物尽其用、天然自洽、相得益彰。
多年来佰思杰一直坚持元数据模型驱动架构技术,持续在MOM/工业互联网平台等产品中深度实践,获得了客户的高度认可。并且我们公开发表了多篇具有影响力的技术文章,供工业软件厂商同行学习参考,充分展示了佰思杰的前瞻性研究成果和开放包容的文化。例如:
(点击标题链接可跳转)
2016年8月:
2016年12月:
2019年6月:
2020年9月:
2021年4月:
2024年11月:
……
下文将对佰思杰团队的技术研究做简要介绍,如需深入了解,请点击上方链接查看。
从面向过程到面向对象(OO)、面向组件(CBD)、面向框架、AOP(面向方面的编程)、面向服务的架构(SOA)再到软件产品线(SPL),这些技术的发展显著提高了软件复用的粒度和开发效率。但是两个关键问题依然没有得到妥善解决:一是缺乏面向领域专家和最终用户的问题级别抽象以及相关工具;二是开发与运行过程仍然是两个相互独立的过程。
模型驱动工程(MDE)作为一种提高软件开发效率的技术应运而生。它通过更高层次的抽象来表达需求,让没有编程技能的开发人员、领域专家和最终用户都能够进行问题建模,从而更加关注问题本身,屏蔽技术细节和复杂性。然而,MDE仍然是一种生成式技术,它需要通过一系列的转换最终生成代码,模型只是这一过程中的一个中间产物。
因此,MDE通常无法实现完全自动化,只能部分提高开发效率,手工修改代码仍然是不可避免的。此外,即便是在MDE的支持下,软件的开发与运行过程仍然是分离的,仍然需要经历编译、发布、重新部署和启动等繁琐的步骤。
图 传统MDE开发过程和运行过程是分离的
为了解决这个问题,我们需要一种全新的开发模式。这种新模式应该满足以下两个关键特性:
一是让开发者能够依赖于问题领域的高层次抽象和建模工具进行建模,从而无需关注技术细节;
二是修改后的内容能够立即生效,无需进行编译和重新发布,甚至无需重新启动系统,从而实现软件的开发过程和运行过程的合二为一。
为了满足这一新模式的需求,并建立我们自己的软件产品线,实现良好的扩展性以及快速应对需求变化的能力,佰思杰推出了产品开发一体化低代码平台,支持基于元数据模型驱动的系统构建。
图 基于元数据模型驱动的系统构建过程
基于元数据模型驱动的系统构建过程,简单来说,就是基于Web提供在线的系列模型设计器,提供给领域专家、最终用户,允许他们在系统中直接对问题进行建模,模型包括静态的数据结构、动态的行为、用户界面等各个方面,采用一系列相互关联的视图表达需求,技术专家负责对模型进行细化,测试与验证。创建的模型保存在模型库中而不是代码中。
系统运行期间定义的模型作为元数据保存,无需停止系统的运行,即可对模型进行修改,并且系统的行为会随之相应调整。这被称为运行时的适应性(Runtime Adaptability),它能够有效减少停机次数和维护事件。
图 通过模型驱动开发的几个核心概念
通过实施在线开发(Online Development)、模型驱动(Model-Driven)、实时生效(Immediate Effect)的策略,平台能够很快构建出个性化解决方案,满足多样性需求,极大降低了产品定制开发门槛,加快系统开发迭代周期,提高了开发和运维效率。
平台特性
①“蓝图即实现”的创新实践
传统低代码平台往往仅聚焦于功能层面的实现,难以系统性地应对复杂业务场景。相比之下,基于模型的低代码平台通过业务原子化与建模组合的方式,实现蓝图架构与实际低代码应用系统的无缝对接。这一创新实践不仅解决了传统平台蓝图与实际应用的割裂问题,更提升了系统解决复杂业务的能力。
②灵活组合,高效搭建企业应用
平台预置多个领域的标准应用,如企业经营、制造运营、电子办公、供应链协同、工业物联、服务化延伸等,企业可根据实际需求灵活重组这些模型来构建应用,开箱即用。同时,企业也可以自行构建业务模型并添加到应用中,就像乐高积木一样,轻松搭建出符合自身需求的企业应用。
图 多个标准应用
平台内置了5000+个领域模型模板,这些模板可轻松复用,灵活扩展,为企业应用的快速迭代和优化提供了有力支持。
图 多种模型模板
③可视化建模,所见即所得的高效开发
平台提供了一系列可视化建模工具,分别面向不同角色的业务人员。当企业的生产布局、工艺流程、组织架构等发生变化时,业务工程师可以迅速调整相关模型,而无需生成代码或交给程序员修改。这种所见即所得的开发方式,实现了比代码开发更高的开发和维护效率,模型可以随时修改,无需重新编译和重启服务器,大大降低了系统维护的成本和复杂度,让更多业务人员能够参与到应用开发和维护中来。
图 在线对象和行为建模
图 在线视图建模
图 可视化建模示例
④丰富的基础服务与工具,降低二开难度
平台提供了40+个系统基础服务和50+个开发辅助工具,为开发者提供了更为便捷的开发环境。这些服务和工具大大降低了二次开发的门槛,使得开发者能够更快速地响应业务需求,实现应用的快速迭代和优化。
图 基础服务
⑤融合AI大模型技术,提升决策效率
平台深度融合了自主可控的AI大模型技术。例如,通过机器人助手实时回答管理者的问题并给出改善建议,使得决策更加快速、精准和理性。这避免了企业因供应链信息处理滞后而导致的损失,提升了企业的运营效率和竞争力。
图 智能决策分析助手
⑥安全与自主可控,为企业保驾护航
系统安全和知识产权自主可控对于大型集团型企业尤其是国防军工企业至关重要。佰思杰平台采用符合国家等保2.0要求的安全架构,并且全面兼容主流国产操作系统、数据库、中间件和计算平台,符合大型集团企业对运行稳定、安全可靠的高标准要求。
图 平台安全框架
⑦多样化的培训课件,易于学习和使用
平台提供了丰富的培训文档和视频以及开发者社区,方便用户自助式学习,降低学习门槛。
图 丰富的培训课件
⑧灵活开放的生态系统,共创共赢
“合抱之木,生于毫末;九层之台,起于累土。”平台提供了基于云环境的模型和组件市场,为合作伙伴和最终用户提供了分享、检索和重用模型和组件的便捷途径。这有助于建立一个包含平台开发和运营商、第三方组件开发者、解决方案提供商以及最终用户的生态系统。在这个生态系统中,各方都能够从共享资源和合作中获益,从而支持该模式的持续健康发展。
成熟应用:佰思杰工业互联网平台
佰思杰经过多年潜心研究、厚积薄发,针对装备制造业典型的ETO、项目型定制化生产模式,产品制造周期长、工艺复杂多变、质量体系严格、供应链波动大、项目管控难度高等业务特征,基于“低代码平台+成熟业务套件”,成功研发了针对高端装备制造业的工业互联网平台。
佰思杰工业互联网平台深入整合了市场、销售、技术准备、物控计划、采购、仓储、生产、质量、包装发运、运维服务、项目管理等业务流程,并提供工业物联(IIoT)、数控联网、数智孪生等支撑模块,帮助企业实现跨地域、跨专业、跨组织的平台一体化敏捷协同。
图 佰思杰工业互联网平台
平台基于海量数据采集、汇聚、分析,支撑制造资源的泛在连接、弹性供给和高效配置。向下对接海量工业产品装备、业务系统以及生产能力,向上支撑工业智能化应用的快速开发与部署,确保完全支撑复杂集团型业务当下以及未来的发展。真正做到“统一平台、灵活组配、高度集成”。
五、落地实践:见证智能制造新成就
佰思杰不仅具备深厚的技术底蕴和创新能力,更在业界树立了良好的口碑与形象,通过深耕高端装备制造业,我们强化了从智造理念到软件平台,再到交付落地的完整闭环,打造了一个又一个成功的标杆项目案例。例如:
(点击标题链接可跳转)
……
目前,佰思杰为中航工业、中国航发、航天科工、航天科技、中国工程物理研究院、中国船舶、兵器集团、中国电科、中国电子、中核集团、中车集团、西电集团、东方电气、上海电气、哈电集团、正泰电气、中国一重、铁建重工、中信重工、大连重工、中煤科工、中国电建、陕鼓集团等大型央企及集团级企业提供智能制造解决方案和相关服务,并深受客户好评。
六、笃行正道,共谋工业数字化新图景
“十年砺剑,始得锋芒”,多年的历史研究成果充分证明,佰思杰始终保持着对行业的敏锐洞察与深刻理解。对于绝大多数工业软件(例如MOM/MES)厂商来说,基于元数据模型驱动架构的开发模式尚存在着较高的技术壁垒,而这也许正是工业软件的成功难以轻易复制、没法弯道超车的关键所在。
除坚持自主研发外,佰思杰也积极与华为等业界伙伴建立紧密的合作关系,共同积累了宝贵的经验与数据资源,不断拓宽技术视野与边界。
面对数字化、工业互联网的广阔前景和激烈竞争,佰思杰将不忘初心,始终怀揣对技术的敬畏之心与不懈追求,秉承“让制造更智慧/Making Intelligence”的使命,坚定不移地走在引领行业变革的正确道路上。
说明:本文为佰思杰原创文章,未经佰思杰书面许可,任何人不得复制、转载、摘编等任何方式使用。如需转载,请联系佰思杰市场部,电话:027-87774868 邮箱:bsg@bestmes.cn