言 十
編者按:本期繼續刊發言十對“美國21世紀CPS教育報告”的系列解讀文章。文章結合“新工科”建設的理念,對報告關于專業課程規劃與課程分類進行解讀,并提出借鑒和思考。
21 世紀 CPS 教育報告[1-2](以下簡稱“報告”) ,基本按照工程教育專業認證體系[3],符合美國工程與技術認證委員會(ABET)的要求,給出了5個本科專業4年課程規劃。此處“專業課程”是指按照課程分類表(見表1)中的 “專業教育課程”,我們試圖主要是從“辦學者”和“教學者”的角度,結合“新工科”建設的理念,對報告關于專業課程規劃與課程教學方面進行解讀。
“報告”認為,CPS是新興的具有重大經濟和社會效益的工程領域。交通運輸、醫藥、能源、國防和信息技術等主要工業部門,越來越需要一支能夠設計并工程化CPS產品和服務的人才隊伍。這些產品和服務將信息元素(計算硬件和軟件)與物理組件緊密結合在一起,并對它們的交互及對物理環境產生的影響進行管理。美國科學院、工程院、醫學院3家聯合組成專門委員會,邀請來自多個工業領域的業界人士對CPS在工業界中日益增長的重要性和CPS技能需求進行研討,提出了很多意見,CPS教育如何設置課程,委員會最終形成以下指導性意見:
(1)確定了CPS學科的6個基礎:基本計算概念、實體世界的計算、離散和連續數學、交叉應用、CPS系統開發、建模。明確CPS教育超越了傳統的動力系統模型(常微分或差分方程),不僅體現在實體層面的物理影響,而且體現在“信息(Cyber)”與“實體(Physical)”的交叉與交互上。
(2)強調傳感器的特性和原理重要性。傳感器是連接物理和信息世界之間的硬件橋梁,理解傳感器及物理世界的約束,并以適當的方式使用傳感器。程序員需要知道這些原理和通過信號處理技術進行處理,來確保它們開發的CPS正常工作。信號處理所需的原理包括線性信號和系統理論、模擬和數字濾波、時域和頻域分析、卷積、線性變換(如離散傅立葉變換和快速傅里葉變換)、信號噪聲和統計特征、機器學習、決策和傳感器融合。在CPS中,與考慮傳感器的可靠性一樣,對于嵌入式CPU上的這些信號處理技術的實現,實時運行和安全關鍵特性是必須重視的,而經典信號處理課程一般不涉及這些問題。

