
| 出版日期:2003-01-13 总期号:1184 本年期号:03 |
|
开发方法和工具的革命:打破嵌入式软件的瓶颈
韩青 一提起软件,我们马上就会将其与服务器和PC这类看得见、摸得着的计算机联系起来,因为这是最常见的软件运行环境。但是,在各行各业广泛应用的电子设备中也包含着计算机系统,也需要相应的软件来支持,这就是嵌入式系统。显然,这些电子设备比服务器和PC应用更为广泛,甚至可以说是无处不在。实际上,与服务器和PC这种专门的计算机系统相比,运行嵌入式软件的各类智能化电子装置对全球GDP的贡献要大得多。IDC研究报告指出,由嵌入式软件驱动的电子产品对全球GDP的贡献在1万亿美元以上,而全球一年的GDP也不过40多万亿美元。
韩青先生 1984年毕业于国防科技大学计算机系,获学士学位。1987年毕业于航天部数据控制研究所,获硕士学位。现任美国风河系统有限公司北京代表处首席代表,全面负责风河公司在华业务。 可见,嵌入式软件开发是一个非常值得重视的领域。而且,在这个领域内正孕育着一场开发方法和工具的革命。那么,就让我们一起来看看嵌入式软件开发的这场革命为什么是必然要发生的,电子产品开发商应该怎样筹划自己的软件开发项目。 有瓶颈就要有突破 风河(Wind River)公司委托著名的市场研究咨询机构——麦肯锡作了一次调查,结果显示风河公司前20个大客户每年用于嵌入式软件开发的费用达到了230亿美元,其中有91%被用于对各种嵌入式软件模块进行集成,而真正用来购买这些软件和服务的费用只占9%。 与我们常见的PC和服务器软件不同,嵌入式软件主要是对设备内部各部分的运行进行协调,并不与设备使用者发生直接的接触。PC和服务器的软件所面对的运行环境是标准化的,而嵌入式软件的运行环境随着电子设备的不同而不同,必须针对不同的电子产品进行专门的设计、开发和优化。 著名的火星探测器“探路者”就是由风河公司的VxWorks控制的,但开发“探路者”的这家研究机构同时应用着29种不同的操作系统。对于一家研究机构乃至整个嵌入式系统开发业界而言,采用统一的标准化平台从整体上规划和管理嵌入式软件开发,这已经是刻不容缓的事情。 上述调查数据和实例都表明,电子产品公司用于购买操作系统和中间件的费用很少,绝大多数费用都花在了应用层的集成与开发上面,目前所采用的手工作坊式的开发方法造成了巨大的时间、人力、财力资源浪费。 越来越多的电子产品厂商采取OEM的方式把硬件制造外包出去,产品的竞争优势越来越多地体现在软件设计上。在产品开发过程中,软件工程师扮演的角色越来越重要。而降低软件人员的人工费用是降低产品开发整体费用的一个重要突破口。 出路就在平台化 在科学技术的世界里有一个通行的规则——站在前人的肩膀上。成功的法则在于:专注于你具有独特竞争优势的地方,购买其余那些大众化的东西。实际上,除了嵌入式操作系统,市场上还有无数可重复使用的商品化嵌入式软件模块,但许多电子产品公司并没有意识到这一点,仍然在花费很大的代价去自己编写同样的软件,或者花钱去从多个不同的提供商那里买回来再进行拼凑。这个问题应该尽快在嵌入式软件开发业界引起重视。 回想10多年前,嵌入式操作系统也是由各电子产品厂商自己开发的,人们很难接受商业化的嵌入式操作系统。如今,人们已经普遍接受了嵌入式操作系统的商业化。但是市场需求和技术发展都进步了,新的概念产生了。不仅操作系统应该商业化,开发环境也需要商业化。多年来,专门从事嵌入式软件开发环境研究的公司已经开发出了许多通用的嵌入式软件,但许多客户并没有意识到,仍然在耗费内部资源去做同样的工作。所以,问题还必须由嵌入式软件工具的提供者来解决。 风河近期推出了风河平台(Wind River Platform),其基本概念就是让电子产品公司意识到,不必自行开发那些人人都有的通用功能,应该释放出更多的资源去提升自己的独特竞争力。实际上,新的平台是风河公司对其原有产品的一次重新组合。 如今,大家都意识到,电子设备制造企业在功能集成方面需要得到更多的帮助,所以风河公司推出了面向特定行业的平台。这里所说的特定行业主要是指:消费电子产品、工业电子产品、网络设备、服务器相关设备和国防军事电子设备。风河公司把相关的中间件、协议和工具组合起来,为不同的行业提供相对通用的功能基础。这种做法不仅改变了嵌入式软件开发工具提供商的业务模式,而且改变了电子产品开发商乃至整个嵌入式软件行业的工作模式。 不要相信免费的午餐 在嵌入式软件开发业界,Linux一直十分活跃,因为它有两个引人注目的亮点:一是免费,二是开放源代码。但是,随着应用的深入,人们逐渐发现Linux并不是他们想象的灵丹妙药。为什么呢? 首先人们发现,Linux最终并不是免费的。你也许不用花钱去买Linux,但是与工程人员的开销相比,由于免费获得操作系统而节省的费用微乎其微。对于开发人员来说,Linux或许很有魅力。但是,聪明的企业家会发现,他在花钱让开发人员学习操作系统知识,而不是专注于自己的产品开发。第二个问题是Linux的技术适应性。Unix在嵌入式应用中的确占有一席之地,但是毕竟不是以嵌入式应用为目的。由Unix演变到Linux,再演变到嵌入式Linux,在应用中的适应性的确不容易保证。第三个问题与知识产权有关,尤其是涉及到GPL(General Public License,全面公开授权)和专利保护问题。软件是进行产品差别化竞争的重要手段,而开放源代码的规定要求你向用户甚至竞争对手公开自己的核心技术——源代码,这当然会触及很多公司的敏感神经。所以,你会经常听到著名的电子制造厂商放弃Linux。 反过来看,专业从事嵌入式软件工具研发的公司让企业在可靠的商业化平台上进行标准化的开发工作,这在开始的阶段可能要花一些钱,但以后会为你节省更多的钱和时间。而且,由于不再需要去处理那些重复性的、人人都有的功能,企业可以让开发人员集中精力去开发更为独特的功能,这些都是开放源代码方案所不具备的。最根本的问题在于,哪种方案会让你的产品快速上市,并且花更少的钱,获得更好的质量。 随着嵌入式软件开发逐步进入平台化阶段,电子产品开发商开始有可能把研发工作中比较普通的重复性工作外包出去,集中精力去研究自己产品中最具独特的功能特性,从而获得更强的竞争优势。 总之,花更少的钱,用更短的时间,推出更独特的产品,这就是嵌入式软件开发工具平台化对于客户企业的核心价值。 |
|||||||||||||||||||||||||||