acm-header
登录

ACM通信

贡献的文章

网络物理系统教育的探索


书的步骤,灯泡在顶部,插图

信贷:Washdog

2006年,美国国家科学基金会的海伦·吉尔(Helen Gill)创造了“信息物理系统”(cyber-physical systems, CPS)这个术语,以捕捉一种关注计算与物理过程集成的新兴学科。一个新兴的研究社区出现了,建立在跨越嵌入式系统、实时系统、混合系统、控制理论、传感器网络和形式化方法等领域的势头之上。关于开发课程的讨论开始了,以培训那些对在CPS这个广泛领域工作感兴趣的学生。

回到顶部

关键的见解

ins01.gif

在2006-2007学年,来自加州大学伯克利分校电气工程与计算机科学系(EECS)的一小群教育工作者——包括爱德华·李、克莱尔·汤姆林和我本人——开会讨论了创建本科CPS课程的问题。多年来,伯克利大学一直是CPS研究和研究生教育的先驱,但没有本科课程关注CPS。这项工作面临的一项重大挑战是涉及该领域所需的主题范围。另一个障碍是如何平衡理论内容与实际的、基于实验的课程。然而,从这些讨论中,出现了一门本科课程的基本轮廓,在接下来的十年里,这门课程发展成为CPS教育更广泛的“远征”。

探索未知世界的大型探险通常最好由一个团队进行;探索新世界的探险是如此,研究和教学的探险也是如此。我很幸运地加入了本文中描述的CPS教育考察的几个学术同事、行业合作者和学生。在过去的14年里,它沿着CPS教育的各种“路径”,进行了几次较小的探索。这篇文章是我试图报告这些探索,结果,经验教训,并推断它们作为未来CPS教育的想法。它并不是对CPS教育方法的调查;为此,我建议读者参考Marwedel等人最近的一篇文章。26这些足迹以粗略但不严格的时间顺序呈现。这篇文章的早期版本是“信息物理系统教育:探索和梦想”。30.

回到顶部

Trail 1: EECS 149

在2008年春季学期,Edward Lee和我共同教授了第一门课程“嵌入式系统概论”,这是我们在伯克利分校开设的CPS本科课程。18一个我将通过伯克利课程目录中的编号来参考这门课程:EECS 149。我们限制入学人数,并宣传这门课是为“先进而有冒险精神”的本科生开设的。大约有20名学生来了,在接下来的13周中,这个小组探索了CPS中选择的一些主题,将理论主题与实验工作相结合。在许多方面,这都是一次有益的经历——也许最令人满意的是,班上的两个学生,Jeff Jensen和TrungTran,继续与我们密切合作,进一步开发课程的实验室和在线内容。

在设计一门新的本科CPS课程时,我们面临几个关键的决定。当时,我们做出的选择对我们来说很自然,但10年过去了,我相信这些决定对伯克利持久而独特的CPS课程的发展至关重要,这一课程也开始影响世界各地的其他机构。

主题和背景的多样性。CPS领域借鉴了计算机科学、电气工程和其他工程学科的几个领域,包括计算机体系结构、嵌入式系统、编程语言、软件工程、实时系统、操作系统和网络、形式化方法、算法、计算理论、控制理论、信号处理、机器人、传感器和执行器以及计算机安全。同样,在过去的14年里,我们有来自计算机科学、电子与计算机工程、机械工程、土木工程,甚至生物工程的学生。将这些令人眼花缭乱的学科领域整合成一个连贯的整体,让学生拥有如此广泛的背景,是我们必须克服的一个挑战。

一种方法是不要尝试这样的整合。相反,我们可以选择一系列课程,这些课程一起涵盖了CPS的所有关键领域。但是,我们认为这种方法有两个主要缺点。首先,读者可以观察到,这些区域的集合基本上可以涵盖电气工程和计算机科学的本科课程的大部分内容。其次,更重要的是,CPS迫切需要了解不同领域之间交叉的人。

我们通过对CPS中不同主题的统一处理来解决这些挑战,强调它们如何在建模、设计和分析的过程中相互作用。我们的方法有两个关键元素。首先,我们从系统级的角度教授CPS:从异构组件集合设计一个可靠、安全、高效的CPS。例如,我们教授传感器的主题不是从设计新传感器技术的人的角度,而是从必须为CPS设计问题选择和使用正确传感器的设计师的角度。众所周知,系统集成是CPS行业面临的最大挑战之一,我们希望这种方法可以帮助培训新一代工程师来应对这些挑战。其次,我们强调数学模型(如有限状态机、微分方程和混合自动机)及其与底层技术(硬件、软件、网络、传感器和执行器)的联系。第一个月将教授数学模型的基本集合,并为所有学生提供CPS的共同基础,无论他们的背景如何。例如,我们将有限状态机作为开发和验证嵌入式系统事件驱动软件的模型,并将微分方程作为传感器、执行器和反馈控制的模型。即使在该领域取得了进展,这种统一的治疗方法也被证明可以持续使用十多年。