表1 課程分類表
(3)控制是CPS的主要內容之一。控制理論的相關要素包括網絡、混合系統、隨機系統和數字系統控制技術的穩定和優化。在信息域中特別重要的是對分布式系統的控制和固有延遲的影響。
(4)網絡、無線、實時已深入到我們的經濟和社會中,了解這些主題的基本原理對于CPS工程非常重要。學生需要知道的知識包括:
·通信和網絡。需要理解CPS的物理層原理、協議、分層架構,了解無線通信的實際性能。
·實時。需要了解諸如實時調度理論、程序中的時間語義以及網絡中的時鐘同步等。
·分布式系統。CPS在許多應用中的分布式性質和網絡化應納入CPS教育。即使傳統工程或計算機科學課程涵蓋了分布式系統和網絡化,但這些課程往往不涉及CPS問題。CPS將硬件實現與算法運行的軟件相結合,全部在現實環境中運行。
·嵌入式系統。對嵌入式軟件的原理、編程、算法、軟件設計、方法和平臺(架構和操作系統)進行有力的教學和培訓工作,這些對于開發可靠和高質量CPS系統的信息組件是必需的。
·物理特性。了解并能夠對環境的物理特性建模和硬件平臺非常重要。軟件設計原則應滿足安全性、可靠性、實時性、風險管理、安全需求,這些解決物理世界實際問題的方法應該成為課程的一部分。
·人機交互。人機工程、人為環境控制以及對人類行為反應的理解和計算對于許多CPS來說非常重要。一個重要的設計原則是使CPS易操作、易控制和易維護。類似于其他工程學科,實踐項目和跨學科的團隊合作也是理解和應用核心原理的基礎。
委員會也注意到了目前已運行的系統的差距,例如網絡攻擊的脆弱性以及互操作性差。建議在CPS早期課程中介紹以下特性及相關的設計方法,并引入貫穿到CPS課程和計劃中。
·安全隱私。所有基于信息技術的系統都會受到網絡攻擊。許多CPS系統是非常脆弱的,因為它們處在開放環境中,或以無線通信方式交互。安全和隱私風險技術對CPS系統設計至關重要。
·互操作性。特別是在大規模CPS中,系統將由許多組件構成,這些組件來自于不同供應商,部分可能有不同的實體運行情況。實現CPS的全部目標將需要異構組件和系統之間具有互操作性。而實現互操作性則需要掌握如何定義和使用共同架構、標準化接口和數據標準等方面的知識。
·可靠性和可信性。許多CPS系統將成為我們日常生活的一部分,CPS的實用化要求很高的可靠性和可信性。由于許多CPS設備的計算能力、內存和資源有限,這會帶來一些新問題出現。最好的系統是設計之初就考慮了可靠性(和安全性),而不是在測試期間不斷地修復系統。CPS還需要具備魯棒性,以應對設計之初可能難以量化的不確定性。為了確保這些不確定性能夠得到解決,必須在實施階段跟蹤并處理這些不確定性。
·功耗和能耗管理。一些CPS組件緊湊的尺寸和自主操作,使能耗管理非常關鍵,應該優先設計考慮。
·安全。隨著CPS在日常生活中的應用,確保CPS對人類和環境的操作是安全的非常重要。與這些行為相關的風險應該是可以被評估和管控的。
·穩定性和性能。由于CPS是動態的、隨機的,它的穩定性包含系統的線性或非線性、帶寬、采樣率、系統的極點和零點、模型的噪聲和不確定性,以及傳感器和執行器的局限性(例如噪聲或飽和)。
·人機工程和可用性。人機工程設計、人機環境友好以及對人類行為及反應的理解和計算,對于許多CPS應用來說都很重要。
報告給出了專業課程規劃的重點,以報告中的CPS專業為例,對報告中關于專業教育課程規劃的基本原則,總結歸納見表2。
報告同時還對具體課程內容的設置,給出了明確的要求和范例,以下是報告給出的課程內容的設置范例。

