如何選擇嵌入式軟件開發(fā)平臺
這個結(jié)論一經(jīng)發(fā)布,可謂一石激起千層浪,熱衷于嵌入式Linux的人們紛紛出來辯論,對其提出質(zhì)疑。人們首先要懷疑這份報告的公正性,因為報告作者——EMF分析師Jerry Krasner博士公開承認(rèn),微軟為他做出這份研究報告向他支付了費用。
在包括嵌入式軟件在內(nèi)的大多數(shù)軟件領(lǐng)域,微軟的地位無疑是非常重要的。Linux不僅因為繼承了Unix的技術(shù)特色,更因為開放源代碼而在商業(yè)機制上與一貫封閉的微軟相對壘,贏得了眾多口碑。不過,我們不應(yīng)該忘記,在嵌入式軟件開發(fā)領(lǐng)域并不是兩軍對壘,而是三足鼎立。這里還有一個非常重要的陣營——商業(yè)嵌入式軟件開發(fā)工具提供商,例如Wind River的VxWorks。
在激烈競爭的商業(yè)環(huán)境中,誰都希望以更低的成本、更快的速度推出滿足市場需求、具有獨特競爭力的產(chǎn)品呢。那么,嵌入式軟件開發(fā)平臺究竟應(yīng)該采用什么樣的衡量標(biāo)準(zhǔn)呢?哪一種嵌入式軟件開發(fā)平臺更能有效地幫助電子產(chǎn)品開發(fā)商降低產(chǎn)品成本、加快上市速度呢?為了對這些問題有一個全面的認(rèn)識,讓我們對來自微軟、嵌入式Linux和商業(yè)嵌入式軟件開發(fā)商的聲音做一個全面的了解。
爭執(zhí),從衡量尺度開始
衡量任何事情,都必須先有一個標(biāo)準(zhǔn)的尺度。為了說明什么樣的嵌入式開發(fā)平臺最經(jīng)濟有效,首先必須形成一套衡量標(biāo)準(zhǔn)。在這個關(guān)鍵問題上,的確是公說公有理、婆說婆有理。究竟誰的對,我們不妨來個“兼聽則明”。
受微軟公司的委托,EMF研究機構(gòu)Krasner博士所提出的報告標(biāo)題是《TCD:嵌入式開發(fā)平臺的成本評估框架》,其中首先針對如何評估一個嵌入式軟件開發(fā)平臺提出了一套方法。Krasner博士說:“TCD( Total Cost of Development)評估框架可以幫助嵌入式設(shè)備制造廠商評估他們花在軟件設(shè)計中的總體成本,從而便于他們提高開發(fā)設(shè)計質(zhì)量,控制開發(fā)設(shè)計成本。”
Krasner博士在報告中提出了這樣一個模型:
TCD=TTM x NOE x CPMM
其中:
TTM(Time to Market)為產(chǎn)品從開發(fā)工作開始到上市所用的時間,以“月”為單位;
NOE(Number of Engineers used)為開發(fā)該產(chǎn)品所需的工程師數(shù)量;
CPMM(Cost per Man-Month)為每個工程師每個月所需的費用。
Krasner的調(diào)查結(jié)果認(rèn)為:Windows Embedded平臺的平均TTM為8.1個月,而嵌入式Linux平臺的平均TTM為14.3個月,前者比后者快了43%;從對軟件工程師的需求來看,Windows Embedded 平臺中每開發(fā)一個產(chǎn)品所需的平均工程師數(shù)量為7.9人,而嵌入式Linux平臺需要14.2人,前者比后者節(jié)省44%。不管是在哪一種平臺之中,調(diào)查報告把每個嵌入式軟件工程師的平均月成本都假定為7500美元,從而得出結(jié)論:Windows Embedded平臺中,每個項目的TCD為48萬美元,而嵌入式Linux的TCD為150萬美元,前者大約只是后者的四分之一。
Krasner博士對如此之大的差別所作的解釋是:Windows CE .NET和Windows XP Embedded更為成熟,功能更加豐富,采用基于構(gòu)件的設(shè)計方法,具有集成化的工具集,支持并行開發(fā)工作流程。
然而,熱衷于嵌入式Linux的人們對這樣的結(jié)論非常不以為然,并且提出了強有力的反擊。
Jerry Epplin是一家名為EmbeddedSpace的嵌入式系統(tǒng)咨詢公司的首席咨詢師。他尖銳地指出:嵌入式開發(fā)平臺的評估方法應(yīng)該準(zhǔn)確地衡量開發(fā)工作中的全部因素,TTM和TCD的確是很重要的因素,但是,除此之外還有很多不可忽視的因素。例如:
· 產(chǎn)品差別化:采用廉價方法開發(fā)的產(chǎn)品并不一定能夠在市場上獲得獨特的競爭力;
· 產(chǎn)品成本:采用能夠運行在較廉價的硬件平臺上的嵌入式操作系統(tǒng),將會使產(chǎn)品成本大幅度降低,從而在市場上具有更強的競爭力;
· 工具的延續(xù)性:如果嵌入式軟件開發(fā)者長期采用同一個平臺,并且積累了大量的工具軟件和開發(fā)經(jīng)驗,必將在產(chǎn)品功能、性能和成本方面占據(jù)更大的優(yōu)勢。
另外還有其他許多因素都應(yīng)當(dāng)納入嵌入式軟件開發(fā)平臺的評估體系之中。如果只是拿出來一兩個指標(biāo)來衡量,其結(jié)果一定是片面的。。
真正應(yīng)該關(guān)注的是TCP
Krasner博士提出的嵌入式開發(fā)平臺TCD評估方法不僅非常簡單,而且完全站在了微軟的立場上,當(dāng)然是樹大招風(fēng),而且由于過于簡單而顯得非常脆弱,很容易受到攻擊。反過來,對于簡單而直截了當(dāng)?shù)慕Y(jié)論,最有效的攻擊方法莫過于讓事情復(fù)雜化,即使自己提不出任何明確的結(jié)論,至少能夠讓對方的論斷受到懷疑。這就是Jerry Epplin所采用的辦法。
在Window Embedded和嵌入式Linux爭執(zhí)不下的時候,我們不妨聽聽另外一方面的說法,相信有助于我們明辨是非。
不論是微軟還是Linux,實際上都是嵌入式系統(tǒng)的后來者。在這個領(lǐng)域,本來就有一些長期獲得認(rèn)同的開發(fā)平臺,比如Wind River的VxWorks。
Wind River中國區(qū)總經(jīng)理韓青指出:“Krasner博士和Jerry Epplin先生是從不同層面得出的不同結(jié)論,他們所說的都有道理,對于搞清楚如何選擇嵌入式軟件開發(fā)平臺都是有幫助的。Wind River在嵌入式軟件開發(fā)領(lǐng)域已經(jīng)有20多年的經(jīng)驗,對此也有自己的認(rèn)識。”
韓青先生認(rèn)為:選擇和采用一種開發(fā)平臺,對于一個電子產(chǎn)品廠商來說就是一筆投資?,F(xiàn)在人們都開始認(rèn)識到“Total Cost”,而不是只看最初的一次性投資??偟膩砜?,對于嵌入式軟件開發(fā)工具的投資,人們的認(rèn)識水平可以分為以下幾個層面:
第一層面:只看到購買開發(fā)工具時所花的費用。在這個層面上,Open Source的Linux無疑是最吸引人的,因為它是免費的,而其他商用嵌入式軟件開發(fā)工具和商業(yè)化的Linux都需要支付一定的費用。
第二層面:不僅看到購買開發(fā)工具軟件是所花的費用,而且看到在一個產(chǎn)品開發(fā)過程中所花的費用,主要是產(chǎn)品License和產(chǎn)品生產(chǎn)成本。微軟及Krasner博士的報告對于人們認(rèn)識到開發(fā)過程中的隱形費用很有幫助,只是他們提出的TCD模型過于簡單了。Jerry Epplin則提出了一些同樣值得重視的因素。
第三層面:從一個產(chǎn)品整個生命周期的范圍內(nèi)來看待不同嵌入式軟件開發(fā)平臺對成本的影響,所以我們要關(guān)注TCP(Total Cost of Product,產(chǎn)品總成本)。因為,企業(yè)開發(fā)和銷售一個產(chǎn)品,最終要關(guān)注的是獲利能力,所以就必須關(guān)注TCP。
其實,關(guān)于嵌入式軟件開發(fā)平臺的投入產(chǎn)出分析還可以在更高的層面——整個企業(yè)的高度來進(jìn)行。經(jīng)過多年發(fā)展和積淀,成熟的嵌入式軟件開發(fā)平臺支持基于構(gòu)件(Components)的開發(fā)方法,從而讓不同產(chǎn)品、不同開發(fā)項目之間實現(xiàn)大范圍的軟件構(gòu)件重復(fù)使用,從而加快開發(fā)速度,降低開發(fā)成本。另外,在工具與平臺的維護(hù)以及工程師的培訓(xùn)方面都可以節(jié)省更多的成本。
特別是對于消費電子產(chǎn)品是嵌入式軟件的新興市場,由于這類產(chǎn)品主要是批量生產(chǎn)銷售,所以對成本極為敏感。軟件對于消費電子產(chǎn)品成本的影響主要體現(xiàn)在四個方面:一是對CPU的要求越高,成本越高;二是對Flash存儲器容量要求越高,成本越高;三是產(chǎn)品軟件License的費用直接影響產(chǎn)品成本;四是系統(tǒng)穩(wěn)定性、可靠性越好,產(chǎn)品售后服務(wù)費用就越低。
不同嵌入式軟件平臺的TCP分析比較
對于一個產(chǎn)品從開發(fā)到批量上市,其中的費用大致由三個方面構(gòu)成:開發(fā)工具License、產(chǎn)品生產(chǎn)的License和相關(guān)成本以及開發(fā)與生產(chǎn)中的隱性費用。其中,隱形費用往往的不到應(yīng)有的重視,這是因為開發(fā)工具與平臺的選擇常常有技術(shù)開發(fā)人員做出,而由此對產(chǎn)品開發(fā)整體成本(TCP)卻遠(yuǎn)遠(yuǎn)超出了技術(shù)問題本身。
目前廣泛采用的嵌入式軟件開發(fā)工具,從商業(yè)模式上可以分為兩類:In-House(由各生產(chǎn)廠商自行研發(fā)和維護(hù))和商業(yè)化的嵌入式開發(fā)工具;從沿革歷史上也可以分為兩類:傳統(tǒng)嵌入式平臺和由桌面操作系統(tǒng)經(jīng)過裁剪而來的平臺。
對于嵌入式Linux要區(qū)別看待。如果是完全免費的,那么必然要求開發(fā)者自行修改和維護(hù),最終形成各自不同的版本,這樣就和In-House的嵌入式開發(fā)工具沒有什么區(qū)別了。
拋開桌面操作系統(tǒng)和嵌入式系統(tǒng)所用的RTOS(實時操作系統(tǒng))在技術(shù)上的區(qū)別,僅僅從經(jīng)濟性上來看,我們可以Wind River 的VxWorks為代表,在傳統(tǒng)商用嵌入式軟件工具、免費的嵌入式Linux和Windows Embedded等不同工具之間作一下比較。
開發(fā)工具與平臺的License費用:開發(fā)者可以選用免費的Linux。VxWorks、Windows Embedded和商業(yè)化的Linux的入門費大體在一個水平上。
產(chǎn)品License費用及生產(chǎn)成本:表面上看,Linux是Royalty Free(免收使用許可費)。VxWorks和Windows是要收取使用許可費(Royalty)的。產(chǎn)品license費用對于價格敏感的設(shè)備,如消費電子類設(shè)備,是非常重要的?;赩xWorks所開發(fā)的產(chǎn)品對于CPU和存儲Flash的需求更低,因此可為客戶節(jié)省硬件成本。據(jù)風(fēng)河公司中國區(qū)總經(jīng)理韓青先生透露“風(fēng)河公司在消費電子類產(chǎn)品上產(chǎn)品license的訂價很低,采用VxWorks為用戶節(jié)省的硬件成本足以補償使用許可費”。Windows和Linux原本都是桌面操作系統(tǒng),即使經(jīng)過裁剪,其成品軟件在節(jié)省CPU和內(nèi)存方面仍然遠(yuǎn)遠(yuǎn)不及VxWorks。
隱形費用:微軟及Krasner博士的報告對于強調(diào)開發(fā)過程中的隱性成本具有非常大的積極作用,但是沒有考慮到產(chǎn)品生產(chǎn)中的隱性成本,而且對開發(fā)階段隱形費用所做的分析也過于簡單化。
實際上,開發(fā)一個產(chǎn)品的成本究竟怎樣,與開發(fā)者已有的資源密切相關(guān)。具體產(chǎn)品開發(fā)者熟悉哪一種工具,目標(biāo)產(chǎn)品的參考設(shè)計基于哪一種平臺,這些都是非常關(guān)鍵的因素。所以要具體情況具體分析。從現(xiàn)實情況看,傳統(tǒng)上熟悉VxWorks平臺的開發(fā)者很多,對于他們來說,當(dāng)然是選用VxWorks平臺成本最低。Linux和Windows都吸引了不少新加入的開發(fā)者。
嵌入式軟件平臺的選擇對產(chǎn)品上市后隱形費用的影響不可忽視,這主要是體現(xiàn)在產(chǎn)品售后服務(wù)與維修方面。如果產(chǎn)品穩(wěn)定可靠、故障率低,售后服務(wù)與支持費用自然就低,通別是對消費電子產(chǎn)品更是如此。VxWorks的可靠性和行為的確定性為開發(fā)者設(shè)計出精簡、實用、可靠的嵌入式軟件奠定了基礎(chǔ),這是它最獨特的優(yōu)勢。
微軟及Krasner博士的報告雖然引發(fā)了許多爭議,但是這種爭議對于全面認(rèn)識嵌入式軟件開發(fā)的整體成本還是有很重要的積極作用??偟目磥恚瑥闹魂P(guān)心入門費到認(rèn)識到后續(xù)的產(chǎn)品生產(chǎn)成本和隱形費用,這是嵌入式軟件平臺選擇準(zhǔn)則的一大進(jìn)步。希望由此開始,廣大開發(fā)者乃至企業(yè)的經(jīng)營決策者都更加關(guān)注嵌入式軟件開發(fā)平臺對產(chǎn)品總成本的影響。