平衡理论与实践。许多嵌入式系统课程的重点是让计算机与物理世界正确交互所需的技术集合,包括传感器校准,与传感器和其他输入/输出设备的接口,汇编或低级语言编程,等等。其他人则更多地关注应用,比如构建机器人系统——例如,自动驾驶汽车或物联网应用。还有一些完全专注于理论主题,例如CPS的计算模型,或正式的建模和验证。对于EECS 149,我们很早就决定将理论主题与实际的、基于实验室的工作相结合。此外,我们决定在实验室工作中建立一些灵活性,将其分成六周的结构化实验室序列,然后是一个顶点设计项目,学生可以自己选择主题。从一开始,一个可编程的,可定制的,叫做Cal Climber的移动机器人平台(见图1)被选为结构化实验序列,其任务如下:

f1.jpg
图1。calclimber实验室平台。第一个原型(左)基于iRobot Create平台,第二个(右)基于iClebo Kobuki平台。

设计一个控制器来驱动卡尔攀登者。在平地上,你的机器人应该直行。当遇到障碍物时,如悬崖或物体,机器人应该绕过物体,并继续其原来的方向。在斜坡上,你的机器人应该导航上坡,同时仍要避开障碍物。使用加速度计来检测倾斜,并将其作为保持上坡方向的控制算法的输入。

这个简单的作业允许我们将基本的概念和理论主题与实验顺序穿插在一起。例如,学生在课堂上学习建模和与传感器和驱动器的接口,就像他们在实验室中与加速度计的接口一样。他们在课堂上学习如何使用中断来编程,而在实验室中使用中断驱动的控制器。当他们在实验室用Statecharts编程控制器时,他们在课堂上学习了用状态机、组合和层次结构建模。我们发现,这种交错的展示有助于学生在实验中欣赏理论,在课堂上欣赏理论主题。学生们继续在他们的顶点项目中建立这些联系,并取得非常令人满意的学习成果。

平衡理论与实践的另一个方面是课程强调形式方法和基于模型的设计。形式方法是计算机科学和工程的一个领域,涉及计算系统的严格的数学规范、设计和验证。3.37我们很早就决定将形式化方法和基于模型的设计作为课程的关键组成部分。这部分是由于我们的研究背景涉及这些主题的大量工作。但是我们在迈出这一步的时候有些忐忑不安——毕竟,大家普遍的印象是,正式的建模和证明对学生来说可能有点“枯燥”和困难。然而,我们的总体经验是非常有希望的。学生们意识到正式建模的价值,例如,在减少在他们的顶点项目中成功所需的设计迭代的数量。这种积极的体验已经超越了伯克利的学生群体,包括了我们几年前开设的在线课程的学生(参见题为“第三条:在线教育和运动生成”的部分)。同样,正式方法与实际实验室工作的整合迫使我们将主题精简为一组核心的正式方法主题,我们发现这些主题与CPS的入门课程最相关。Lee等人对这门课程背后的哲学进行了更详细的讨论,尤其是关于实验部分及其与理论内容的整合。10和Jensen等人。23

回到顶部

第二步:CPS教科书

到2009年秋天,我们已经提供了两次EECS 149。如前所述,这门课程在当时是独一无二的,因为它涵盖了广泛的主题,并将理论和实践内容融为一体。爱德华·李和我找不到一本书能涵盖我们想教的所有内容。因此,我们开始制作自己的课程笔记,逐渐变得更加连贯。我们决定把它们放在一起作为教科书,在2010-2011年,这项努力达到了高潮,第一版的出版嵌入式系统导论:信息物理系统方法。20.

在之前的文章和这本书的序言中,1920.2123我们已经详细地讨论了编写这本教科书时做出的各种设计决策,以及它与现有的其他优秀的CPS教科书(例如Alur的教科书)有何不同1和Marwedel。25因此,我将重点讨论在其他地方没有深入讨论的方面。

CPS的定义。一本关于信息物理系统的教科书必须定义这类系统是什么。信息物理系统被非正式地描述为计算与物理过程的集成。一些定义强调了这些系统的网络化方面。还有一些人将CPS与其他术语(如物联网、嵌入式系统、工业互联网和工业4.0)进行了区分。

我们选择了一种包容性的方法,制定了以下定义:信息物理系统是计算与物理过程的集成,其行为被定义为这两个系统的网络和物理部分。

这就把CPS定义为物理和网络的交叉,而不是结合。它还强调了CPS的行为或语义。单独理解物理组件和计算组件的行为是不够的;相反,我们必须理解它们的相互作用。我们对CPS的定义不涉及网络或其他特定特征。我们认为,CPS、嵌入式系统、物联网、工业4.0等术语在本质上是等价的,它们描述了同一类系统,但强调了这些系统的不同特征。

