本刊記者 徐芳芳
置身軟件工程領域三十載“我心無悔”
——記云南大學數據驅動的軟件工程省創(chuàng)新團隊帶頭人李彤
本刊記者 徐芳芳
近20年來,計算機軟件已經作為現(xiàn)代科學研究和解決工程問題的基礎以及管理部門、生產部門和服務行業(yè)中的關鍵因素,滲透到了各個領域,成為當今世界不可缺少的一部分。
2001年年末,為了加快國家新型產業(yè)——軟件產業(yè)的成長步伐,我國在全國高校中選拔出35所軟件學院建設國家示范性軟件學院,云南大學軟件學院便位列其中。
從學院建設之初到現(xiàn)在,李彤與其已攜手走過了15個年頭,作為云南大學軟件學院院長,云南大學數據驅動的軟件工程省創(chuàng)新團隊帶頭人,李彤帶領團隊基于新時期物聯(lián)網、云計算等新興IT技術和服務的興起,使軟件工程遇到了新的挑戰(zhàn)這一現(xiàn)狀,依托國家Linux技術培訓與推廣中心、云南省軟件工程省級重點實驗室、云南省云計算省級工程研究中心,以“研究突出原創(chuàng),技術追求創(chuàng)新,成果促進產業(yè)”為指導,在軟件演化過程、業(yè)務過程、智能軟件工程、軟件工程開發(fā)等4個方向展開了一系列探索,取得了許多優(yōu)秀研究成果。現(xiàn)如今,他們仍在這一領域中孜孜不倦,不斷前行著……
在頒獎臺上講話
1978年,中國共產黨第十一屆三中全會召開,正式確立“對外開放、對內搞活經濟”的重要方針,中華民族走向繁榮之門就此打開。而在兩年后,中國IT產業(yè)也開始萌發(fā)新氣象,眾多科技人員開始進行計算機軟件研發(fā),自那時起,中國的計算機軟件事業(yè)進入了全新的發(fā)展時期。
在時代的浪潮之下,1979年,高中畢業(yè)的李彤開始進入云南大學數學系計算數學專業(yè)(計算機軟件方向)攻讀學士學位,并在4年的學習中打下了扎實的專業(yè)基礎。本科畢業(yè)后,李彤進入了云南省計劃委員會電子計算站工作,在兩年的工作中,憑借自己的優(yōu)秀與努力,成功成長為一名助理工程師。1985年9月,為了能夠在專業(yè)方面有更多的成長與進步,李彤選擇繼續(xù)回到云南大學計算機科學系,攻讀計算數學專業(yè)(計算機軟件方向)碩士學位。碩士畢業(yè)后,李彤進入了云南省經濟信息中心工作,在他的不斷努力下,李彤在專業(yè)方面積累了豐富的經驗,創(chuàng)造了一系列優(yōu)秀的科研成果,并于1992年10月成功榮升為云南省經濟信息中心計算機工程部主任、云南省信息產業(yè)公司計算機工程部經理。
1994年,參加工作多年的李彤,秉承著為祖國培養(yǎng)更多計算機軟件領域人才的初衷,回到了自己的母校云南大學計算機科學系,進行教學與科研工作。2002年4月,云南大學軟件學院成立,李彤開始擔任云南大學軟件學院主持工作的副院長。在這期間,李彤仍沒有停止對于專業(yè)知識的積累與探索,并于2003年7月前往英國De Montfort大學計算機科學與工程學院攻讀軟件工程專業(yè)博士學位。2007年起,李彤作為云南大學軟件學院院長、云南省軟件工程重點實驗室主任,領導著云南大學數據驅動的軟件工程省創(chuàng)新團隊以軟件工程大數據為基礎,在軟件演化過程建模與行為驗證,過程建模語言的設計與形式語義,模型一致性的證明與檢驗等方面不斷開拓,取得了一批重要的創(chuàng)新成果。
當今社會,信息技術的爆炸式發(fā)展,導致現(xiàn)在的計算機發(fā)展模式已經無法很好地滿足現(xiàn)如今這種大量的信息處理,從而造成了對于信息的處理速度低下,而正是為了解決這樣一個處理匱乏的問題,云計算應運而生。在學術界,云計算成為了當前計算機領域的研究熱點之一;在工業(yè)界,由于Google、Amazon、IBM、Microsoft等全球領先的 IT企業(yè)的大力推動,云計算已是大勢所趨。
云計算的出現(xiàn)和快速發(fā)展,一方面,使越來越多的成功軟件系統(tǒng)變成了遺產系統(tǒng),軟件演化的重要性和普及性越來越強;另一方面,使軟件演化的環(huán)境開始從分布式逐步走向集中式。如何在開放、動態(tài)、多變、集中的云計算環(huán)境下有效支持軟件系統(tǒng)的演化是軟件工程面臨的一項重要挑戰(zhàn)。2012年,李彤團隊所申請的國家自然基金項目“軟件演化過程的行為驗證研究”,就是針對這一問題所展開的。
“系統(tǒng)科學”博士后流動站首名博士后入站儀式
李彤團隊認為:支持軟件演化的軟件過程(以下簡稱軟件演化過程)建立了軟件演化的整體任務框架,是改進軟件演化質量、提高演化效率、降低演化成本的重要技術,這一觀點受到了學術界廣泛關注和重視。與傳統(tǒng)軟件過程相比,軟件演化過程具有迭代性、并行性、交錯性、反饋和多層性等特征。它不僅可以支持軟件開發(fā),還可以支持軟件演化。基于此認識,李彤團隊在已結題的國家自然科學基金項目“軟件演化過程研究”支持下,基于基本Petri網,擴展面向對象技術Hoare邏輯,提出了軟件演化過程元模型EPMM(Software Evolution Process Metal-Model),以及一系列建模方法、技術和工具,有效地支持了軟件演化過程的形式建模。但是,基于EPMM建模產生軟件演化過程模型并不是軟件過程建模的終點,在此基礎上,還需要對過程模型的一致性、正確性進行檢驗,以確保過程模型符合軟件人員的期望 、增加軟件人員對過程實施的信心。因此,軟件演化過程驗證成為了擺在科學家面前的一個亟待解決的重要問題。
在軟件過程領域,建模和驗證是兩大關鍵活動。軟件過程建模的目的是建立過程模型,通過對過程模型的認識和分析,增強對過程本身的理解,進而指導和控制實際軟件開發(fā)。軟件過程驗證的目的是確保過程模型與用戶期望的一致性,提高過程實施的有效性,以充分發(fā)揮過程模型對實際軟件開發(fā)的控制和指導作用。與軟件過程建模相比,有關軟件過程驗證的研究相對較少?,F(xiàn)如今,軟件過程驗證研究大致可以從驗證屬性和驗證方法兩個方面進行總結和比較,但是在屬性方面,現(xiàn)有的過程驗證主要集中在結構和性質層面,方法以語法檢驗和模型檢測為主,缺乏行為驗證;在方法方面,現(xiàn)有過程驗證方法可以支持結構驗證和性質驗證,但不能支持行為驗證。
與軟件學院教師合影
對軟件過程驗證而言,結構驗證和性質驗證是基礎,行為驗證是更高層次,可以確保過程模型的行為與過程規(guī)約一致,進而提高過程模型的可靠性。鑒于目前軟件過程驗證缺乏行為驗證的不足,李彤課題組針對EPMM建模產生的軟件演化過程模型建立支持行為驗證的理論基礎,對Petri網和進程代數進行交叉應用,提出了基于Petri網的進程代數驗證方法,支持軟件演化過程模型結構、性質和行為的形式驗證。不僅具有現(xiàn)實意義,又符合軟件過程研究發(fā)展的總體趨勢,為軟件過程驗證的進一步研究提供新方法和理論依據。
2014年,李彤團隊又成功申請了國家自然科學基金面上項目“云計算環(huán)境下雙模型驅動的面向軟件動態(tài)演化的建模與分析”,在這一領域展開了新的探索。
眾所周知,云計算的飛速發(fā)展,使得軟件面臨的環(huán)境產生了較大的變化:從傳統(tǒng)的相對靜態(tài)、封閉、可控的環(huán)境,演變?yōu)樵朴嬎悱h(huán)境下更加開放、動態(tài)和多變。軟件面臨的環(huán)境的這種變化,一方面,造成了傳統(tǒng)的軟件理論、方法和技術在面對云計算環(huán)境下的軟件時,將不得不面對一系列的困難與挑戰(zhàn);另一方面,新的環(huán)境為解決傳統(tǒng)環(huán)境中難以解決的某些問題,提供了傳統(tǒng)環(huán)境中無法提供的有力支持和新的解決思路,同時為研究新的軟件理論、方法和技術提供了難得的機遇。
為了深入地研究云計算并降低復雜性,美國國家標準與技術研究所提出了被廣泛接納的分層方法,根據所處的不同層次,按照服務類型將云計算分為3個層次:SaaS(Software as a Service,軟件即服務)、PaaS(Platform a s a S e r v i c e,平臺即服務)、IaaS(Infrastructure as a Service,基礎設施即服務)。SaaS體現(xiàn)了“軟件服務化,服務網絡化”的理念,服務提供商以一對多的方式提供軟件管理和維護服務,使得軟件以一種新的形態(tài)服務于社會各個層次各個行業(yè),這種新的特質也給軟件演化帶來了新的挑戰(zhàn)。
楊芙清院士指出,構造性和演化性是軟件的兩個基本特性。云計算環(huán)境下的軟件作為傳統(tǒng)軟件的自然延伸,同樣具有這兩個基本特性。李彤團隊所研究的這一項目所關注的重點就是軟件的演化性,尤其是動態(tài)演化性。
軟件是對現(xiàn)實世界中問題空間與解空間的具體描述,是客觀事物的一種反應?,F(xiàn)實世界是不斷演化的,軟件系統(tǒng)面對的問題域也是不停地發(fā)展變化的,這使得用戶期望軟件系統(tǒng)能夠很好地適應外界要求的變化。軟件演化一般可以分為靜態(tài)演化和動態(tài)演化。圍繞動態(tài)演化,動態(tài)配置是動態(tài)演化實施的主要手段和活動。由于云計算環(huán)境下軟件服務的“一對多”“多租戶”“按需使用”“隨處可用”等特性,決定了SaaS軟件不能在停機狀態(tài)下實施演化,否則將使大量的租戶受到影響甚至是重大損失,從而也直接影響到軟件提供商的利益。因此,在云計算環(huán)境下,必須盡可能以動態(tài)演化的方式,通過實施動態(tài)配置,來實現(xiàn)對軟件錯誤的修正、功能的完善、性能的優(yōu)化等演化需求,以降低動態(tài)演化實施的代價。同時,也只有可動態(tài)演化的軟件系統(tǒng),才能更好地適應開放、動態(tài)和多變的云計算環(huán)境。可見,在云計算環(huán)境下,對于軟件的動態(tài)演化,其重要性和迫切性較傳統(tǒng)的計算環(huán)境更加凸顯。
然而,即使在傳統(tǒng)的相對靜態(tài)、封閉、可控的環(huán)境下,實施動態(tài)演化也并非易事:一方面,缺乏專門針對動態(tài)演化的軟件設計方法論,導致現(xiàn)有的待演化系統(tǒng)的動態(tài)演化性普遍不高,從而降低動態(tài)演化的易操作性;另一方面,支持動態(tài)演化實施的基礎設施的缺失,使得動態(tài)演化實施缺乏支持,是導致動態(tài)演化不易操作的另一個重要原因。在動態(tài)演化理論方面,還面臨著“行為相關性問題”及“一致性問題”這兩大挑戰(zhàn)。
針對這些問題,李彤項目組提出了一種雙模型驅動的面向軟件動態(tài)演化的建模與分析方法。首先,針對云計算開放、動態(tài)和多變的新環(huán)境,提出面向動態(tài)演化的SaaS雙模型建模方法:該方法從演算模型和結構模型兩個視角對SaaS軟件進行建模,并以行為映射為準則保證兩類模型的可追蹤性;其次,云計算的出現(xiàn)使得大量軟件運行在集中的服務器上,項目將對其繼續(xù)延伸——利用云服務化的各種功能開展動態(tài)演化的分析和實施,這些功能被集成到PaaS平臺的服務之中,對其抽象提出面向PaaS的云演化管程機制模型;最后,基于云演化管程機制、由雙模型驅動,提出解決動態(tài)演化分析和實施過程中的部件相關性分析和一致性保持兩大問題,進而為保證云計算環(huán)境下軟件動態(tài)演化實施的可靠性奠定基礎。
“科學研究與團隊建設、人才培養(yǎng)并行”,這一直都是李彤團隊所踐行的理念。2016年,李彤所領導的“數據驅動的軟件工程創(chuàng)新團隊”成功入選為云南省創(chuàng)新團隊,成為了云南大學信息領域申報成功的第一個省級創(chuàng)新團隊。同時,團隊申報獲準了云南省軟件工程重點實驗室、系統(tǒng)科學博士后流動站、國家CDIO人才培養(yǎng)模式創(chuàng)新實驗區(qū)、國家軟件人才國際培訓基地等重要國家級和省部級教學科研平臺,為科學研究和人才培養(yǎng)提供了優(yōu)質環(huán)境。
參加2016科學中國人年度人物盛典
其實,這一由云南大學軟件學院的20位教師組成的團隊,早在2009年就成功入選成為了云南省省級教學團隊。一直以來,團隊高度重視人才培養(yǎng),注重科研反哺教學,申報獲準了《軟件工程》國家精品課程和國家精品資源共享課程等具有重要影響力的課程;主持了6項國家級人才培養(yǎng)質量工程項目,成果曾獲得了國家級教學成果獎二等獎。
今后,他們還將以“研究突出原創(chuàng),技術追求創(chuàng)新,成果促進產業(yè)”為指導思想,為獲取原創(chuàng)性、標志性的科研成果,開發(fā)具有重要應用價值的軟件產品,培養(yǎng)更多的軟件產業(yè)人才,打造一支軟件工程領域具有國際影響力的學術團隊而努力。
時光流轉,萬事萬物都在變化,唯一不變的便是李彤對于科學研究的那份執(zhí)著。從踏進大學校園的那一刻到現(xiàn)在,李彤始終在軟件工程領域篤定前行著,并取得了諸多優(yōu)秀成果。因為他在這一領域所做出的突出貢獻,李彤還被評為了《科學中國人》雜志2016年度人物。
回首過往,李彤的科研路走得堅定而踏實;面對未來,他內心仍涌動著一股力量。30多年來,正是這股力量,激勵著他,在科研之路上不忘初心,無悔前行!