言 十
NSF在支持CPS研究10余年的基础上,开始探索CPS的教育和培训要求。作为探索的一部分,NSF请美国国家科学院、工程院、医学院研究此课题,组织研讨会。参加研讨会的有包括麻省理工学院、斯坦福大学、哈佛大学、加州大学伯克利分校、卡耐基梅隆大学、哥伦比亚大学、乔治亚理工学院在内的多所世界著名大学,以及包括谷歌、IBM、微软、洛克希德·马丁、霍尼韦尔、福特汽车、雷神技术等在内的多家大公司。由美国国家科学院、工程院、医学院3院共同合作成立的“21世纪CPS教育委员会”编制中期报告和最终报告,审查CPS的教育需求和教育内容。
该报告研究了CPS这一新兴领域的知识内容及其对工程和计算机科学教育的影响,更普及的工程教育未来,如何使学生克服障碍完成相应的科学、技术和工程学位;研究了目前和将来的CPS教育需求,阐述了美国21世纪将有一批具有CPS专业人才的愿景;提出了发展师资力量、学科与专业发展战略,课程设置方案,核心的、跨领域的及特定领域的知识,与CPS相关的多个学科,以及如何促进多学科的学习和工作,关注本科教育,同时考虑对研究生教育、从业人员培训和认证、社区学院、中学基础教育及非正式教育的影响;强调了CPS科学、工程和技术人员所需的技能以及考虑有关CPS概论课程的更广泛需求。
除了“概要”一节,报告分为四个部分,第一部分探讨了CPS教育的需要;第二部分强调了开发CPS的人员所需的基本知识和技能;第三部分提供了CPS教育中如何将这些基础纳入各种课程的范例;第四部分讨论了如何开发并制度化课程体系。
报告的目录见表1。
表1 报告的目录
报告系统描述了CPS人才需求的现状与前景,提出CPS人才培养的多种方式与方案。
CPS是新兴的具有重大经济和社会效益的工程领域。交通运输、医药、能源、国防和信息技术等主要工业部门,越来越需要一支能够设计并工程化CPS产品和服务的从业人员队伍。虽然很难量化具体的人才需求,但可以肯定的是需要更多具有CPS知识和技能的工程师。
来自汽车、农业、医疗设备、航天以及大型工业集团和CPS工程软件工具供应商等行业企业人士的报告表明,这些行业急需拥有CPS工程技能的人才。由于缺少足够的具备CPS技能的人才,一些产品无法被研发出来。还有一些来自工业界的专家指出,如果有更多受过CPS教育的求职者可用,那么他们公司的员工将被重组。
考虑到CPS在整个工业界的普及,无论他们是否认为自己是这方面的专家,都有非常多的工程师正围绕着CPS工作。许多人并没有接受过CPS方面正规的教育或培训。当今世界已有非常多的系统依赖于CPS,因此必须把发展CPS学科及提供更专业的教育和培训放到优先位置。
开发高效的CPS解决方案需要合理地组合工程师队伍,包括设计实现复杂功能的开发人员,以及部署和维护具有长生命周期CPS解决方案的技术人员。工程项目本质上就需要具备不同技能的专家进行协作,CPS项目也是如此。
未来的CPS工程师队伍应包含以下几类:
(1)基础领域工程师(如电气和计算机工程、机械工程、系统工程和计算机科学);
(2)特定应用领域工程师(如航空航天和土木工程);
(3)专注于跨领域的知识和技能的CPS工程师(即信息技术领域和运行于物理世界的物理系统)。
对CPS人才的培养,报告提出7种模式:①将CPS融入K—12(美国的中学教育)基础教育;②职业和社区学院项目;③将CPS融入工程学和计算机科学的概论课程;④本科阶段设置一门或多门CPS概论课程;⑤涵盖CPS核心内容的特定领域的学位项目;⑥本科级别CPS学位;⑦硕士级别CPS学位。
报告认为CPS是一个新的学科,同时认为已存在一个CPS工程师职业的人才大量需求,因此可以建一个新专业。
报告给了我们一个启示,新专业设置有两个基本前提:
(1)是否已成为一个独立的学科。通过对CPS研究10年后,美国认为CPS是一个新学科。
(2)是否有足够多的职业需求,是考虑职业而不是产业或产品需求。一种职业就业不限于某个行业或产业。美国认为CPS是一个新工程师职业,并没有突出CPS是个产业。
基于以上两个前提,所以美国认为可开设本科与研究生CPS新专业。
CPS是一个新兴的学科。如何开发一个可验证的具有良好可靠性和安全性的大型系统所需要的理论、知识和技能,是这一学科的核心目标。CPS包含嵌入式系统、软件工程、控制系统、网络和系统工程等学科的组成部分,因此,这是个新兴的交叉学科。把CPS定义为一个新的学科,国内业界有不同的看法,本文不讨论这一问题。报告提出CPS这一新专业,是在“CPS是一个新兴的学科”这一前提下提出的,即经历了10余年的研究,业界已基本达成共识,再提出新专业的具体设计方案。
基于对现有课程、项目和教学材料的考察以及行业专家的意见,报告系统总结了作为CPS工程师所必需的知识体系和能力要求。
1)CPS原理。
CPS将工程和物理世界的应用、计算机工程学中的硬件、计算机科学中的信息世界三者联结在一起。物理世界的基本原理包括物理学、数学建模、分析、算法和系统设计,并处理其相关的不确定性和风险。计算机工程与计算机科学(信息)世界的原理涉及嵌入式计算和通信硬件系统、软件编程及网络。由于传感器是物理和信息世界之间关键的硬件桥梁,因此了解传感器的特性、在现实世界中的行为以及对其产生的信号进行处理的技术非常重要。控制理论是CPS的重要基本原理,相关要素包括稳定性、优化以及如何控制分布式数字系统。
2)CPS专业的知识体系。
根据以上基本原理,报告确定了CPS专业的知识体系。
(1)基本计算概念,除了几门入门编程课程之外,还包括嵌入式计算体系结构、数据结构与算法、自动机理论、软件工程等内容。
(2)面向实体世界的计算,包括理解实体世界的性质特性、实时嵌入式系统、能量及存储等计算资源的约束。
(3)离散和连续数学,除微积分外,还有微分方程、概率和随机过程、线性代数等。
(4)传感、驱动、控制、通信及计算的交叉应用。这些应用体现出物理—信息世界的交互在CPS中的核心地位,也反映了实时约束条件下对通信网络、传感、信号处理及驱动系统进行控制的重要性。
(5)控制、计算和通信融合的异构动态系统建模,重点在于不确定性和系统异构性,包括线性和非线性模型、随机模型、离散事件、混合模型等技术,以及基于优化理论、概率论和动态规划的相关设计方法。
(6)CPS系统开发,尤其是安全关键系统、高可信系统和弹性系统的开发,需要具备“初始需求→测试→认证→在线使用”整个产品生命周期的视角,包括形式化验证和检验程序以及能够适应系统演化的适应性设计。
(7)CPS系统特性,许多CPS系统是大型、复杂且安全关键的。成功地开发此类系统,需要掌握关于怎样使系统具有以下特性的相关知识:信息安全及隐私;互操作性;可靠性及可信赖性;功耗和能耗管理;安全性;稳定性及性能;人的因素及可用性。
除了作为一个工程类专业所要求的能力以外,CPS专业还有补充的能力要求。
(1)工程系统日益增长的规模和复杂性,意味着工程师需要与多学科专家进行越来越多的合作。“软”技能——如沟通、灵活性、团队合作及多学科合作能力,对CPS工程尤其重要,因为这项工作本质上是跨学科的。
(2)科学和工程学知识的频繁变化与更新,以及CPS相关新知识的快速出现,要求CPS课程和项目除了有具体的技术和方法外,还需要强调可持续性的学习和批判性的思维。
(3)与CPS相关的工程学教育的另一个趋势是企业家精神的融入。为了在市场和业务压力下取得成绩,工程师们应该具备企业家精神。对于毕业后不久从事创业的工程师来说,创业教育能使他们在产品设计、开发、原型设计、技术趋势和市场分析等方面具有扎实的经验。这些技能有助于他们在起步中获得成功。
基于工程教育专业认证体系,报告给出CPS专业的学士学位(本科)模块式课程计划,见表2。
表2 CPS专业的学士学位(本科)模块式课程计划
课程结构简单,通识教育与专业教育并重且边界清楚。按照国内课程划分通常规则,通识教育部分(数学与自然科学、社会科学与人文学科,其中的微分方程、离散数学、逻辑学,国内一般算专业基础课)约15门课程,专业教育25门课,即通识教育约为3/8,专业教育约为5/8。专业教育课程中有社会和职业伦理方面的课程,这很符合工程教育与专业认证的要求。
课程门数少,4年共40门课程,没有国内大数量学分的“毕业设计”课程。美国的大学8个学期都开课,一般都是三学期制,每学期学生修课一般都超过4门,而国内大学每学期学生修课一般都超过6门。
基于项目的学习在目前大学的工程课程中越来越多。CPS是交叉学科,涉及问题的复杂性强,因此特别适合基于项目的学习,做中学,学中做。持续地针对实际问题进行系统的学习是教学的关键。现行课程大纲的常见做法是包括课外作业、考试和项目。课程项目旨在通过融合课程中引入的多个概念和知识来解决具体的现实问题;而基于项目课程教学,学生要选择真正的实际问题,在团队合作中为这些问题建立完整的典型的解决方案。学生构建系统,通过现有的系统组件构造新的系统,并学习将硬件与有效的软件集成,以产生真实问题的解决方案。除课堂项目外,学生还通常需要完成高级课程项目,强调基于项目的学习课程对CPS教育至关重要。
开展面向本科生的与时俱进的CPS教育,需要对这个新兴交叉学科投入巨大的师资力量。CPS不仅跨学科,而且处在多学科的交叉点上。教授基础性、专业性或基于工程的CPS课程的教师,需要对CPS所涉各种学科都有所了解。CPS教师不仅应在CPS的某一方面有专长,也应有能力将他们的专长与完整的CPS系统中其他方面的知识,以及特定领域的应用需求这三者结合起来。
从长期看来,理想的教师招聘将要求:①CPS学位或专业毕业;②有从事CPS研究的经历;③有CPS技术行业经验的专业人士。
工业界在发展CPS课程项目中的作用,同样也发挥着重要作用。工业界可能扮演的角色包括:①鼓励行业专家以客座讲师、兼职和访问教员等身份参与其中来支持CPS项目的发展;②提供关于CPS课程及课程体系设计的持续意见反馈,为学生在工业界实习和工作做准备;③提供财务或实物支持,用于开发课程材料、项目和先进的实验平台。
报告给出一个硕士学位课程计划。课程分为所需的核心课程和选修课两个模块,还需要完成一个项目,这种项目要体现出设计一个能在现实世界中可靠工作的CPS系统所面临的挑战。硕士学位课程模块见表3。
表3 CPS硕士学位课程模块
报告还提出将CPS融入一些传统的本科工程专业的课程方案,相关的专业有土木工程、机械工程、电气工程、计算机科学等,同时确保更符合工程教育专业认证规范。CPS融入领域专业课程的程度因学科而异。本科土木和机械工程课程要求学生在前两年内主要还是数学、自然科学和基础工程与科学课程。第3年主要是将学生引导到各自学科的具体专业领域,例如,在土木工程中,这些具体专业领域包括结构、岩土工程、交通运输、环境、水文、水利和建筑工程;机械工程选修领域则包括机器人和控制、热力学系统、制造和固体力学。在第4年,大多数学生通过选择重点关注其中的一个选修领域,从而发展专业化,设计课程(capstone design course)通常也是第4年课程的一部分。
将CPS融入一些传统的本科工程专业构造出新的专业,我们将其形象地称之为“X+CPS”课程计划,其中的“+”是一种结合甚至是融合。
表4—表7报告提出了土木工程、机械工程、电气工程、计算机科学等专业加CPS的课程计划。
纵观下述4个专业的课程计划,从形式上看,是传统专业加入了CPS,但其实质对计算机科学专业,是“计算机+X”构成新的计算机科学本科专业课程方案,对电气工程、机械工程、土木工程而言,则是“X+计算机”构成新的工程专业,这只是专业内涵的革新,没有改变原专业的学科和行业属性,没有改变工程教育专业认证的基本要求。
表4 计算机科学+CPS本科课程方案
(续)表4 计算机科学+CPS本科课程方案
表5 电气工程+CPS本科课程方案
表7 土木工程+CPS本科课程计划
(续)表7 土木工程+CPS本科课程计划
美国国家科学院、工程院、医学院发表的“21世纪CPS教育报告”内容丰富,在人才需求、学科与专业、人才培养计划、课程与专业建设、师资队伍建设、课程教学改革、行业参与方面,都有系统的论述,我们仅从教学的角度对其部分内容进行了概要的介绍,言十还将发表系列相关文章。有兴趣的读者可阅读原文。CPS从概念的形成到成为学科,经历了10余年的时间。作为引领世界现代科技潮流的美国,把CPS提高到如此重要的地位,值得我们深度思考与认真借鉴,特别是对国内轰轰烈烈的新工科运动,是否也有参考意义?
(感谢湖南大学嵌入式计算与网络重点实验室李仁发教授CP研究团队提供的译文草稿。)
[1]The National Academies of SCIENCES ENGINEERING MEDICINE[EB/OL]. [2017-11-16]. http://www.nap.edu.
[2]Lee E A. 嵌入式系统导论[M]. 李实英译. 北京: 机械工业出版社, 2012.