强调模型和软件。参照EECS 149课程,我们决定将书的重点放在软件和硬件与它们交互的物理过程的相互作用上。更具体地说,我们选择不关注CPS硬件组件的设计。在任何实际的CPS设计中,这些方面显然都很重要。然而,随着包括处理器、传感器和执行器在内的硬件日益商品化,我们认为CPS面临的主要智力挑战在于如何有效地设计算法、模型和软件,从而利用硬件、传感器、执行器和网络组件的组合来实现设计目标。此外,就机会和复杂性而言,行业趋势(例如汽车系统)清楚地表明cps软件的爆炸性增长。基于这些原因,我们的教科书强调系统级的视角,将严格的数学模型与CPS设计的软件设计和实现相结合。毫无疑问,这种建模和编程必须由硬件通知。为此,我们提出了对硬件组件的相关属性建模的方法,并使用这些属性来做出更高层次的设计选择。我们的方法类似于其他计算机科学主题,如Bryant和O’hallaron从程序员的角度教授计算机系统。2

组织。在编排教材的课程内容时,我们做了两个关键的决定。首先,我们决定将本书分成三个部分,分别侧重于建模、设计和分析。图2显示当前版本的组织以及章节之间的依赖关系。这三部分是相对独立的,并打算同时阅读。例如,在EECS 149中,我们将通过中断和线程进行编程的讨论(关于设计的第二部分)与使用交互状态机进行建模的讨论(关于建模的第一部分)穿插在一起。这使学生能够看到更多理论建模内容和更多应用设计和实现内容之间的联系。此外,它还使其他人能够将教材用于他们自己的、定制的目的——例如,我们意识到更多的应用型课程主要集中在第二部分,而更多的理论型课程使用第一部分和第三部分的形式方法。

f2.jpg
图2。李和谢希亚的组织嵌入式系统导论-信息物理系统方法(2nd版)。21

最后,我们决定在本教科书中不包含实验练习的细节。另一本与时任国家仪器公司(National Instruments)的杰夫·詹森(Jeff Jensen)合著的实验室书籍在网上发表11并在2012年至2021年间定期更新。这种分离的一个原因是很难在各机构之间复制实验室的设置。这些年来,实验室的材料不断发展——新的计时器实验室和网络最近也加入进来——但总体结构基本保持不变。我们发现使用我们的教科书的机构远远多于使用实验室教科书的机构,这部分是由于各种硬件和空间依赖,以及成功复制实验室内容所需的支持系统。

出版。我们决定尝试出版这本书的第一版。我们没有选择传统的、成熟的出版商,而是选择了“按需印刷”的在线出版商。这使得我们可以在网上保留免费的PDF版本,同时也为读者提供了购买纸质版本的选择。此外,纸质副本的售价可能比我们想象的传统出版商要低得多。十多年后,我们相信我们做出了正确的选择:截至撰写本文时,我们的教科书已被50多个国家的大约300所机构采用——我们确信,如果没有在线PDF,其中一些机构是不可能采用的。我们发现,尽管有免费的PDF版本,很多读者还是会购买纸质版本。在2015年和2016年,我们致力于该书的第二版,增加了许多新的练习,一个关于传感器和驱动器的新章节,以及另一个关于安全性的章节。这个版本由麻省理工学院出版社出版,有国际版本和翻译,还有在线免费的PDF。有了在线的PDF,我们也更容易在edX上的EECS 149在线版本中使用这本书,因为世界各地的注册者可以咨询任何最容易访问的版本。

回到顶部

第三步:在线教育和锻炼

大规模在线开放课程(mooc)的出现有望为任何能上网的人带来世界级的教育。它还重新将重点放在开发和使用用于教学和学习的计算辅助工具上。在线教育也提出了一系列问题,而正式方法在这些问题上有很大的贡献。这些包括自动评分、自动生成练习和虚拟实验室环境。

在自动评分中,计算机程序验证学生提供的候选解决方案是“正确的”——也就是说,它符合某些教师指定的标准(规范)。当解决方案不正确时,自动评分器(从今以后,自动评分器)也必须能够向学生提供关于错误可能在哪里的反馈。练习自动生成是一个综合问题(带有相关解决方案)的过程,它测试学生对课程材料的理解,通常从教师提供的示例问题开始。最后,对于涉及实验室作业的课程,虚拟实验室寻求为远程学生提供类似于真实的校园实验室的体验。

在2011-2012年,我们开始为在线版本的EECS 149进行头脑风暴,包括我们可以开发的技术来帮助这样的课程。我们首先研究了自动运动生成的任务。我们的目标不是将产生问题和解决方案的过程完全自动化。把教师从问题产生过程中完全剔除似乎既不现实,也不可取,因为这是一个创造性的过程,需要教师的输入来强调正确的概念。自动化最适合用于那些对教师来说乏味的问题生成方面。此外,在MOOC的设置中,如果没有某种程度的自动化,为学生生成定制的问题是不可能的。最后,创建多个不同版本的问题可以通过盲目复制解决方案来减少作弊。