表2 CPS本科專業的專業教育課程內容設計
(1)課程內容設置范例一:
課程名稱:生命攸關應用的嵌入式軟件。
開課學校:賓夕法尼亞大學,Insup Lee,Sanjian Chen。
課程代碼:CIS 541/441。
先修課程:C或Java編程,計算機體系結構或操作系統導論。
課程描述[5]:本課程側重于CPS,重點關注實時問題。CPS是計算和通信與物理過程的集成。嵌入式計算機實時監控和控制物理過程。隨著這些嵌入式計算機越來越網絡化,相信會有革命性的轉變。就像個人計算機已經從文字處理機向信息收集和共享的全球通信設備轉變一樣,嵌入式計算機也將通過感知、監控和控制我們的物理環境,從小型獨立的系統轉變為CPS。
該課程旨在研究構建高可信安全CPS的原理、方法和技術。主題包括需求分析和建模、智能模型、可信案例、危險性分析、實時編程和通信、實時調度和虛擬機、計算機系統的反饋控制、檢驗和驗證以及循證認證。
該課程還將包括一系列的安全關鍵的嵌入式系統實施項目,如起搏器或輸液泵。
課程主題:
1. CPS導論
·CPS應用程序
·特點和挑戰
2.需求、建模和分析
·基于模型的開發
·需要獲取和建模
·狀態機,定時自動機
·屬性和模型檢驗
·用戶心理模型
·架構描述語言
·代碼生成和綜合
3.實現范式和技術
·實時操作系統
·編程范型和語言
·組合與基于反饋的實時調度
·計算機系統中的反饋控制
·虛擬機,監控程序,內核隔離
·組件,嵌入式系統的即插即用功能
·混合關鍵系統
·分布式實時系統概念:排序,全局時間,時鐘同步
·安全和隱私
4.驗證,檢驗和認證
·測試覆蓋和生成
·基于模型的測試
·閉環測試
·運行時監控和驗證技術
·人機交互
·模塊化和循證認證
·危險性分析,保證案例
講義:
1. CPS導論
2.實時嵌入式系統導論
3.實時操作系統,虛擬機,監控程序
4.實時調度:EDF,RM,服務器,優先級反轉
5.多處理器實時調度
6.實時編程語言和范式
7.分布式實時系統:全局排序,全局時間,時鐘同步
8.計算機系統中的反饋
9.醫療CPS
10.起搏器挑戰問題
11.案例
12.醫療器械質量問題——FDA觀點
13.形式化建模和模型檢驗
14.擴展有限狀態機,定時自動機
15.UPPAAL工具集:定時自動機和定時CTL,模型檢驗
16.狀態機的代碼生成/綜合
17.測試,測試覆蓋,測試生成
18.實時測試,基于模型的測試,閉環測試
19.運行時驗證
·架構描述語言,AADL
20.人機交互:用戶界面
21.用戶心理模型
22.項目介紹:起搏器建模和實現,
案例和演示
(2)課程內容設置范例二:
課程名稱:嵌入式系統導論:CPS方法。
開課學校:加州大學伯克利分校,Edward A.Lee、Sanjit A. Sehsia。
課程代碼:EECS 149 / 249A。
先修課程:信號與系統、計算機體系結構、離散數學。
課程描述:課程向學生介紹了與物理過程相互作用的計算系統的設計和分析。這些系統的應用包括醫療設備和系統、消費電子產品,玩具和游戲、輔助生活、交通控制和安全、汽車系統、過程控制、能源管理和保護、環境控制、飛機控制系統、通信系統、儀器儀表、關鍵基礎設施控制(例如電力、水資源和通信系統)、機器人技術和分布式機器人技術(遠程監控,遠程醫療)、國防系統、制造業、智能建筑。
本課程的主題是實際設計與系統模型(包括軟件組件和系統動力學)之間的相互作用。主要重點將放在構建具有實時和并發行為的高可信度系統上。
本課程作為一般本科課程(EECS 149)和碩士研究生課程(EE C249A和CS C249A)。參加研究生課程的學生需要做額外的作業,并對該項目有更高的要求。
本課程包括一系列實驗室實踐,它們最終將成為一個必須涉及課程中不同主題的團隊項目。
課程主題
1.計算模型
·有限狀態機
·線程
·常微分方程
·混成系統
·離散事件
·數據流
2.基本分析,控制和系統仿真
·仿真
·可達性分析
·控制器綜合
·連續時間系統估計
3.與實體世界交互
·傳感器/執行器建模和標定
·多實時流的并發性
·軟件中非精確數據處理
4.嵌入式平臺
·實時操作系統
·執行時間分析
·調度
·并發性
5.分布式嵌入式系統
·協議設計
·可預測網絡
·安全性
講義:
1.CPS概述
2.傳感器和執行器
3.基于模型的設計和連續動力學
4.內存體系結構
5.輸入和輸出
6.模態行為和離散系統建模
7.擴展和時間自動機
8.狀態機組成
9.分級狀態機
10.規約和時間邏輯
11.狀態機比較
12.可達性分析
13.CPS中的時序邏輯
14.多任務
15.操作系統,微內核與調度
16.調度反轉
17.執行時間分析
18.同步,反應和數據流模型
19.嵌入式系統的安全性
20.網絡化嵌入式系統
分析報告中關于專業教育課程規劃與內容設置的論述,結合其他相關信息資料,我們認為有以下幾點值得借鑒和參考:
1) 課程及課程內容的設置遵循工程教育與專業認證規范。
以社會需求為導向,充分了解企業的需求,認真聽取企業專家的意見。報告介紹了參加研討會的企業主要代表,其中包括:
(1)汽車工業的福特研發及高級工程部提出,為什么汽車工業界對于CPS人才的需求越來越多?盡管基礎的汽車工程知識(如動力傳動系,燃燒和排放)仍然是根本,但汽車工程師們還需要能夠設計、開發和測試包括通信、傳感以及更復雜計算機控制系統。福特公司希望有朝一日加入公司的員工能具備更強的CPS基礎。
(2)航空交通業的霍尼韋爾公司認為,在航空交通運輸業中,CPS扮演著越來越重要的角色,許多CPS密集型系統(例如飛機、機場、空中交通管制、維護和乘客服務)構成了空中交通環境。
(3)農業和建筑設備約翰·迪爾公司的系統架構師指出,農業和建筑設備業正變成CPS密集型行業。例如,該公司生產部分或完全自動駕駛汽車,提供車輛間無線MESH和車載信息服務連接,遠程更新和產品故障診斷,并正為其產品收集的農業數據開發新的應用。此外,現在的一個大型的工業化農場是一個系統中的系統(SoS),需要一套系統的方法來開發和部署產品與服務,這與關注單個產品的傳統農場截然不同。
(4)醫療器械的美敦力公司認為醫療器械越來越強大的健康功能,包括監測和診斷患者健康狀況,維持生命(起搏器),或者通過減輕疼痛感來改善身體狀況,而當今的工程師們并沒有具備開發未來醫療器械所需的全部能力。
(5)航空航天的噴氣推進實驗室(JPL)負責設計、建造、部署和運行航天器系統,主要項目包括火星科學實驗室“好奇號”火星車和“卡西尼”探測器等。噴氣推進實驗室發現很難找到已經擁有所需CPS技能和其他工程技能的畢業生,打算通過參與實踐項目和高級工程師指導的形式來培養新員工。
(6)CPS開發工具的SimuQuest公司,該公司是一家軟件公司,開發的產品支持基于模型的系統工程。公司明確提出他們所尋找的員工需具備的關鍵知識技能:受控對象建模、算法設計、控制系統設計、理解網絡和工程流程。CPS技能還有一個新的重點,包括非確定性、時序和延遲管理,以及協同仿真。
由此可知,來自企業的意見,對CPS教育的課程規劃起了非常重要的作用。
2)課程綱要(syllabus)是一門課程最重要的文件。
查閱報告列出的兩門課程的網頁[5-6],我們可以看到,任課老師編寫的課程綱要內容完整嚴謹,其中包括本課程的目的、使用的教科書和參考書目、課程內容、進度安排、作業要求和提交時間、考試日期、成績結構、評分標準、學科政策(包含考勤、遲交功課等)和學術政策(處理作弊抄襲的政策等)等,綱要里還要包括授課老師和助教的聯系方式和答疑的時間和地點。它既是“課程”這個“產品”的說明書,也是師生之間的一個“契約”,對學生來說只要遵守課程綱要的要求通過這門功課的問題就不大。而對教師來說,課程綱要是指導也是一種約束,教師在教學過程中一般不得隨意更改綱要所列出的教學內容和教學時間安排,考試也只能測驗其中包括的內容。
3) 教學過程嚴格,教學方法與模式多樣。
以加州大學伯克利分校的“嵌入式系統導論”課程為例,一門課程兩個代碼,課堂授課不分本科生和研究生,但要求不同,區別體現在“做額外的作業,并對該項目有更高的要求”,這在國內(指內地,下同)幾乎難以行通。但這種教學組織模式卻是真正的“現代化”,真正體現了“效率”,體現了“做中學,學中做”的現代教學模式。同時還可以看出,課堂授課對一門課程的教學而言,并非是最重要的,而“做”才是最重要的。如他們普遍采用或者是小班“研討式”授課,或者是采用“大班授課,小班研討”的教學模式。這與國內的教學傳統理念有很大差異,因為我們對教學的考核,計算教師上了多少節課是首要的,最重要的,在很多大學甚至是唯一的。并且國內大學對教學的基本資源的建設和管理也主要集中在教學樓(教室)和課堂授課。因此,從教學的理念到教學的模式,我們基本上還停留在農耕時代。加州大學伯克利分校的這種教學模式其實有其理論依據,如圖1所示的“學習金字塔”。雖然圖中的具體數據并不一定科學可靠,但對學習者而言,6種不同的教與學方法所可能獲得的效果,實踐證明基本趨勢是符合的。
我們還可以了解到,美國一些好的大學,課程的考試特別多,每周都有大大小小的考試,課外閱讀材料多,實驗多,每次課堂的作業量很大。這些在國內幾乎不可能。

