种种迹象表明,随着AI、数字孪生与边缘计算的融合深化,“软件定义产品”正从单一的技术趋势演变为驱动多行业重构的核心引擎。日前,MathWorks在北京举办的MATLAB EXPO上,MathWorks全球行业总监Arun Mulpur围绕这一前沿趋势,向我们展示了汽车、工业、医疗等行业的转型实践、技术挑战与创新路径。
MathWorks全球行业总监Arun Mulpur
软件定义产品的差异化演进
作为软件定义产品的先锋领域,汽车行业已将自动驾驶、电池管理(BMS)、电控系统等核心功能深度软件化。例如,自动驾驶技术通过算法实现环境感知与路径规划,用户可通过OTA升级持续获得功能迭代,硬件架构则保持长期稳定。这种“软件定义体验”的模式,使汽车从传统机械产品转型为“可进化的智能终端”。
在工业领域,数字孪生驱动的效率革命正在重构研发流程。KRONES公司通过引入数字孪生、软件工程以及虚拟开发和测试等技术,实现了产品的高效定义与功能优化,提升了生产效率与产品质量,减少了物理原型试错成本。
医疗设备也正从硬件主导转向“软件定义功能”,如一些高端医疗影像设备的图像处理算法、诊断辅助系统等,这些由软件定义的功能不仅提高了诊断的准确性,还为医生提供了更便捷的操作体验。
“当我们将一些或全部的设备功能搭建在半导体与软件基础之上时,软件定义产品这件事情就在发生,而且会被越来越多的行业所采用。”Arun Mulpur说。
基于模型设计,打破团队协作间的藩篱
之所以要提出“软件定义产品”理念,Arun Mulpur解释称很大程度上是因为当前产品的复杂度显著提高,各个领域的团队和工程师之间如果没有很好的协作,就很难实现复杂产品的定义与开发。
“在传统开发模式下,系统、软件、结构工程师往往只专注于自己细分领域内的知识和技能,彼此间常常因为工具链异构、知识碎片化,导致跨团队协作效率低下。但在软件定义产品的时代,工程师需要具备跨领域的知识和能力,以应对日益复杂的系统开发需求。”他说。
所以,从某种程度上来说,“软件定义产品”的本质,就是通过跨领域技术融合(机械+电子+软件)来应对系统复杂度提升所带来的研发挑战,其核心目标是从“功能实现”向“全生命周期价值挖掘”的演进。
为此,MathWorks提出了“基于模型的设计(Model-Based Design, MBD)”,希望能够帮助工程师在系统环境下进行跨领域集成,提升设计的合理性和优化能力。
MBD的核心是在更高抽象层次上统一各领域工程师的设计知识,打破专业领域的壁垒,实现系统工程、软件开发和结构设计的整合。例如,结构工程师可以通过基于模型设计平台,将结构设计与软件功能进行集成,借助平台提供的功能,对结构设计进行优化,以满足软件功能对硬件的要求。
而代码生成工具则可以根据模型自动生成面向不同硬件平台的代码,如C、HDL或面向GPU的CUDA等,从而在一定程度上解决了异构计算环境下的开发难题,提高了开发效率与质量。此外,MathWorks还提供了一系列测试与验证工具、以及AI 辅助设计工具,帮助企业在软件定义产品的开发过程中,解决功能性、安全性、可靠性等问题,提升在结构分析、数据探查等方面的效率。
从开发流程到边缘计算的全链条创新
推动软硬件解耦与老旧设备智能化升级,是MathWorks在推动全行业拥抱软件定义系统方面取得的显著成果之一。例如,针对工业场景中的老旧设备,我们将MathWorks的策略总结为:“硬件封闭,数据开放”。简单而言,就是无需改造硬件,而是通过采集设备运行数据,再利用MATLAB进行数据分析、挖掘与探查,从而优化设备的运行模式,提升其效能表现。
同时,考虑到传统线性开发中,软件往往需要等待硬件就绪才能启动测试。在与AWS的合作案例中,MathWorks通过提供一种环境,实现了软件和硬件的解耦,使得软件开发和硬件开发可以并行进行,极大地提高了开发效率,实现了敏捷开发环境。即使在高性能处理器尚未准备就绪的情况下,开发人员也可以在开发环境中提前进行软件功能定义,开展整个开发过程,从而缩短了产品上市时间。
多架构代码生成和产业链深度协同
随着边缘计算的兴起,越来越多的设备需要在边缘节点上进行智能处理,这使得异构计算成为了一种常见的计算模式。另一方面,在软件定义产品的开发过程中,软件工具与芯片的协作也至关重要。为此,MathWorks正通过多架构代码生成和芯片厂商深度协同来应对上述挑战。
Arun Mulpur表示,在大量的实践案例中,MathWorks发现客户通常希望软件工具能够提供足够的灵活性,使他们能够在开发过程中自由选择不同的处理器和算力,以满足不同项目的需求。因此,是否能够提供一个开放、可扩展的平台,通过代码生成工具等手段,帮助客户解除硬件限制,提升开发灵活性,变得十分关键。
MathWorks的代码生成工具能够根据客户的功能模型,自动生成面向不同硬件平台(MCU/DSP/MPU)的代码,如从C代码到HDL代码,再到针对GPU的CUDA代码等。这种自动化的代码生成方式不仅提高了开发效率,还保证了上层功能设计和软件设计的一致性,使得客户能够在不同项目中快速切换不同的硬件平台,而无需重新设计软件架构。
此外,许多芯片供应商也与MathWorks展开合作,提供了针对其特定芯片优化的模型库。这些模型库能够嵌入到Simulink的生态系统中,进一步提升了系统开发效率和性能,使得企业能够在边缘AI与异构计算领域实现高效的产品开发与应用部署。
大模型时代:效率提升与可靠性保障
在软件定义产品的平台化与智能化方面,MathWorks也进行了深入的探索与实践。MathWorks将软件工程的最佳实践融入系统设计中,提供了一套完整的系统工程工具链,支持从需求到架构、详细设计、实现和测试验证的全流程开发。这使得企业能够在统一的平台上完成软件定义产品的开发工作,提高了开发效率与产品质量,降低了开发成本。
同时,MathWorks在智能化方面也取得了显著进展。在MATLAB和Simulink产品体系内,MathWorks内嵌了丰富的智能开发功能,如机器学习、深度学习等算法库,为工程师提供了强大的智能化工具。此外,MathWorks还提供了开放接口,支持与开源环境中的先进应用和算法进行集成,使得企业能够将最新的AI技术融入到软件定义产品中,提升产品的智能化水平,满足市场对智能产品的需求。
性能调优与系统优化
在软件定义产品的开发过程中,性能调优和系统优化是至关重要的环节。对于复杂系统而言,仅仅将每个子系统或部件调到最优,并不能保证整个系统的性能达到最优。因此,MathWorks提倡采用迭代式的设计方法,通过不断地观察和优化,寻找系统的最优解。基于模型设计和仿真技术是实现这一目标的有效手段,工程师可以在数字域中以低成本的方式构建不同颗粒度的系统模型,从架构层面到子系统协同等多个角度进行优化设计,从而找到相对优化的解决方案。
MathWorks的工具链能够支持这种基于模型的设计和仿真过程,帮助工程师在开发过程中实现系统的优化。此外,MathWorks还强调了知识流动的重要性,通过数据监测和挖掘,将知识流转起来,实现从产品开发到交付再到迭代的闭环优化。这种持续优化的过程不仅能够提升产品的性能和质量,还能够为企业带来更多的创新机会,打造卓越的产品体验。
平台化与行业定制的平衡艺术
在软件定义产品的开发过程中,不同行业往往存在多样化的需求,这些需求不仅变化迅速,而且呈现出碎片化的特征。为了应对这一挑战,MathWorks提供了一套通用的开发流程工具,涵盖了从需求到架构、详细设计、实现和测试验证的全流程。这些工具在不同行业中具有一定的通用性,能够为企业的软件定义产品开发提供基本的框架和方法。
然而,不同行业也有不同的特殊需求,因此针对航空航天、医疗器械等行业,MathWorks 还提供了诸如DO Qualification Kit这样的特定工具包。它们包含了丰富的行业特定工作流程、模板文件以及最佳实践,能够帮助企业在满足特定行业标准和要求的前提下,高效地完成软件定义产品的开发工作。例如,在航空航天领域,DO Qualification Kit提供了符合DO标准的模型开发规范和验证流程,使得企业能够确保其软件定义产品满足严格的航空功能安全标准。
“软件定义产品不仅能够提升产品的功能和性能,还对可持续发展具有重要意义。” 在Arun Mulpur看来,通过软件更新,企业可以在不更换硬件的情况下,持续优化产品的功能,延长产品的生命周期,减少硬件浪费和资源消耗,支持企业在产品交付后继续进行功能优化和升级。
例如,在工业制造领域,企业可以通过软件更新为生产设备添加新的智能功能,如故障预测、能源管理等,从而提高设备的运行效率和可靠性,降低能源消耗和维护成本。这种软件定义产品的可持续发展模式不仅有助于企业降低成本,还能够提升企业的市场竞争力,实现绿色高效的转型。
结语
MathWorks的探索揭示,软件定义产品的核心竞争力在于跨领域协同能力与全生命周期管理能力。基于模型的设计不仅是工具革新,更是工程开发范式的革命——它通过统一的语言体系、开放的技术生态与行业深度适配,让复杂系统的开发从“碎片化协作” 迈向“模型驱动的精准协同”。在软件定义未来的浪潮中,这种范式将成为企业突破创新瓶颈、实现可持续发展的核心引擎。