研究了Lee和Seshia教材的三个部分,20.我们采用了基于模板的方法来自动生成问题。28具体地说,书中已有的几个练习都符合一个模板。模板识别这些问题的公共元素,同时将区分元素表示为参数或“孔”。要创建新问题,模板实际上必须用新的参数值实例化。然而,创造与现有手工制作的问题在难度上“相似”的新问题通常是有用的。为了促进这一点,使用一个现有问题的有限数量的突变来生成新问题,在适当的约束和修剪下,以确保定义良好的结果。然后,教师可以选择看起来合理的结果。

让我简要介绍一下我们的一些主要见解28因为它们涉及到形式方法的应用。第一个观点与练习的结构有关。在调查了Lee和Seshia的某些相关章节(3,4,9,12,13)的练习后,20.我们发现超过60%的问题符合基于模型的类别,其中问题测试涉及模型、属性和跟踪之间关系的概念。图3说明了这三个实体及其特点。在任何时候,给定一个或两个这样的实体,我们可以询问未知实体的实例。表1根据所给的内容和将要发现的内容,将练习分成不同的班级。每个组表示模型、属性和跟踪之间的交互。第一列显示给定的实体,第二列是未知的实体,第三列显示同一类问题的一些变体。

f3.jpg
图3。模型、属性和痕迹:Lee和Seshia的练习中的实体嵌入式系统导论-信息物理系统方法。20.

t1.jpg
表1。Lee和Seshia的基于模型问题的分类嵌入式系统导论-信息物理系统方法(1版),20.版本1.06(如Sadigh, Seshia和Gupta报告28).

表2中列出的每个问题类别的解决方法表1.注意,在形式化方法中研究的主要主题,例如模型检查、规范挖掘和综合,可以应用于练习生成中的各种任务。此外,由于教科书上的问题通常比工业使用中产生的问题要小,它们的规模在现有综合和核查工具的能力范围内。事实上,我们已经能够有效地利用运动生成来生成考试问题,包括在2020年COVID-19大流行期间(参见“第5条:COVID-19大流行”部分)。

t2.jpg
表2。为基于模型的问题找到解决方案的技术(如Sadigh, Seshia和Gupta报告的那样28).

回到顶部

Trail 4: EECS 149.1X和CPSGrader

2012年至2013年,我们开始共同努力开发MOOC版本的EECS 149。伯克利大学作为大学合作伙伴加入了edX,一项大型校园活动正在进行中,旨在为新兴的大规模在线教育格局做出贡献。然而,在网上学习eecs149并不容易。一方面,学术界和工业界对CPS的兴趣日益增长,产生了更广泛获取CPS教育资源的明确需求。幸运的是,有了EECS 149以及Lee和Seshia教科书的在线免费资料,向更广泛的社区提供免费MOOC变得更容易。另一个主要障碍是课程的实验部分。EECS 149等非纯软件的实验室课程对mooc构成了特殊的技术挑战。在基于实验的课程中,学习的一个关键组成部分是使用硬件和亲自动手。我们认为,没有实验室的组成部分,学习经验是不完整的。然而,在网上提供这样的体验,即使不是不可能,也是极其困难的。 Inspired by industrial practice, where one often prototypes a design in a simulated environment before building the real artifact, we decided to build a virtual laboratory environment for EECS 149 and blend that with suitable theoretical content to create the MOOC version.

与爱德华·李、杰夫·詹森和国家仪器公司的一个团队合作,我和我的研究小组开发了在线CPS课程的课件和技术。在2013年春天,我们提交了一份论文,概述了CPS虚拟实验室的主要想法。12然后,在2013-2014年,我们开始了一项工作,最终取得了两个关键贡献:EECS 149.1x,222014年在edX上提供的EECS 149在线版本,以及用于虚拟实验室环境的自动评分和反馈系统CPSGrader29我们会继续使用和发展。

CPSGrader。对于中等规模的班级,可以提供一个基础设施,学生可以远程登录到预先配置了所有开发工具和实验室练习的系统,允许学生将他们的解决方案部署到目标平台上,并查看他们在真实的实验室设置中如何执行。探索这种方法的项目已经在进行中,比如麻省理工学院的iLab项目7以及佐治亚理工学院的机器人arium项目。36然而,在MOOC环境下,大量的学生使得远程物理实验室既昂贵又不切实际。由模拟真实环境驱动的虚拟实验室环境似乎是目前唯一可行的解决方案。

为此,我们开发了CPSGrader,它将虚拟实验室软件与网络物理系统和机器人领域的课程自动评分和反馈相结合。131429CPS-Grader已在伯克利分校的“嵌入式系统概论”课程中使用18以及在线edX版本。22回想一下,在本课程的实验部分,学生们设计了Cal Climber机器人11机器人(见图1),以执行某些导航任务,例如避障和爬坡。学生们可以在国家仪器公司的LabVIEW机器人环境模拟器的基础上,设计出控制器的原型,在模拟环境中工作图4而且5).

f4.jpg
图4。LabVIEW机器人环境模拟器中的Cal Climber。

