嵌入式软件研发实践与技术趋势:流程改进和众核时代
扫描二维码
随时随地手机看文章
由CSDN主办的“嵌入式软件研发实践与技术趋势”小型高端研讨会于12月23日下午在北京召开,有30多位包括来自华为、IBM、腾讯、新浪等知名公司的嵌入式技术高管参加了这一研讨会,分享相关领域的经典案例及技术经验,并针对各行业嵌入式系统的瓶颈问题及发展趋势进行了探讨。
图:CSDN & 《程序员》总编刘江
本次研讨会由CSDN & 《程序员》总编刘江主持,他指出在云计算、移动互联的大背景下,嵌入式之间有很多隔板正在慢慢被打破。可以认为除了PC通用系统之外的软件工程,都算是嵌入式软件工程。而传统中比较典型的如Andriod、iOS嵌入式系统,反而正被归入到通用品牌,有可能从嵌入式中划分出去。嵌入式产业已变成一个朝阳产业,同时它发展的趋势和前景也更令业界人士关注。刘江阐述了本次研讨会举办的主旨和目的,并向与会者介绍了演讲嘉宾和研讨会相关说明。
飞漫创始人魏永明:基于Linux构建嵌入式系统的研发实践与技术陷阱
第一位上场演讲的嘉宾是MiniGUI、飞漫软件创始人魏永明,他带来名为“基于Linux构建嵌入式系统的研发实践与技术陷阱”的精彩演讲。
图:MiniGUI、飞漫软件创始人魏永明
魏永明针对嵌入式软件工程中使用的不同开发模型给出了特定案例解析,对整个嵌入式软件工程周期中各方面的管理情况、执行过程、辅助文档、使用工具等情况进行分析与讲解,再对最终的工程结果加以优、缺点总结。
嵌入式Linux开发中常遇到一些技术陷阱,主要来自三个方面:不同处理器架构对软件的影响、工具链本身可能存在的问题、开源软件的选择。魏永明表示,既要注意来自于处理器架构方面的字节序、浮点数表达、编译后的代码大小等差异;又要注意所使用的工具链本身比如c/c++标准符合性问题、内核和c库不匹配的问题;在开源软件的选择方面,应该选择使用广泛的开源软件,如FreeType、SQLite 等,但同时又要避免使用其开发版本或不稳定版本之类的所谓最新版本。
华为资深工程师薛蕴全:面向通信系统的嵌入式软件研发实践和展望
第二位上场演讲的嘉宾是华为资深工程师薛蕴全,他带来名为“面向通信系统的嵌入式软件研发实践和展望”的精彩演讲。
图:华为资深工程师薛蕴全
薛蕴全指出对于通信系统软件的挑战来说,功能、性能和稳定性三大要点对通信系统的软硬件发展产生重大影响并突出显示在以下几点:多核时代的降临、发挥多核CPU的能力、虚拟化技术在嵌入式领域的发展、大规模软件生长。这些影响同时无可避免地带来了通信系统软件工程开发实践的巨大改变。
薛蕴全认为早期的开发模式遵循传统的软件工程理论,以瀑布模型或V字型模型实施软件开发,这种传统的开发模型存在固有的四大缺陷:拒绝变化,需求分解一旦完成则很难进行修改或增加新需求;高昂的沟通成本,巨量的文档写作;缺乏开发到设计环节的有效反馈,一些关键质量属性无法得到保证;系统集成较晚,版本稳定周期长。
改进的软件工程实践流程
针对经典开发模型的四大缺陷,薛蕴全表示,可通过改进开发流程的形式,保证通信系统嵌入式软件研发实践达到最佳状态。具体可从两方面入手,一是从传统的瀑布型开发模型转为迭代开发:结合敏捷开发实践按时进行持续集成和自动验证、早期提供演示版本进行客户需求验证、系统稳定更快;二是从原始的人工测试到自动验证的转变:摒弃狩猎式搜寻bug、利用一些测试脚本提高测试效率、分层次测试和验证、自动化测试中心自动配置运行环境的自动测试。
通信系统嵌入式软件研发实践从传统模式向敏捷模式转变时,薛蕴全认为,敏捷开发并没有固定的模式,只要是适合团队特征的、适合项目特点的开发模式,也符合敏捷开发模型的“敏捷”特征。
嵌入式展望 众核时代与新的研发实践难点
薛蕴全认为目前通信系统嵌入式的发展可简要地称为:从多核向众核的进发。并且在未来的3~5年内就会看到内核数从64~1024不等的众核CPU开始得到应用。当然,众核时代也将面临诸如操作系统、硬件支持、软件应用等方面的新问题。具体将表现在众核带来的操作系统任务调度和负载均衡的困难、CPU硬件方面cache的一致性与异构化多核问题。还表现在众核环境下的软件设计问题:AMP系统中跨操作系统的任务部署和迁移、片上网络对核间通信的影响、适合于众核环境的软件并行化设计。
IBM资深专家姚冬:IBM Rational嵌入式系统开发解决方案
第三位上场的嘉宾是IBM Rational华北地区系统开发资深专家姚冬,他带来名为“IBM Rational嵌入式系统开发解决方案”的精彩演讲。
图:IBM Rational华北地区系统开发资深专家姚冬
从产品成本关注到产品创新关注的改变也说明了产品研发的景观在不断演化。这种变化表现在业务目标、产品研发、商业价值三个方面。姚冬认为,其中产品研发的重点关注展望包括:产品规划和投资决策更加关键、需求追踪贯穿产品生命周期、整体系统设计和协同研发、质量是产品的重中之重、更加关注软件工程方面。
产品研发,挑战与机遇并存
随着嵌入式产品的发展,系统的协同一体化进程也越来越快,但同时也给这些智慧的系统带来复杂度与质量方面的诸多挑战。姚冬从具体案例出发,从多个维度上的复杂性体现说明当软件含量显著增加时,繁杂度管理所面临的挑战。并表示,软件故障对于复杂系统来说会变得引人注目。这种故障不光对研发本身有影响,也将给客户带来诸如预算超支、工期延误以及质量问题等挑战。
在嵌入式软件研发整个产品生命周期中,由于传统系统工程下的系统交付环境是高度隔离的,各领域之间的协作仍然通过手工方式进行,从而要构建一个能胜任的系统就变成一种挑战,需要克服成本超支、工期延后和质量问题等诸多隐患。
针对隐患的解决,姚冬表示,在关键产品研发领域建立规程和治理能力方面,IBM Rational已经能从产品规划与项目管理、跨供应链的需求工程、系统与软件交付管理几个维度搭建完整流程框架来提供多种已证明的最佳实践。
IBM Rational嵌入式系统开发解决方案
姚冬指出,上面介绍的最佳实践能够有效实现以下改进:一.在正确的时间为正确的市场开发正确的产品,有效管理产品的工期、成本、范围、质量和风险,确保按时保质的交付产品;二.需求工程贯穿整个产品(包括软件、机械、电子)研发过程,象管理机械物料清单一样严格的管理需求,供应商管理;三.系统与软件交付过程的充分管理和协同,建立集成的变更管理流程,实现模型驱动的系统开发和质量保证,确保交付高质量的系统软件。
姚冬指出支持企业核心业务流程的是PLM——企业信息化的商业战略。PLM实施一整套的业务解决方案,把人、流程和信息有效地集成在一起,作用于整个企业,覆盖产品从规划到报废的全生命周期。姚冬表示,PLM趋势显示,一方面企业要对产品及附属衍生物负责,提供全生命期的追踪能力;另一方面,日益增强的对成品部件的依赖形成全球性的供应链,导致对跨企业的互操作性和安全性的需求。而IBM Rational系统和软件交付平台能有效增强企业PLM能力,它集成团队、领域、工作流的V-模型,在各个领域支持客户能力提升。
姚冬对嵌入式系统软件开发平台产品部署图作了介绍,指出IBM Rational系统和软件交付平台能集成包括机械、电子和软件在内的不同研发领域,并通过Jazz、OSLC和 IBM P&SF (Product and Service Framework)集成多种PDM产品。
演讲结束后,与会者纷纷提出了自己在工作中遇到的技术问题,三位演讲嘉宾一一作出详细解答。最后,所有与会者进行了交流互动。