圖1 學習金字塔
4)強調基于項目的學習(project-based learning)。
報告認為基于項目的學習對CPS教育至關重要?;陧椖康膶W習在目前大學工程課程中越來越多。CPS特別適合“做中學”,在實驗室而不是在教室學。在實驗室中教師與學生接觸,促進學生的創造力、團隊合作和最終產品的有效完成。學生選擇真正的實際問題,在團隊合作中為這些問題建立完整的典型的解決方案。學生構建硬件,通過現有的硬件組件組成新的硬件系統,并學習將硬件與有效的軟件集成,以形成真實問題的解決方案。除課堂項目外,學生還通常需要完成設計課程項目(capstone projects),整合具有多領域專業知識的學生團隊,合作進行大型項目。
5) 教師的學術研究對課程教學非常重要。
報告所列兩門課程,雖冠以“導論”之名,但課程實際內容的廣度、深度及創新性,都是非常強的。而開設這兩門課程的主講教師,加州大學伯克利分校的Edward A. Lee和Sanjit A.Sehsia,賓夕法尼亞大學的Insup Lee和Sanjian Chen,都是CPS領域國際上的著名學者,他們開設的課程內容,很多就是他們多年科學研究的成果??梢?,在美國這些一流大學,就沒有“重教學”還是“重科研”這類問題。對大學教授而言,做研究首先是為了教學,好的教學必須依靠自身深入的學術研究,沒有研究的教學不可能產生出高水平的教學效果。這與我們教學中的“排課”有本質的不同,我們是“分配教學任務”,并不真正關心主講教師對該課程所涉及的核心內容是否有研究。于是,“照本宣科”就成常態之勢。
6) 教學投入充足,極為重視本科教學,認為教授的天職就是教學。
而科研是屬于教授的個人興趣與愛好。學校當然支持教授的研究工作,因為沒有研究的教學,教學的水平和效果無法保證,但絕不能因為科研而損害教學的利益。許多教授的工資是按本科教學的工作任務發放的。教授必須按照本科的教學標準和要求完成教學任務,否則就有可能拿不到工資。對課程本身投入巨大,學校和院系在本科生課程投入上毫不吝嗇。據了解,MIT電子工程系每年在一門課程上的投入就高達30萬美元,少的也有10多萬美元。這些經費并不包含教師的工資,是純粹投入到課程本身的,分配給各個學生小組來使用。
7) 非常完善的 TA(Teaching Assistant)制度。
如美國CMU的計算機系統導論課程,一門課程有3個教師,12個TA,學生不過200。TA對一門課的教學起到非常大的作用。國內還很少有完整TA制度的大學。國內大學有“三助”制度,但這與現代大學的TA制度不是一回事。
8) 重視對課程教學質量的評估與監控。
美國好大學極為重視課程教學質量評估工作,有成熟的體系和方法,如同行之間的評估、高級職員對低級職員的評估、學生對老師的評估等。而課程的評估也是工程教與專業認證的重要內容,而國內在這方面幾乎還是空白。
我們對報告關于專業課程規劃與教學方面的解讀,主要是從“辦學者”和“教學者”的角度展開的(我們將在后續的文章中著重從學生的角度進一步解讀報告)。報告對我們建構“新工科”專業課程體系,有非常重要的借鑒意義。“新工科”之所以“新”,必須落實到具體課程的設置與課程的教學。國內在專業課程的設置上,考慮專業的學科屬性和要求多,考慮企業或社會的需求太少,“新工科”建設應著力彌補這方面的不足。國內在專業課程的教學上,實際狀況非常嚴峻,改革已刻不容緩。“新工科”建設或許是個契機。
我們在保證本科教育質量方面,的確還存在著相當大的差距。這個差距可能不是與世界一流大學的差距,而是與我們自定培養目標的差距。改革開放40年來,世界先進大學的樣子我們基本上都學來了,學分制、GPA(平均績點)、自由選課、彈性學制、教學評估、專業認證等,但實際效果又如何呢?我們似乎打破了計劃經濟時代形成的教學體系,但還沒有形成適應現代社會的新的教學體系。從微觀上看,課程的教學模式與方法,基本上還停留在農耕時代。從宏觀上看,什么樣的現代大學治理機制適合我們,可能并沒有完全解決,或有待進一步完善。如果我們的課程教學質量得不到基本保證,專業教育質量從何而來?沒有好的教育質量,一流大學的奮斗目標能實現嗎?
參考文獻:
[1]The National Academies of SCIENCES ENGINEERING MEDICINE[EB/OL]. [2017-11-16]. http://www.nap.edu.
[2]言十. 美國 21 世紀 CPS 教育報告簡介[J]. 計算機教育, 2018(1): 2-9.
[3]中國工程教育專業認證協會.工程教育認證標準[EB/OL]. [2018-1-11]http://www.ceeaa.org.cn.
[4]Carnegie Mellon University. Home[EB/OL]. [2017-11-20]. https://www.cmu.edu.
[5]Penn Engineering. Teaching[EB/OL]. [2017-11-16]. http://www.cis.upenn.edu/~lee/home/teaching/index.shtml.
[6]Chess. Introduction to embedded systems(fall 2015)[EB/OL]. [2017-11-18]. https://chess.eecs.berkeley.edu/eecs149/index.html.