f5.jpg
图5。EECS 149.1x中使用的带有自动评分功能的模拟器。

虚拟实验室的动力学模型是复杂的、基于物理的;由于其复杂性和对第三方组件的依赖,我们决定将其视为一个黑匣子。CPSGrader采用了基于模拟的验证,可以说这是该设置中主要的可伸缩形式化方法。正确性和某些类错误的存在都是使用信号时间逻辑(STL)中形式化的测试平台来检查的。24然而,提出这些STL属性可能是乏味且容易出错的,即使对于精通正式方法的教师也是如此。因此,在Juniwal等中,14我们展示了如何从示例中综合这些时间逻辑测试人员。我们的方法可以被视为机器学习的一个实例,从有错误的学生解决方案(积极的例子)和那些没有错误的(消极的例子)。研究人员还开发了一个主动学习框架,以减轻为解决方案贴上积极或消极标签的负担。13然后,生成的测试台成为分类器,用于确定学生解决方案是否正确,如果不正确,则确定存在哪个错误。CPSGrader在2014年5 - 6月开设的edX课程EECS149.1x中成功使用,22我们将在即将到来的EECS 149.1x章节中更详细地描述这个实验。

近年来,挖掘时态逻辑测试人员以捕获学生错误类的方法得到了改进。35未来工作的几个有趣的方向包括开发分配部分信用的定量方法,以及在线监测此类测试人员以提高响应能力。

电149.1 x。在2014年5月至2014年6月的七周时间里,我们在edX平台上向公众免费提供了“EECS 149.1x: Cyber-Physical Systems”。据我们所知,这是第一个在所有主要平台上涵盖大量CPS主题的MOOC。我们从EECS 149的材料中简化了一些课程内容,因为我们不能指望参加MOOC的学生拥有与加州大学伯克利分校学生相同的先决条件背景。该课程包括49个讲座,包括近11个小时的视频内容。它还包括六周的实验室作业,这在一定程度上反映了eecs149中六周的结构化实验室序列。

Cal Climber实验室被变成了一个完全在线的实验室,使用我们创建的虚拟实验室软件cybersim和cpsgrader进行操作,并在上一节中进行了描述。我们还为那些希望自己购买和组装硬件组件的学生提供了一个可选的“硬件轨道”。讲座中涉及的理论课主题包括内联测验,但没有单独的家庭作业:实验序列与理论课内容相结合。我们将讲座组织为以下10个模块:CPS介绍,内存架构,中断,建模连续动力学,传感器和驱动器,建模离散动力学,扩展和混合自动机,组成状态机,分层状态机,规范和时间逻辑。

mooc的影响很难量化,但以下是EECS149.1x的一些数据。这门课程吸引了8767名学生报名,其中2213人提交了至少一份实验作业。其中,342名学生通过了这门课程(占高峰入学人数的4%)。在课程的第六周左右,我们对仍在参与MOOC的学生进行了匿名调查,得出了一些非常有趣和鼓舞人心的数据:

  • 我们似乎吸引了已经参加过其他mooc课程的学生——在待到第六周的学生中,54%的人已经参加过三次或三次以上的mooc课程。
  • 大多数学生都是使用LabVIEW等语言进行基于模型的设计的新手;尽管如此,73%的人发现用两种不同的语言:C和LabVIEW来做实验很有用。
  • 86%的学生认为cpsgrade在他们的实验作业中是有用的,这是在个性化教育中使用这类工具的一个令人鼓舞的迹象。
  • 虽然只有一小部分学生选择了可选的硬件轨道,但超过90%的学生发现,如果他们的解决方案在虚拟实验室通过CPSGrader,它就可以在真正的硬件上工作。这一数据非常鼓舞人心。当时,我们一直在校园实验室使用CyberSim,没有自动评分,没有发现这种相关性。使用CPSGrader似乎促使学生们去调试一些极端的案例,这也提高了他们的解决方案在真实硬件上的可靠性。
  • 我们从理论角度和与实验作业的相关性两方面对学生最喜欢的课程模块进行了调查。这项调查的部分动机是我们想知道,包括一些在工业界工作的普通非伯克利学生是否会接受MOOC的大规模正式方法内容。让我们惊喜的是,我们发现分层状态机和状态机组成的模块在实验室相关主题中排名前三,而形式化规范和时态逻辑的模块在理论主题中排名前三。这为一般学生群体接受正规方法提供了一些现实世界的验证。

总之,创建在线版EECS 149是一次有益的经历,是为科学和工程领域的“基于实验室的mooc”创造强大学习体验的第一步。在2015-2019年期间,我们继续在校内课程中使用CPSGrader和为edX课程创建的内容。新的挑战出现在2020年,我们将在下一节详细介绍。

回到顶部

曲目5:COVID-19大流行

