MathWorks公司在产品力上无疑是极强的,从教育渗透所有高校,培养的学生走上社会之后拥有并渗透传播着工具的使用技能,要说它是工程师(非指程序员)必会工具也毫不夸张。为了方便广大师生/工程师交流,官方还提供了Exchange Center和MATLAB中文论坛,吸引了数十万的工程师前赴后继聚集和分享知识和作品,让广大工程师它打造MATLAB/Simulink产品是基于合理的产品架构逻辑的。其产品架构逻辑整理为下图:
产品层及用户层构成示意图
作为MATLAB/Simulink这个庞大产品最核心技术的是一系列的技术核心点,共同构成了一个坚实的技术底座。MATLAB是为M语言创造了一个完整的集成编译环境,M语言是一门独特的解释型语言,它的解释器闭源但是从用户的角度易学易用,学习资料容易获取,并且提供数据可视化和数据传递的方案,它是MathWorks最早的一个产品平台。随后在“内外兼修”地兼容M语言的基础上,逐步发展出来的基于Block的建模技术、flowchart和状态机建模技术、信号传播技术、基于数据流的数据类型推定技术、基于模板的多语言代码生成技术、ODE、DAE求解器技术更是凝聚出了Simulink这样一个如今大红大紫的第二个平台及产品。框图式的表现形式,让长期在繁杂的代码中疲于奔命的工程师有了更高层次的设计方式,在Top Model层次有着一览众山小的视野,在Data flow/flow Chart层次能够将相同模式的建模逻辑进行抽象,形成模型库或设计模式(Pattern),为今后遇到相同需求时复用做好准备,成倍地提高软件地设计效率。面向目标硬件的代码生成技术加持下,模型可以直接生成代码在目标编译环境下转为可执行文件,迅速部署在硬件上执行,这就打通了从设计到产品的自动化通路,为整个产品支撑平台开拓出了崭新的半壁江山。而且在设计早期就将Simulink的所有元素和操作都设计成了M语言的应用程序接口,还可以共享工作区,又提供了一系列的模块进行数据互传和相互渗透式建模,将M与SL两个核心平台无缝衔接了起来。
再在人工智能、优化、通信、图像、控制等领域技术的加持下,分别根据其特点选择性地累积到MATLAB/Simulink这两个平台上,纯科学计算的偏重于通过M函数库的方式在MATLAB侧生长,偏工程地讲究规模化产品化设计地模块则在Simulink侧累积,经过数十年地迭代和完善,已经形成了“两手抓两手都硬”的局面。Polyspace作为购入的形式化验证工具,作为外来者,很快就能提供M语言的应用编程接口,并且可以对Simulink生成的C/C++代码进行可靠性验证,还能为设计验证工具提供底层支持,姑且将其放在支撑平台内,至于今后是否能扩展出更多的系列产品,成为第三大产品培养皿,估计可能性不是很大,毕竟只是验证工具,不能独立衍生新产品,今后MathWorks更多地可能还是要依靠Simulink去发展落地产品生态,Polyspace增强其产品级工具链的完整性和严谨性。
立足M与SL这俩支撑平台,再网上衍生各种技术系列产品,基于M的符号工具箱、优化工具箱、深度学习等;源于瀑布模型的V变型则发展出基于模型的设计理念,将产品需求开始的工作过程跟模型架构、模型设计、模型仿真、代码生成、模型验证、代码验证、集成验证以及实时仿真结合起来,分拆出了基于模型的一系列产品,包括Simulink Requirement, System Composer, Simulink Real Time, Simulink Check, Simulink Coder, Embedded Coder, Polyspace bug finder, Polyspace code prover, Simulink Design Verifier, Simulink Test, Simulink Report Generator等,构筑起了全方位的产品壁垒,从设计到验证,严防死守,其它工业软件虽然有些在求解器方面做的更强,有些在仿真速度方面更快,有些在编程语言运行速度上更快,但是要说做整个控制器产品的设计到验证工具链,暂时还没有谁家可以与之匹敌。
由于丰富的产品线,健壮的产品支撑平台以及深厚坚实的技术底座,构成的可以舶来也可以自创工具的自适应环境,这吸引了汽车、航空航天、通信、工业控制等诸多的产业用户,纷纷在M语言体系下设计和验证算法,在基于模型的产业平台上部署产品研发流程。这很强但是还不够,因为需求的种类是无穷无尽的,MathWorks一家公司纵使数千名工程师,也不能完全实现所有客户的需求,于是GUIDE升级为APP Designer。在可发布为APP的途径出现之后,很多核心IP在UI的封装下得以保护,却又能够让客户有条件的使用,使得加入开发的人员越来越多,形成了需求生态和开发者生态的动态平衡,久而久之,MATLAB/Simulink为行业提供了大量的基础工具支撑提高了效率,行业也为它提供了大量的落地案例和过程自动化工具,工具与产品相辅相成,互相成就,双向奔赴,造就了新的工具产品生态蓬勃发展,无论谁开发出来的产物,都离不开MATLAB/Simulink这个支撑平台,离开了根本运行不起来。而高校本来就是依靠M语言的快速设计能力和丰富的工具箱的最大用户群体,做课程设计,发表论文,MATLAB/Simulink是不二之选。高校培养了大量的用户走上工作岗位,进一步提升对工具的应用熟练度,再开发更多的APP分发给行业里需要的人使用,真正实现了MathWorks,产业客户,教育后备军三川汇聚的态势,在产品力和产品生态潜力上都实现了一定程度的垄断。
作为行业从业者,不应该满足于会用几个M函数,会绘制一些图像,能建立一些控制策略模型就自我满足,感觉自己掌握了有价值的技术。其实,我们之中有人应该也必须去做的是深刻地思考这些易学易用地软件工具背后是怎么样一种产品逻辑,这些思考带给我们更深刻地理解,才能算作真实地价值。我们能做的也许不仅仅是为国外的工具软件积累需求以及知识产物(模型),也许我们能够深挖其设计的内涵,设计出一种具有更大格局地架构,应用到我们国家自主研发的产品中去。希望大家一起努力,先做到知己知彼,掌握核心技术和底层逻辑,避免浮于表面,为工业强基科技强国创造条件和成果。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删