随着电子设计不断向高阶发展,验证的复杂度成为各行业所面临的一个共同问题。调查显示,设计者超过50%的精力都花费在了系统的测试和验证方面,这远远超过了系统需求分析和设计时间。如何进行正确的需求分析,成为产品成功的关键问题之一。
随着系统越来越复杂,需求可能不断地变化以满足市场变化,电子产品的功能验证面临着非常大的挑战,也称为验证危机。随着设计复杂度的增加,功能验证成为不可逾越的挑战。如何保证验证的有效性,正在考验着众多设计团队。
设计者目前面临的挑战是,在一些特定领域中,大部分问题都来自于需求阶段。软件设计能够正常工作,但需求本身是否正确?不充分的需求确认,以及从系统需求到软件需求的缺陷流程,这些问题是导致大量错误的根源。据调查显示,大约55%的错误是在最终测试阶段才发现的。而事实上,有60%的错误是在需求设定的阶段引入的。错误的引入与检测之间的鸿沟导致修复错误需要巨大的成本和时间代价。所以尽早发现错误,是设计者们迫切的要求之一。
早期验证,是The Mathworks公司为面临着验证挑战的设计者们提出的新设计理念。The MathWorks公司Fellow(首席研究员) Jim Tung强调,早期验证可以实现在流程中尽可能少地引入错误,尽早地发现错误。这也是早期验证所承诺的设计目标。
早期验证可以将设计和需求紧密结合,特点包括:利用可执行的规范获得精确的需求,其中包括可执行的模型和可仿真的规范;使用模型作为算法和所有组件的系统级测试平台,准确反映每个部件对系统的影响;对系统的设计权衡、组件的交互以及研究系统的集成度进行仿真和评估;从虚拟系统集成到完成系统开发,在整个流程中重复利用相同的测试平台。
在MathWorks看来,基于各个设计者对模型设计的实施程度,用户可分为三大类:
基于模型的设计的高级用户
第一类,针对高级基于模型的设计(MBD)用户。这些用户大都是构建复杂控制系统的大型团队,一般处于航空航天、国防和汽车领域。对于这类用户,设计已经不再是“简单建模加设计仿真”的模式了,而是采用了高级的基于模型的设计(MBD)使建模和需求联系在一起。
这类用户通常会在设计流程中发现问题:如何使设计有效地满足系统需求。造成这个困扰的原因是,虽然他们使用了一些仿真技术,但并没有在需求分析阶段中系统化地使用仿真技术,以验证系统分析本身的准确性。关键的问题没有出现在系统实现的细节上面,而是系统本身不符合需求。这就是这类用户面临的最大问题,也是实现一个复杂控制系统所面临的共同问题。
这类问题发生在开发流程的最初阶段,而早期验证相当于对系统进行虚拟集成验证,不仅针对单独的组件部分,还包括系统集成,以保证匹配最初需求。Jim Tung表示,早期验证不需要特殊的测试硬件,或者特殊的实验室,所有仿真都在桌面上进行。将不同组件集成后进行仿真,达成虚拟集成和测试,保证系统在最终实现时运转起来,以及早发现错误并及时更正。
另外的关键因素是确保高度集成的系统里不会出现代价高昂的设计错误。当参与一个单系统设计的团队数量不断跨区域和时区扩展时,在设计流程的早期保持沟通和彻底验证就显得尤其重要。早期验证可以为团队中的工程师共享系统规范和开发观念提供公共的平台,以优化他们的设计并且更好地理解这些复杂的集成系统。
复杂控制系统型用户
第二类,针对正在逐步开始使用基于模型设计的用户,多数处于工业自动化和机械、计算机、办公室设备、消费品、仪器、医疗等领域。这类开发控制系统的中小型团队,尚未使用模型开发系统,要在原型机上手动调节控制器算法,并且系统设计涉及到了多个领域,如控制系统、机械部件、算法开发、电子部件等。他们遇到的问题是,控制系统的复杂性超出现有流程的控制能力,更加关注如何将外部工具整合到系统中。