2019冠状病毒病大流行让我们生活的方方面面都受到了影响。各级教育遭到严重破坏。总的来说,计算机科学和工程教育,特别是CPS教育,面临着多重挑战。这包括有效地与学生在线互动,以公平公正的方式进行在线测试和考试,并提供充足的实验室课程体验。在伯克利,Prabal Dutta和我在2020年秋季学期完全在线(远程)共同教授EECS 149。这使我们有机会在远程CPS教育的背景下部署在前面章节中讨论的思想和技术。这一节报告我们的经验。

为在线考试生成问题。在偏远地区,在确保学术诚信的同时进行在线考试是一个特别的挑战。许多课程通过执行各种形式的在线监督或监控来解决这个问题。其他人则转向了带回家的考试模式。我们决定采用一种方法,为每个学生生成一个不同的、随机生成的考试,在考试时间内回答问题。这种方法遵循“试验3…”一节中描述的原理,教师为考试问题编写模板,而不是特定的问题实例,程序会自动生成实例。实现问题模板的软件基础设施是由Dutta和他的学生Rohit Ramesh创建的,我们实现了之前工作中的一些生成策略,28在“Trail 3…”部分也有概述。总的来说,这种方法运行得很好,考试成绩遵循了面对面考试的典型模式,除了模板本身有一些小错误外,考试运行得很顺利。然而,一个主要的限制是,需要大量的手工工作来制作产生类似难度级别实例的模板,并且很容易分级。我们需要进行更多的研究,以减少人工操作,并设计出有效的方法来生成类似难度的问题,或许可以利用算法即兴创作的理论。431


CPS的智力核心是结合计算和物理动力学的模型和抽象。


CPSGrader再现。在EECS149.1x MOOC中,虚拟实验室是远程学习体验的关键组成部分。但是,我们必须对CPS-Grader做一些更改29以及底层的模拟器。在我们推出MOOC课程之后的几年里,硬件平台已经迁移到了Kobuki图1),所以我们需要一个模拟器来支持这个新平台。我们还想要一个强大的、开源的模拟器,它不仅可以更容易地适应我们在伯克利的使用,而且可以更容易地适应我们的课程材料在其他任何地方的使用。开源机器人操作系统(ROS) Gazebo模拟器6适合该法案。我们还利用了Scenic概率编程语言5自动生成用于开发、自动分级和调试的各种测试环境集合。新版CPSGrader与Gazebo连接,并配备了时间逻辑测试器。在实验室后的调查中,超过三分之二的学生报告说,时间逻辑测试人员在发现代码问题方面很有用。学生们还用真正的硬件重复了实验室,但使用了不同的机器人平台。即便如此,超过35%的学生报告说,他们的代码没有或只做了很小的修改,以使其在真实的硬件上运行,其余的学生报告说,相当适度的修改包括调优参数或添加延迟,以解释模拟世界和真实世界之间的时间差异。这为使用虚拟实验室软件提供了额外的有效性,具有时间上的、基于逻辑的自动分级和调试。

低成本的硬件设备。即使有了虚拟实验室软件,我们也希望让学生有机会使用真正的硬件。社交距离意味着学生需要获得自己的机器人平台,而不像在传统的实验室环境中,学生在实验室和实验室之间使用相同的机器人。对于大约60名学生,我们认为这个选择是划算的,只要每个硬件设备的成本保持在100美元左右。这就需要从Kobuki转向更便宜的TI-RSLK系统。9然而,我们在这个新平台上使用了相同的微控制器板,使软件体验基本保持不变。实验序列也基本上保持不变,遵循实验手册。11我们有一个积极的学生体验,许多学生也使用相同的平台来完成他们的最终顶点设计项目。

总体而言,我们在疫情期间为儿童CPS部署个性化和远程学习技术的经验是积极的。即使是在2019冠状病毒病之后,如果处理得当,这些技术也有助于采取措施,通过比传统上更广泛的学生群体实现教育公平。

回到顶部

经验教训和展望

课程的演变和吸取的教训。本文描述的14年的考察在许多方面都是卓有成效的教育实验。以下是我总结的主要经验教训:

课程主题的持久性。我们从2008年到2010年所选择的一系列主题已经被证明是经得起多年考验的。教科书中没有涉及到的一个重要的话题是网络和分布式CPS。早些年,我们在讲座中以一种特别的方式讨论网络,但我们注意到网络在学生项目中的使用越来越多。因此,在过去的五年里,网络已经成为讲座的核心主题,我们也希望在下一版本的教科书中增加一个章节。此外,CPS研究和工业实践的新兴领域1532指出了其他主题,包括嵌入式系统中的机器学习,人类cps(与人类协同工作的网络物理系统),以及低功耗和节能设计。


CPSGrader等技术可以为学生提供个性化的工作反馈。


