2012年6月29日,第七屆開(kāi)源中國開(kāi)源世界高峰論壇在北京唯實(shí)國際文化交流中心召開(kāi),開(kāi)啟為期兩天的日程。這是一次全球盛大的、最高水平的開(kāi)源學(xué)術(shù)研討會(huì ),反映中國開(kāi)源技術(shù)和產(chǎn)業(yè)的崛起。這次會(huì )議研討的主題是移動(dòng)互聯(lián)終端設備(智能手機、平板電腦、互聯(lián)電視、車(chē)載信息系統等)的發(fā)展、應用和產(chǎn)業(yè)化以及市場(chǎng)問(wèn)題,移動(dòng)互聯(lián)網(wǎng)與云計算、物聯(lián)網(wǎng)(重點(diǎn)研討有關(guān)開(kāi)放、互聯(lián)和節能的技術(shù)發(fā)展方向)的發(fā)展及應用問(wèn)題。
在今天下午的會(huì )議上,中國科學(xué)院院士李未先生發(fā)表主題演講《云計算、物聯(lián)網(wǎng)與群體軟件工程》,介紹了云計算是一種基于互聯(lián)網(wǎng)的大眾參與的計算模式,其計算資源( 包括計算能力、存儲能力、交互能力等) 是動(dòng)態(tài)、可伸縮被虛擬化而且以服務(wù)方式提供。物聯(lián)網(wǎng)提出來(lái)以后,一個(gè)非常重要的事就是造成了每一個(gè)物聯(lián)網(wǎng)將來(lái)都會(huì )成為超大規模的系統,所謂超大規模是什么意思呢?大量的感知和受控設備,最高可以達到千萬(wàn)量級傳感器、各種各樣攝像頭,在執行過(guò)程中可以達到含量的計算和通訊進(jìn)程,達到10個(gè)12次方的任務(wù)同時(shí)進(jìn)行控制工程網(wǎng)版權所有,而且使用了超量的非結構化的動(dòng)態(tài)數據,比如照片、聲音、錄像等等。
IT168現場(chǎng)報道專(zhuān)題
他表示,開(kāi)發(fā)體制怎樣呢?我覺(jué)得有兩點(diǎn):群體性、大眾化的軟件研發(fā)和計劃性、精英化的軟件整體規劃和管理相結合,群體競爭機制做什么事呢?對軟件資源的形成、組合、測試、維護和服務(wù)起著(zhù)基本的開(kāi)發(fā)、研制的作用。開(kāi)發(fā)原則是什么呢?APP所帶來(lái)的這些東西,原來(lái)使用者和開(kāi)發(fā)者是分離的,現在使用者就是開(kāi)發(fā)者www.cechina.cn,使用者就是設計者,使用者也是維護者,而且這個(gè)觀(guān)念要一直深入下去,不僅僅只是應用程序,包括下層的開(kāi)發(fā)。
中國科學(xué)院院士李未先生
據悉,國際開(kāi)源社區(Linux、Apache、Android、TA、Ubuntu、Fedora、Gnome、KDE、Mozilla、OpenOffice以及W3C等)的領(lǐng)袖與大師及IT跨國公司(IBM、英特爾、谷歌、惠普、Red Hat、Canonical、微軟、EMC、ARM、VMware、LPI、ARM、黑鴨子、LPI等)的高層主管與資深專(zhuān)家參加會(huì )議并講演,國內新興開(kāi)源企業(yè)的精英也將登臺講演;大會(huì )還邀請國內政府、企業(yè)、科研院所、高校、開(kāi)源社區、主要客戶(hù)等有關(guān)領(lǐng)導、專(zhuān)家光臨指導,與會(huì )人員約300多人。本屆峰會(huì )除召開(kāi)開(kāi)源大會(huì )外,還設置圓桌會(huì )議??膳c國際、國內著(zhù)名專(zhuān)家面對面地、自由地提出并討論大家關(guān)切的,國內、國際新一代互聯(lián)網(wǎng)和新興互聯(lián)終端,以及開(kāi)源軟件的發(fā)展與應用問(wèn)題。
以下為現場(chǎng)實(shí)錄:
主持人:非常感謝兩位幽雅女士的精彩分享!其實(shí)這兩位也是今天高峰論壇迄今為止唯一的兩位做主題演講的嘉賓,包括早上邱主席發(fā)布的曲部長(cháng)包括張部長(cháng)包括今天在座的來(lái)賓,我發(fā)現女性很少,接下來(lái)晚一些時(shí)候會(huì )有一個(gè)互動(dòng)專(zhuān)場(chǎng),就是關(guān)于社區和人才培養,我建議屆時(shí)嘉賓一定要討論一下開(kāi)源社區女性人在的培養,中國老祖宗說(shuō)男女搭配干活不累,說(shuō)不定對中國開(kāi)源軟件產(chǎn)業(yè)的發(fā)展大有裨益。接下來(lái)有請中國科學(xué)院院士李未先生為大家帶來(lái)主題演講,題為“云計算、物聯(lián)網(wǎng)與群體軟件工程”,大家掌聲有請!
李未:很高興今天下午能和大家一起共同討論軟件開(kāi)發(fā)的問(wèn)題,但是因為我沒(méi)有認真讀通知,今天主要議題其實(shí)是開(kāi)源軟件,我準備的材料和大會(huì )主題有一些距離,跟大家一起討論吧。我今天演講的題目是“云計算和群體軟件工程”。
5年前開(kāi)始在軟件界就醞釀?dòng)懻撐锫?lián)網(wǎng)的問(wèn)題,三、四年前云計算非常的熱,我今天又提出群體軟件工程這個(gè)事。我們可以先談?wù)勈裁词俏锫?lián)網(wǎng)?物聯(lián)網(wǎng)的概念最初是在1999年MIT教授針對使用RFID電子標簽的物流網(wǎng)首先提出來(lái)的。經(jīng)過(guò)幾年發(fā)展,實(shí)際上物聯(lián)網(wǎng)是指面向一個(gè)特定領(lǐng)域或者行業(yè)的、擁有超量數據的一個(gè)復雜信息系統,比如智能交通,尤其大城市,像北京、上海都采用智能交通系統,甚至可以預報路況,智能電網(wǎng),現代物流,醫療健康,信息柵格,像美國全球信息柵格,這些東西都是物聯(lián)網(wǎng)的典型應用。
物聯(lián)網(wǎng)為什么重要呢?因為它是未來(lái)信息社會(huì )的基礎設施,怎么衡量我們國家工業(yè)做到了信息化呢?物聯(lián)網(wǎng)是標志性的成果,無(wú)論是在電網(wǎng)里面,還是交通里面,要實(shí)現這個(gè)我們認為達到了工業(yè)信息化,而且是戰略新興產(chǎn)業(yè)建設的切入點(diǎn),所以國家把突破關(guān)鍵技術(shù)、擁有自主知識產(chǎn)權當做信息領(lǐng)域最核心任務(wù)之一,這也是物聯(lián)網(wǎng)四年來(lái)一直會(huì )繼續下去的道理。
云計算是什么呢?云計算是一種基于互聯(lián)網(wǎng)的大眾參與的計算模式,其計算資源( 包括計算能力、存儲能力、交互能力等) 是動(dòng)態(tài)、可伸縮被虛擬化而且以服務(wù)方式提供。目的是什么呢?為用戶(hù)提供簡(jiǎn)單易用、安全可靠、需用即得的服務(wù),實(shí)質(zhì)是什么呢?通過(guò)什么做到這點(diǎn)呢?我認為是對用戶(hù)屏蔽有關(guān)計算、存儲、同心合控制的底層操作細節,所有物聯(lián)網(wǎng)用戶(hù)用不著(zhù)關(guān)心下面怎么實(shí)現的,直接需要這個(gè)服務(wù)就行了,云計算在我看來(lái)是實(shí)現物聯(lián)網(wǎng)的一種途徑,比如說(shuō)云計算提出軟件即服務(wù),什么意思呢?終端用戶(hù)無(wú)需關(guān)心使用了哪些特定的應用軟件和資源,直接得到所需的服務(wù),平臺即服務(wù)是什么呢?指這些應用軟件無(wú)需關(guān)心操作系統以及中間件底層模塊實(shí)際調用和運行,直接獲得所需要的功能;再往下一層,基礎設施即服務(wù),平臺無(wú)需關(guān)心硬件設備的細節www.cechina.cn,直接得到計算和處理資源。云計算為物聯(lián)網(wǎng)的實(shí)現特別為物聯(lián)網(wǎng)軟件系統的實(shí)現提供了一種解決方案,它的理念是服務(wù)用戶(hù),它的核心技術(shù)就是屏蔽底層思路。
物聯(lián)網(wǎng)提出來(lái)以后,一個(gè)非常重要的事就是造成了每一個(gè)物聯(lián)網(wǎng)將來(lái)都會(huì )成為超大規模的系統,所謂超大規模是什么意思呢?大量的感知和受控設備,最高可以達到千萬(wàn)量級傳感器、各種各樣攝像頭,在執行過(guò)程中可以達到含量的計算和通訊進(jìn)程,達到10個(gè)12次方的任務(wù)同時(shí)進(jìn)行控制工程網(wǎng)版權所有,而且使用了超量的非結構化的動(dòng)態(tài)數據,比如照片、聲音、錄像等等,達到什么程度呢?最高達到10的18次方,超量導致什么呢?導致對傳統軟件工程提出了挑戰,傳統軟件工程是什么樣呢?比如咱們現在所有的大的軟件公司,首先精英化,在座各位都是優(yōu)秀的大學(xué)畢業(yè)生,整個(gè)軟件的設計是計劃性,預先規劃所有的需求,然后向下開(kāi)發(fā),這是計劃性,另外整個(gè)開(kāi)發(fā)過(guò)程是封閉的,按照這種方法,最典型的東西就是咱們經(jīng)常使用的Windows,按照50年來(lái)發(fā)展軟件工程方法開(kāi)發(fā)的典型產(chǎn)品,功能模塊大約6萬(wàn)個(gè),代碼6千萬(wàn)行,使用9千名專(zhuān)業(yè)人才,歷時(shí)5年完成,任何一個(gè)在網(wǎng)上的物聯(lián)網(wǎng)甚至不是物聯(lián)網(wǎng)的信息系統的規模都要比6千萬(wàn)行代碼來(lái)得大,比如FACEBOOK,按照我們查的結果,每個(gè)月要上傳60億張照片,要對60億張照片進(jìn)行標注,照片誰(shuí)寫(xiě)的是基礎信息,照片用的攝像技術(shù),照片本身,另外對照片文字解釋?zhuān)阉姆矫鎯热葸M(jìn)行全面的標注和處理,核高基項目搞了四面體模型,實(shí)驗了三年,加工一張照片需要12分鐘,如果按照傳統的方法,Vista的規模,一萬(wàn)人,需要40年才能完成,按照工作量算是41年,實(shí)際上并沒(méi)有用41年,怎么完成的呢?實(shí)際上靠超過(guò)量的用戶(hù)www.cechina.cn,解決辦法是群體模式,FACEBOOK一共有8.5億用戶(hù),如果每個(gè)用戶(hù)都對自己上傳的照片自己加以標注的話(huà),一個(gè)半小時(shí)就把這些事完成了,現在沒(méi)有做到這點(diǎn),1億的用戶(hù)一天也可以完成,這是一個(gè)例子,現在網(wǎng)上對付的辦法就是發(fā)動(dòng)群體做這件事,因此人們就想我們的軟件開(kāi)發(fā)能不能也可以發(fā)動(dòng)群體來(lái)干這件事呢?這就是蘋(píng)果APP Store和谷歌Android Market,Apple2008年7月開(kāi)始,把手機上用戶(hù)程序開(kāi)放,允許70萬(wàn)人參加,谷歌Android Market估計達到45個(gè)手機的應用程序,60萬(wàn)人參加。
軟件應用系統的開(kāi)發(fā)可不可以采用群體方式呢?比如美國TopCoder公司,采用競爭性的群體軟件開(kāi)發(fā)模式,25萬(wàn)名開(kāi)發(fā)人員加入到開(kāi)發(fā)社區,他們承擔了美國在線(xiàn)委托的通訊后端系統的開(kāi)發(fā),TopCoder采用這個(gè)辦法把系統分成52個(gè)部分,然后由社區招標,傳統軟件工程需要1年完成的事他們5個(gè)月就完成了,而且因為是招標,有群體競爭過(guò)程,雖然完成的快www.cechina.cn,質(zhì)量比規定的還好,行業(yè)要求是每千行不超過(guò)6個(gè)錯誤,做完以后經(jīng)過(guò)測試發(fā)現沒(méi)千行只有0.98錯誤。面對超量軟件,群體軟件開(kāi)發(fā)能不能從FACEBOOK應用程序到APP Store應用數據到App Store的應用程序和簡(jiǎn)單的TopCoder服務(wù)程序進(jìn)入云計算模式下物聯(lián)網(wǎng)軟件開(kāi)發(fā)呢?我認為主要解決這么一個(gè)問(wèn)題,第一,超量信息的挑戰,系統超大規模的信息系統,像物聯(lián)網(wǎng)整的這些東西,群體的開(kāi)發(fā)模式是有希望解決超量信息的模式,群體介入以后也會(huì )帶來(lái)安全的問(wèn)題,所以需要有一個(gè)群體的潤色工程,這個(gè)軟件工程做什么事呢?面對超量信息系統使用群體競爭的模式設計和開(kāi)發(fā)安全可靠的物聯(lián)網(wǎng),這是群體軟件工程的目標,對著(zhù)超量信息系統來(lái),最終目的是通過(guò)群體方式達到安全可靠的軟件。理念是什么呢?開(kāi)發(fā)過(guò)程從封閉到開(kāi)放,開(kāi)發(fā)人員從精英走向大眾,開(kāi)發(fā)組織從工廠(chǎng)走向社區,在理念上和開(kāi)源有共同之處,作為軟件工程,開(kāi)發(fā)方法從機器工程到社會(huì )工程,就像城市建設一樣,不能夠全部拆毀然后重新再建,都是在原來(lái)的基礎上不斷進(jìn)化,這也是超大規模系統的特征之一。
開(kāi)發(fā)體制怎樣呢?我覺(jué)得有兩點(diǎn):群體性、大眾化的軟件研發(fā)和計劃性、精英化的軟件整體規劃和管理相結合,群體競爭機制做什么事呢?對軟件資源的形成、組合、測試、維護和服務(wù)起著(zhù)基本的開(kāi)發(fā)、研制的作用。開(kāi)發(fā)原則是什么呢?APP所帶來(lái)的這些東西,原來(lái)使用者和開(kāi)發(fā)者是分離的,現在使用者就是開(kāi)發(fā)者www.cechina.cn,使用者就是設計者,使用者也是維護者,而且這個(gè)觀(guān)念要一直深入下去,不僅僅只是應用程序,包括下層的開(kāi)發(fā)。軟件工程的基本內容:群件的多層體系結構,云計算核心是屏蔽原理,群件組合服務(wù)原理,用戶(hù)身份的多重性原理,開(kāi)發(fā)者競爭選擇原理,競爭性測試原理,對抗性的安全原理。我解釋一下多重性,為什么以前變成分離的呢?比如Windows7上面就是用戶(hù),實(shí)際上之間只有兩層,變成APP Store以后通過(guò)三層解決,把開(kāi)發(fā)環(huán)境開(kāi)放了,任何一個(gè)用戶(hù)都可以使用開(kāi)發(fā)環(huán)境自己開(kāi)發(fā)自己需要的應用程序,至少要三層,怎么保證安全呢?既然用戶(hù)一定要使用開(kāi)發(fā)層,所以鄰層是開(kāi)放的,隔層怎么樣?用戶(hù)不能直接到操作系統里,隔層是屏蔽的,多層結構出來(lái)以后屏蔽原理能夠保證層層都有群體來(lái)開(kāi)發(fā),多層結構允許鄰層開(kāi)放、隔層封閉,原則上就能夠保證安全性。每一層都由三部分組成:一部分是開(kāi)發(fā)環(huán)境,一部分是服務(wù)的形成,叫組合服務(wù)機制,另外一部分是數據庫。
組合原理,首先有基本服務(wù),就是函數,基本函數可以調用,然后由基本函數通過(guò)順序、通過(guò)分支、通過(guò)循環(huán)和并發(fā)、通信、同步機制就可以組成所有的服務(wù)組合,因為等價(jià)于可計算性,凡是程序能夠做到的七個(gè)機制就都可以做到,而且群件多層是多態(tài)層次結構,比如一個(gè)函數,實(shí)數加法和自然數的加法類(lèi)型都是一樣的,但是定義域不同,這塊也一樣,多層結構以后,服務(wù)組合的方式都是一樣的,但是基礎服務(wù)不一樣,因為每一層提供的基礎服務(wù)不一樣,而且基礎服務(wù)部能夠打開(kāi)往下走的。開(kāi)發(fā)者競爭選擇原理,既然是群體,我對開(kāi)源不太懂,核心是每層開(kāi)發(fā)者數量和直接用戶(hù)數量應該遵從二八定律,20%以上開(kāi)發(fā)者作為群體軟件開(kāi)發(fā)必要條件,這樣才能形成競爭環(huán)境。
TopCoder25萬(wàn)人,活躍的開(kāi)發(fā)者4.8萬(wàn)人,相當于注冊人數的20%,來(lái)自204個(gè)國家,其中中國的選手占了23.6%,一萬(wàn)多人,很多人通過(guò)TopCoder參加美國群體軟件開(kāi)發(fā),前途很光明。
謝謝大家!