模拟(Simulation),这是一个历史悠久的技术概念,但在当今越来越充满不确定性、越来越复杂的世界里显现出越来越高的价值,却会成为一种新的竞争力。
古今中外,在世界范围内,不论是科技、市场还是政治,若论竞争激烈的程度,能够超过美国总统大选这样的角逐,恐怕不太多。奥巴马目前这一任总统大选获胜之后,美国《时代》杂志专门报道了在他身后的一群“数字军团(DataCrunchers)”。
美国总统竞选中的数字战争
在奥巴马的竞选活动中,这一群“数字军团”专门搜集、归档和分析大量的数据,用来提出竞选活动的策划案,并通过大量的计算机模拟来对活动方案进行调整,最终才付诸实施。
为了预测每一天竞选活动的效果如何,奥巴马的“数字军团”每天晚上都要在计算机系统中运行66000次模拟。他们在计算机系统中创造了数百个模型(虚拟竞选人),每天都在调整这些虚拟竞选人的行为和效果,检测他们采取何种行动才会更快更有保障地走向胜选之路。每天早晨,奥巴马的竞选顾问都会根据前一晚的模拟结果来安排他的当日行程。
那场竞选活动虽然结束了,但是我们这些关心科技与生活的人,却可以从其中发现一些有趣的数字,让我们的生活更加精准、放心,因为精准的数字代表着预见力、竞争力、幸福力。
以模拟获得竞争优势
可见,模拟这种技术可以构成一种竞争优势。这个原理在嵌入式软件开发中同样适用。新技术、新工具带来竞争力,但是面对越来越复杂、风险也越来越高的环境,人们自然会想到——先在小范围内试试看。这样,我们可以在后果没那么严重的环境中预先发现那些隐藏的错误,从而让OEM厂商远离那些致命的死亡之吻。
风河公司工具以及产品寿命周期解决方案副总裁MichelGenard说,“风河公司快速高效地进行系统级的功能模拟(FunctionalSystemLevel Simulation),这是实施风险管理、提升生产效率和加速产品升级周期的最佳途径。我们常常都会收到客户的反馈意见,说模拟作业已经成为他们产品开发过程中不可或缺的一环。在适当层次上对系统功能进行抽象分析,例如设想系统应该做出怎样的行为表现,然后快速地进行模拟观察它是否真的符合预期,这就为设备开发团队打开了一个全新的世界,让他们想象出各种各样的应用情景,把各种想象中的产品放入这些情景之中进行验证,从而以最快的速度找到最佳的产品方案,并且对这些如同科学幻想中才能看到的功能进行调试和验证。这样一来,产品开发进程当然会远远超前于行业中的其他竞争对手。”
在过去的几十年里,市场和产业的基本规律并没有发生根本的改变,产品上市速度、质量和安全可靠性依然是企业最关心的问题。真正发生改变的是,在上述问题上如果发生错误,企业所付出的代价更高了!企业需要做出调整以便满足客户的期待,采取行动的节奏不得不加快了!
特别是近年来电子系统的复杂度快速提升,其中软件开发成本和获利能力所占比例也大幅增加,而且常常包含好几种处理器、多种操作系统和多核处理器。同时,这些产品常常又是更大系统中的子系统。面对网络互连和复杂度的增加,传统的嵌入式软件开发工具在设计、调试、集成、测试和维护等环节的效率越来越差,亟待获得满足物联网环境需求的新工具,以确保 产品的上市时间、制造成本以及产品质量。
对于物联网环境中的智能化、网络化系统和产品而言,风河公司的模拟解决方案WindRiverSimics正式为了满足企业这种需求而推出的,它让企业可以快速对其产品与系统进行模拟,快速发现潜在问题,排除问题,从而获得市场竞争优势。
全系统模拟技术让虚拟服务于现实
当我们说起功能模拟,常常都是有些事情我们很难甚至根本无法在现实世界中去做的事情。例如,软件运行在实际的电路板里面,你是无法看到处理器和存储器里面的数据。如果是同时交叉开发多个系统,情况就更加复杂了。通过采用模拟技术,你会进入一个科学幻想的世界,你可以进行“时间漫游”,在时间长廊中来回穿梭,不仅可以前后观察程序指令的执行结果,而且可以设定和修改特定的数据参数。
如果你要进入模拟技术所创造的这个虚拟世界,必须拥有硬件系统的软件模型(这是一个虚拟平台)。然而,这个虚拟平台并不是随时就有。许多开发者因此而徘徊在诱人的模拟世界之外,眼睁睁看着别人的嵌入式软件开发进程一日千里。为了帮助更多的嵌入式软件开发者早日走进模拟技术造就的虚拟世界,风河公司不断更新其模拟系统产品WindRiverSimics,降低大家进入模拟世界的门槛。
作为一种全系统模拟,WindRiverSimics可以模拟任何目标硬件系统,如单处理器母板、多核系统或者具备数百块板以及不同架构的整个系统。无需修改目标软件的二进制文件,即可像在实际物理硬件上一样运行。
在这个可共享的虚拟平台上,应用软件开发人员拥有了前所未有的调试能力、即时的测试与集成能力。同时,Simics也为开发人员之间的协同提供了一种方便的机制。因为他们可以同时看到目标硬件在运行软件时的表现,又可以各自进行自己的开发与测试,而且许多测试工作可以自动化地进行。这样一来,许多原本必须互相等待的工作可以同时进行了,从而使得这个项目的工期大幅度提前。
软件开发者可以用Simics来模拟目标硬件中发生的任何事情。这个目标硬件的规模可以小到一个单一处理器,大到一个庞大、复杂并且由网络互联起来的电子系统。这个由软件模拟出来的系统可以像真实的硬件一样,让完全真实的软件运行在其中,包括系统引导、BiOS、固件(Firmware)、实时操作系统(RTOS)、板级支持包(BSP)、中间件(Middleware)和应用软件(Application)。不仅如此,这个模拟环境还可以像X光机那样为开发人员呈现软件运行的内部细节,像时光隧道那样让软件向前或者向后运行。
在硬件上市之前就开始软件开发
阻碍嵌入式软件开发工程进度的一大障碍就是,目标硬件尚未提交给软件团队,甚至还未形成最终产品。在这种情况下,WindRiverSimics已经可以用软件来模拟这个未来才会出现的硬件系统,而且可以模拟其多种可能的版本、配置。更有意思的是,这个模拟出来的硬件环境只是一些软件,可以无限制地复制,提供给许多软件开发人员使用。
这样一来,软件开发人员就可以在尚未拿到真是硬件的情况下提早开始软件开发工程,而且可以在多种不同的配置中进行。特别是对于软件测试人员来说,在模拟出来的多种不同配置的硬件环境中对应用软件进行测试,这对确保软件的兼容性具有特别的价值。
在产品上市之后还能支持售后维护
电子产品的完整生命周期从设计开始,接着就是开发、集成与测试、交付上市以及售后服务与维护。WindRiverSimics可以覆盖整个产品生命周期提供支持。
在设计阶段,可以帮助电子产品提供商探索系统设计的各种选项,例如哪些功能用软件来实现,哪些功能用硬件来实现,软硬件的接口应该是怎样。在实际投产芯片之前,以软件模拟的方式尝试各种可能的方案及其结果,从中选出最佳的方案,从而可以避免芯片设计投产上的不当选择,节省大量的成本。
在软件开发阶段,即便是实际的硬件还没有交付给软件团队,他们也可以利用WindRiverSimics模拟的硬件来进行软件编程、调试和测试,从最底层的设备驱动、BSP到操作系统和应用软件无一例外。这样一来,软件和硬件的开发就是齐头并进的。而且,各种先进的调试方法,例如反向调试、设置测试点和观察点等。
当整个软件开发完成之后,进入系统集成与测试阶段。软件既可以运行在由WindRiverSimics模拟的硬件环境中,也可以运行在逐渐就绪的实际硬件环境中,让全系统的集成与测试工作无缝接轨,顺畅地开展起来。此时,WindRiver Simics为故障注入、程序转折点测试等先进的方法提供了便利的支持。Simics的脚本功能可以提供各种测试配置,帮助产品研发团队进行自动化的并行测试。
在产品上市交付用户的时候,软件团队还可以借助于WindRiverSimics所模拟的产品与其他合作伙伴和用户一起分享和探讨产品的实际使用情况,呈现各种不同参数情况下产品的表现,帮助用户决定他应该如何选择所适用的产品配置。
在产品交付用户使用之后,WindRiverSimics可以帮助用户设立虚拟的维修实验室,当设备使用出现问题时,可以用来模拟和观察故障现象,直观、方便、快速地找到故障原因。
快速进入模拟的世界
在过去的一年里,风河特别为Simics的最新版本中推出了"快速启动平台(QuickStartPlatform),使嵌入式开发人员在软件开发、调试以及测试过程中迅速受益于全系统模拟能力。这个平台提供了一个综合虚拟环境,再加上各种架构的指令集模拟, 还配备了适用于VxWorks? 和Linux的板级支持包(BSPs),这就为开发人员提供了一个方便易用的开发平台。特别是对那些开发与目标系统硬件特性无关的用户级应用软件的开发人员更是尤其适用。
这种技术可大幅节省总体拥有成本和开发时间。对于越是复杂的系统,其效果就越是显著。
使用WindRiverSimics,开发人员可以立即受益于逆向执行以及检验指示等功能。对于复杂软件的开发和调试而言,可重复性以及可逆性非常重要,而且这也正是物理硬件所不具备的功能。现场备份可以准确反映整个系统的状态。软件测试人员可以选择一个现场备份并发送给其它人,提醒开发人员注意软件错误,从而使其可以根据测试人员的视角精确恢复现场执行。
模拟历来就是一种竞争优势,让你在竞争对手无法企及的时空里夺得先机。带有QSP(QuickStartPlatform,快速启动平台)的新版WindRiver Simics就是一个与时俱进的模拟平台,不仅可以帮助电子产品提供商显著降低产品在设计、开发、上市及售后服务整个生命周期里的成本,而且可以从根本上实现业务流程创新,从而以先进的模拟技术获得独特的竞争力。