实验室内容的演变。在过去的14年里,我们实验室的相同的高层结构——Cal Climber实验室序列和顶点设计项目——为我们提供了很好的服务。然而,细节仍在不断修改。例如,微控制器板已经从iRobot Create命令模块中的8位微控制器,发展到32位的国家仪器myRio,以及目前的北欧nRF52832与自主研发的Berkeley Buckler子板相结合,提供了丰富的计算、传感和网络功能组合。顶点设计项目还为探索已进入正式课程的主题提供了一条道路,如网络、机器学习和云计算。最后,我们了解到模拟可以在实验室教育中扮演非常重要的角色,在校园和在线设置,但它需要与验证和测试基础设施相结合,推动学生思考角落案例场景。有了这样的基础设施,在模拟中工作的解决方案也可以在真实的硬件上工作。一个有趣的未来实验是将cps - grade风格的系统与诸如Robotarium这样的基础设施连接起来。36

理论和实践。我们的经验表明,人们可以在同一门课程中教授数学建模和形式化方法,同时还可以教授实践课题和实验工作。然而,有必要将这两种类型的话题交织在一起,并建立明确的联系,以供学生欣赏。我们了解到,即使是在那些几乎没有理论经验的MOOC学生中,也存在着对理论的兴趣。我们的理念是CPS的知识核心不在于具体的实现技术——例如,微控制器编程的具体方法、与传感器的接口或使用云计算服务——而在于结合计算和物理动力学的模型和抽象。我们了解到,模型在实践中是有用的,即使它们没有得到基于模型的设计工具的完全支持,这些工具提供了正确的构造保证或代码生成。例如,我们的一位校友成为了一家机器人初创公司的软件总监,在那里他采用了一种基于statecharts的设计方法,在严格的产品时间表下有效地减少了bug并提高了可维护性。

展望未来。当我思考CPS教育和工程教育的未来时,两组文章浮现在我的脑海中。第一篇是Lee和Messerschmitt写的两篇发人深省的文章,其中一篇讨论了工程教育的未来16另一个则在2049年提出了对高等教育的创新观点。17第二组文章涵盖了自动化和信息技术(IT)对工作的影响的最新研究和观点。83334

出现了一些线索。首先,快速的技术变革和自动化程度的提高使得终身学习变得更加重要。第二,人类将越来越需要在工作中与智能机器合作。面对这样的未来,我们应该如何设计CPS教育?我从利用前几节中描述的工作的角度来处理这个问题。

美国国家工程院已将“个性化学习”确定为21世纪工程学面临的14大挑战之一世纪。27此外,世界各地的机构都看到,希望参加计算机科学和相关领域(包括CPS/IoT)课程和专业的学生数量迅速增长。由于入学人数激增,这些院校面临着校园教学资源的压力。个性化教育的技术,如CPSGrader,可以起到减轻这种压力的作用,同时确保更有效地利用教师的注意力。它们还可以帮助扩大接受CPS教育的机会。

很难预测CPS教育在减轻自动化和It对工作的影响方面能发挥什么作用。正如这份报告所证明的,技术显然只是解决方案的一部分8相熟识的。34即便如此,个性化教育的技术,如CPSGrader,可以在在线和校园课程中为学生提供个性化的工作反馈。虚拟实验室技术与低成本的硬件设备相结合,可以使学生在职业领域积累专业知识,这对未来的雇主很有吸引力。然而,到目前为止,mooc的经验表明,受益最大的是那些最积极、准备最充分的学生。

如何确保需要更多帮助的学生也能受益?为此,我们需要更多的工作来发展结构,比如李和梅塞施米特讨论的虚拟“村庄”,17其中,个性化CPS学习技术与导师和同行社区很好地结合在一起,为学生形成了一个有效的支持系统。

回到顶部

参考文献

1.Alur, R。信息物理系统原理。麻省理工学院出版社(2015)。

2.布莱恩特,R.E.和奥哈拉伦,D.R.计算机系统:程序员的视角。Prentice-Hall,第三版(2015)。

3.Clarke, E.M.和Wing, J.M.正式方法:现状和未来方向。ACM计算调查(CSUR, 4(1996), 626-643。

4.弗里蒙特,dj,算法即兴创作。博士论文,美国加州大学伯克利分校EECS系(2019年8月)。

5.Fremont, d.j., Dreossi, T., Ghosh, S., Yue, X., Sangiovanni-Vincentelli, a.l.和Seshia, S.A.风景:场景说明和场景生成的语言。在40周年会议的会议记录th关于程序设计语言设计与实现的ACM年度SIGPLAN会议(2019年六月),63 - 78。

6.凉亭:机器人模拟变得容易。开源机器人基金会。http://gazebosim.org/

7.iLab项目。麻省理工学院。https://wikis.mit.edu/confluence/display/ILAB2/Home

8.信息技术与美国劳动力:我们在哪里,我们将何去何从?美国国家科学院、工程院和医学院(2017),http://www.nap.edu/24649

9.介绍TI-RSLK Max。德州仪器。https://university.ti.com/programs/RSLK/

10.简森,j.c.,李,e.a.和Seshia, S.A.嵌入式系统的入门设计课程。在《实习生录》。电路与系统研讨会(2011年5月),1199 - 1202。

11.詹森,j.c.,李,e.a.,塞西亚,S.A.嵌入式和信息物理系统导论实验室。LeeSeshia.org,加州伯克利(2012)。

12.Jensen, j.c., Lee, e.a.和Seshia, S.A.虚拟网络物理系统:将CPS引入在线教育。在第一次CPS教育研讨会论文集(2013年4月)。

13.CPSGrader:网络物理系统教育的自动分级和反馈生成。硕士论文,美国加州大学伯克利分校EECS系(2014年12月)。

14.Juniwal, G., Donzé, A., Jensen, j.c.,和Seshia, S.A. CPSGrader:为嵌入式系统实验室自动评分合成时序逻辑测试器。在14年的会议记录th实习生。关于嵌入式软件,请确认(2014年10月)。

15.李,e.a.等人。云边的蜂群。IEEE设计与测试31, 3(2014), 8-20。

16.Lee, E.A.和Messerschmitt, D.G.未来工程与教育。IEEE计算机31(1998), 77 - 85。

17.Lee, e。A。和Messerschmitt, d。g。最高学历,2049年。在IEEE学报87, 9(1999), 1685-1691。

18.Lee, E.A.和Seshia, S.A. eecs149课程网站。http://chess.eecs.berkeley.edu/eecs149

19.Lee, E.A.和Seshia, S.A.网络物理系统的入门教科书。在嵌入式系统教育工作坊(2010年10月)。

20.Lee, E.A.和Seshia, S.A.嵌入式系统导论-信息物理系统方法。LeeSeshia.org,加州伯克利,第一版(2011年)。

21.Lee, E.A.和Seshia, S.A.嵌入式系统导论-信息物理系统方法。麻省理工学院出版社,第二版(2016)。

22.Lee, e.a., Seshia, s.a.和Jensen, J.C. EECS149.1x edX课程网站。https://www.edx.org/course/uc-berkeleyx/uc-berkeleyx-eecs149-1x-cyber-physical-1629

23.Lee, e.a., Seshia, s.a.和Jensen, J.C.以伯克利的方式教授嵌入式系统。在嵌入式和信息物理系统教育研讨会论文集(2012), 1。

24.Maler, O.和Nickovic, D.监测连续信号的时间特性。在FTRTFT /格式2004, 152 - 166。

25.Marwedel, P。嵌入式系统设计:信息物理系统和物联网的嵌入式系统基础。施普林格(2017)。

26.Marwedel, P., Mitra, T., Grimheden, M.E, and Andrade, H.A.网络物理系统教育调查。IEEE设计与测试3, 6(2020), 56-70。

27.NAE工程大挑战:21世纪工程领域的14大挑战century-Advance个性化学习。国家工程院。http://www.engineeringchallenges.org/challenges/learning.aspx

28.Sadigh博士,Seshia, s.a.和Gupta博士,自动化练习生成:面向嵌入式系统的MOOC挑战的一步。在嵌入式系统教育研讨会论文集(2012年10月)。

29.Seshia, s.a.等人。加州大学伯克利分校cpsgrade。http://www.cpsgrader.org

30.网络物理系统教育:探索与梦想。在建模的原则——献给爱德华·a·李60岁之际的随笔th10760年生日,信号(2018), 407 - 422。

31.Seshia, S.A.,可靠的智能自主的算法即兴创作。在40th软件技术基础与理论计算机科学会议,第182卷(2020), 5:1-5:3。

32.谢希亚,s.a.,胡,s.a.,李,W.,朱琪。信息物理系统的设计自动化:挑战、进步和机遇。集成电路与系统CAD汇刊, 9(2017), 1421-1434。

33.瓦尔迪,M.Y.:人类、机器和未来的工作。在Ada Lovelace研讨会2015 -庆祝计算机梦想家200周年2。

34.瓦尔迪,M.Y.:人工智能的道德必要性。ACM的通信59, 5(2016), 5。

35.Vazquez-Chanlatte, M., Deshmukh, J.V., Jin, X.和Seshia, S.A.时序数据的逻辑聚类和学习。在29th实习生。关于计算机辅助验证的确认(2017), 305 - 325。

36.Wilson, S.等。Robotarium:在远程访问、分布式控制多机器人系统方面具有全球影响力的机遇、挑战和经验教训。控制系统杂志, 1(2020年2月),26-44。

37.对形式方法的介绍。IEEE计算机23, 9(1990年9月),8-24。

回到顶部

作者

Sanjit a Seshiasseshia@eecs.berkeley.edu)是美国加州大学伯克利分校电气工程和计算机科学的教授。

回到顶部

脚注

a.当时,“网络物理系统”这个术语还处于起步阶段,所以我们决定改用“嵌入式系统”,因为至少在伯克利,我们认为它们在本质上是等价的——两个名称代表同一类系统。


cacm_ccby.gif本作品授权于http://creativecommons.org/licenses/by/4.0/

数字图书馆是由计算机协会出版的。版权所有©2022 ACM股份有限公司


没有发现记录

Baidu
map