APP下载

面向新工科的嵌入式系统知识体系创新研究

2019-07-29张凯龙吴晓苗克坚

无线互联科技 2019年9期
关键词:知识体系嵌入式系统计算机科学

张凯龙 吴晓 苗克坚

摘   要:嵌入式系统技术具有非常强的综合性和实践性,是一门典型的工科类技术。因此,在常见的嵌入式系统课程与人才培养体系中,更多侧重于技术原理的学习以及实践能力的培养。然而,在高水平研究型大学的新工科人才培养体系中,高层次专业人才的培养具有更高的要求,这就需要从新的视角来思考和重构嵌入式系统的知识体系和人才培养体系。为此,文章重点从工程、科学的不同视角出发,分析了不同类型的知识体系,并探讨如何对这些知识体系进行融合,以促进研究型人才的培养。

关键词:嵌入式系统;计算机工程;计算机科学;知识体系;思想;思维;方法

1    嵌入式系统课程教学的必要性及现状分析

万物互联的智能化时代,嵌入式系统技术的基础性作用更为突出,其应用已经快速延伸到军事国防、工业装备、智能出行、医疗服务等人类社会的方方面面,成为改造传统产业、促进行业新兴发展的重要支撑。随着嵌入式应用与物理世界融合程度的不断深化、智能化水平的不断提升以及新行业需求的不断产生,嵌入式系统技术的发展与应用呈现出更为突出的领域交叉、创新发展等特征。为此,如何培养具有系统的知识体系、深厚的专业基础以及良好创新思维与能力的新工科专业人才成为当下高水平研究型大学人才培养中亟待研究和解决的一个关键问题。

1.1  研究型大学人才培养特点

为了分析研究型大学嵌入式系统人才培养的特点,本文先讨论研究型大学的本质以及研究型大学人才培养的特点。美国最早明确地划分出研究型大学这一类型,并由美国卡耐基大学促进基金会自1974年开始进行分类[1]。研究型大学通常注重教学与研究的统一,致力于培养高层次研究型人才,并开展前沿的科技研发,属于精英教育的序列。因此,研究型大学的判定标准主要包括两个方面;(1)是否培养出高层次的研究型人才。(2)是否产生高水平的学术研究成果并拥有卓越的师资队伍。这不同于教学型大学以及技术型大学,其人才培养也必然具有特殊要求。

首先,研究型大学重视本科生的培养,实施博雅教育(即通识教育、素质教育,Liberal Arts Education)[2]。在高等教育周期中,本科階段是培养、塑造大学生人格、灵魂和精神的重要时期,决定学生的教育“基因”。为此,研究型大学大都极为重视厚基础的本科生教育,并注重对素质和专业基础的培养。鉴于博雅教育的目标恰是培养具有广博知识、创新精神且富有人文情怀的高素质人才,而并非仅能掌握和运用某些技术的专门人才,其在研究型大学也就受到更多推崇。其次,将科研与教学过程进行多维融合与统一。针对高素质创新型人才培养的目标,研究型大学注重将科学研究的思想、方法、实践、案例等全方位融入本科、硕士、博士课程的教学过程中,以培养学生对问题和知识的辨识能力、思维能力以及批判精神、科学精神与创新精神等,促进学生全面成才。

如上所述,研究型大学人才培养的首要目标是高素质的人、高水平的人才。因此,在培养体系和课程建设中,对综合素质、系统思维和科学思想与方法的培养极为重要。就具体专业课程而言,这就要求避免陷入单一的专业知识讲授或专业技能训练模式,应该侧重专业思想、方法乃至文化的学习。对于工科特性强的嵌入式系统课程,亦是如此,这也是本文开展讨论的初衷与动机。

1.2  嵌入式系统课程教学现状分析

鉴于嵌入式系统技术庞大的知识体系和实践要求,现有的嵌入式系统课程建设更多倾向于课程体系的梳理以及教学模式与教学方法的改进。例如,闵华松等[3]围绕嵌入式系统人才培养,在分析嵌入式系统理论与技术和专业主干学科关系的基础上设计了基于线程学习的培养模式,提出了将嵌入式系统融入基础课程和专业课程学习的基本思路。围绕实践创新人才培养,沈珊瑚等[4]探讨了嵌入式系统课程教学环节的改革,特别是创新答辩、学生观摩分享、翻转教学模式以及口袋实验室等方面的尝试及其效果。基于多年的嵌入式系统教学探索和总结,笔者之前研究并构建了从架构、原理到设计的嵌入式系统多维知识体系结构[5],并编写了《嵌入式系统体系、原理与设计》专业教材。教学实践表明,这一体系有助于学生构建可以突出嵌入式特色的系统化知识体系与思维方式。总体上,这些探索和研究更侧重于计算机工程与技术,也确实都促进了嵌入式系统课程教学效果的提升。

然而,纯粹的工程教育并不完全符合研究型大学高素质专业人才的培养要求,在很大程度上缺失了从基础理论层面对学生思想思维、创新素质的启发与培养。为此,在嵌入式系统课程的教学改革过程中,笔者进一步从计算机科学、理论的角度对知识体系进行了探索。在自然科学范畴里归纳并建立正确的基础科学理论体系或者用这样的理论体系来指导实践,是跳出万变现象来彻底解决一系列科学、工程问题的根本。如爱因斯坦所言,“数学之所以有高声誉,一个理由就是数学使得自然科学实现定理化,给予自然科学某种程度的可靠性。”嵌入式系统理论体系的建立和学习也是如此,会让具体科学、工程问题的解决更为可靠,也常常可以免去设计过程中经验性、试验性工作所带来的种种困扰。

2    嵌入式系统本质与核心问题

嵌入式系统是泛指一切“嵌入”了计算装置的应用系统,不论是功能的嵌入还是计算装置的整体嵌入。这符合IEEE Std 1003.13-2003给出的嵌入式系统定义,也广泛地囊括了从早期功能嵌入到整体嵌入再到物理世界深度融合阶段的所有嵌入式系统形态。从计算机角度看,嵌入式系统被定义为“以应用为中心,以计算机技术为基础,软硬件可裁剪,适应对功能、可靠性、成本、体积、功耗严格要求的专用计算机”。基于此,嵌入式系统本质上就是特殊的计算机系统,嵌入式系统的设计就是特定计算系统软硬件的设计,而嵌入式系统的学习也就成了具有嵌入式特色的计算技术和设计技术的学习。由此,嵌入式系统的核心问题就成为一个系统设计问题,即如何针对特定应用需求,“量体裁衣”地研制出资源规模、综合效能等匹配具体应用要求的嵌入式软硬件。显然,为了解决这个核心问题,或者培养出能够解决该类核心问题的专业人员,就需要从计算机系统和工程技术的角度来梳理、构建相应的知识培养和实践训练体系。这侧重于工程与技术。

与之相对应的是计算机科学的视角。嵌入式系统与物理装置、外部世界密切结合,在近来的研究中,研究者们已经普遍认识到,嵌入式系统的本质挑战源自于其和物理进程的交互而并非出自于系统资源的限制。美国自然科学基金委的项目主管Helen Gill就率先提出了“信息物理融合系统”(Cyber-Physical Systems,CPS)这一概念,表示嵌入式系统问题的研究已经迈入高阶形态,着重强调了计算进程与物理进程的集成。在信息物理融合系统中,嵌入式计算机与网络对物理进程进行监测和控制,且物理进程与计算之间都存在相互影响的反馈环路。为此,该类系统的设计就需要充分理解计算机、软件、网络以及物理进程之间相互关联的动态特性。UC Berkeley电子工程与计算机科学系的著名计算机科学家Edward A. Lee教授[6]认为,信息物理融合系统的核心问题是要在程序的顺序化执行与物理世界并发特性之间构建起一个桥梁,以弥合二者之间的本质差异。那么,研究关联的动态性就会使嵌入式系统有别于其他学科。如果说计算机科学是“程序认识论”,那么嵌入式系统科学就可以说是“并发特性认识论”,知识体系的构建则应倾向于如何剖析物理世界的动态并发特性、程序的顺序性以及二者融合的并发特性。

3    两种知识体系分析及其融合

显然,基于对问题本质的不同认知,就会构造出不同的嵌入式系统知识体系。一种出自于计算机工程的技术化视角,另一种则是出自于计算机科学的理论化视角。接下来,将对两类知识体系的特点、差异进行分析和比较,结合研究型人才培养给出知识体系的融合方法。

3.1  计算机工程视角

目前嵌入式系统教材与课程的知识体系大多都立足于计算机工程的技术化角度。分析可知,造成这一局面的主要原因有两个:(1)信息类专业的人才培养体系仍然侧重于工科特性,基础理论体系不完整且所占比重较低,对科学理论体系的支撑不够。(2)重点面向市场的工程型人才需求,培养过程主要关注学生的系统设计和科研实践能力。

当然,即使是从工程的角度出发,嵌入式系统知识体系的构建仍然存在诸多挑战。这是因为嵌入式系统的知识体系具有高度的综合性,涉及从电子电路到包含了处理器、存储器、I/O接口的嵌入式硬件体系,从监控软件、板级支持包(BSP)、嵌入式(实时)操作系统、图形库及文件系统等组件到应用软件的嵌入式软件体系,从硬件到软件的设计、调试、测试、验证体系,从计算到应用的领域交叉,知识内容非常广博,嵌入式系统知识体系示例,如图1所示。另外,这些知识又是大象无形的,其中的每一个功能组件、每一个系统的构建、每一个设计过程都可能有着非常多样的实现形式。例如从类型上嵌入式处理器就可分为微控制器(MCP)、微处理器(MPU)、数字信号处理器(DSP)、可编程逻辑(PLD及FPGA)以及基于此的诸多组合与演化。嵌入式存储器、I/O接口、嵌入式操作系统、软件组件等也是如此。显然,基于计算机系统与工程的视角,在有限的篇幅内有效构建一个如图1所示的、涵盖完整且突出技术性的嵌入式系统知识体系是一个极大的挑战。

目前大多数嵌入式系统知识体系和书籍都聚焦于实现计算装置与物理系统交互的技术集合。虽然这些实现技术对于设计和实现嵌入式系统是必要的,但这并未能构成学科的知识核心。例如Stankovic等人支持“现有面向RTES(实时嵌入式系统)设计的技术并不能有效地支撑可靠、鲁棒嵌入式系统的开发”,更需要进行抽象设计的这一观点。那么,由此类知识体系所造成的典型教学问题就在于,在有限的课时中,要么为了保证知识体系的完整性而使得其在各个环节上都泛于表面,要么为了保证深入性而采用实例化教学,极大地破坏了一般性,限制了学生的专业视野与思维空间。显然,这两者都是不可取的。

3.2  计算机科学视角

如前所述,从与物理世界交互的角度,嵌入式系统本质上是信息物理融合系统。Edward A. Lee教授提出,物理世界中的进程很少是程序化的,而是由诸多并行进程所构成,那么,通过设计影响这些进程的一组动作来评估和控制其动态特性就率先成为嵌入式系统设计的主要任务。所以,并发性才是信息物理融合系统的核心问题。进而从动态性、并发性的角度,更为合理的嵌入式系统知识体系应该关注于如何对软件、网络及物理进程的关联动态特性进行建模和设计,其知识核心则应定位于可以结合计算与物理动态特性的模型和抽象。基于模型开展研究具有非常突出的优势,模型的形式化属性让我们可以给出关于模型的断定性描述,但任何系统的物理实现都不会具备这样绝对的断定。因此,模型化方法也就成为从科学视角构造嵌入式系统知识体系的基础。

目前,从科学角度出发所构建的嵌入式系统书籍和知识体系重点聚焦于对软件及网络的时间动态性进行显式建模,并明确描述应用固有的并发特性。例如“Modeling Embedded Systems and SoCs-Concurrency and Time in Models of Computation”论述了计算的并发模型,“Embedded System Design-Embedded Systems Foundations of Cyber-Physical Systems”阐述软硬件行为的模型,“Model-checking for Probabilistic Real-time Systems”聚焦于信息物理融合系统的形式化建模、规格以及验证。特别地,Edward A. Lee教授在其所著的《嵌入式系统导论—CPS方法》(第2版)一书中较为系统地给出了嵌入式系统的科学知识体系(见图2),重点从建模、设计、分析3个方面进行阐述。其中,建模聚焦于动态行为的特性模型,特别是时域中的连续动态性、基于状态机阐述的离散动态性、混合系统、并发组合语义与并发计算模型等。设计部分的内容看似与计算机工程的内容相同,但叙述的重点是模型、动态性和并發性,其目标是建立跨越传统抽象层的思考方式。例如,传感器与执行器部分的重点是如何进行建模,以理解其在整个系统动态性中作用,对存储器体系结构的讨论亦是如此。分析部分聚焦于属性的精确规格以及用于比较规格、分析规格和设计结果的技术。如不变量与时态逻辑部分阐述可以准确描述系统动态属性的时态逻辑,等价与精化部分关注于模型间的关系,以语言包含和模拟关系作为比较模型动态属性的方法,可达性分析与模型检验侧重于用以分析模型所呈现动态行为的技术,特别强调以模型检验作为分析这些行为的技术,定量分析则讨论了对所消耗资源的边界、能耗等嵌入式软件定量属性的分析等。

从科学理论角度出发构建的知识体系更加贴近于嵌入式系统的动态性、并发性本质,学习也更侧重于思想性和方法性。这符合研究型大学高素质人才培养的要求。然而,这类知识体系也面临着两大重要挑战:(1)要求专业课程体系要突出计算机科学理论,要求学生前期就应已具备良好的理论素养。(2)学生同时要建立起良好的计算机工程基础,以有能力将抽象理论与具体设计方法进行融会贯通,实现理论知识到专业能力的转化。

3.3  两种知识体系的融合探索

由上述分析可知,从计算机工程角度出发所构建的嵌入式系统知识体系,更像是一个涵盖了系统设计全部环节的技术集合,从科学角度构建的知识体系則更贴近于嵌入式系统信息、网络、物理过程相融合的动态、并发本质。对于工科特性尤其突出的嵌入式系统课程,单纯采用任何一个知识体系来进行人才培养都是不够的。例如采用工程化知识体系,有助于提高学生的系统设计能力和开发能力,但并不利于从思想层面启发学生的思维和创新能力。科学化的知识体系有助于从思想、方法层面对学生进行培养,基于模型的设计也会具备更好的鲁棒性和可靠性,但是鉴于该类知识体系与系统实现之间目前还存在着较大的差距,纯粹的理论化培养并不能满足当前对高水平专业人才的综合要求。既然两类知识体系都各有突出的优缺点,那么将其互相借鉴并进行融合是非常有益的。

虽然最初立意于系统与技术,但嵌入式系统知识体系依然可以进一步优化和重构。实践中,我们尝试借鉴科学知识体系及其思想,对嵌入式系统课程体系进行改革。以研究型大学专业人才培养为目标,拓展计算机工程的知识体系,尽量开展学生的思想、思维和专业素质的启发与培养。具体思路是,对同一类型对象中的原理和方法进行归纳和提炼,建立该类对象所对应的共性模型,并尽量阐述其共性核心机制所蕴含的科学思想、方法以及技术原理。这一做法的目的是将专业人才的培养更多地引导向思想学习,以达成创新型人才培养的更高目标而不是退化为职业人才培养。具体而言,在嵌入式系统课程体系的改革中,我们研究并探索了基于模型和归纳的知识体系构建方法,以嵌入式计算系统体系的构建为脉络,并以该体系中各节点的共性原理归纳分析与具体实现实例讨论相结合的方式进行组织。以嵌入式操作系统的知识组织为例,当今我们耳熟能详的嵌入式操作系统有数百种,典型的如嵌入式Linux,Android,IOS,VxWorks,Contiki,ROS、Windows Embedded系列以及国产的SylixOS,Alios,Huawei LiteOS等。虽然这些操作系统的功能和规模有所不同,分别用于移动设备、实时控制设备或物联网设备,但其体系架构却可以分类抽象为通用可定制嵌入式操作系统结构(如VxWorks、SylixOS的架构)、集成领域组件的嵌入式操作系统平台架构(如Android的架构)以及面向领域的嵌入式操作系统开发平台框架(如Contiki、ROS的架构)。基于此,可进一步归纳出嵌入式操作系统中需要重点讨论以任务管理为核心的内核服务机制,将学习过程从技术学习深化为思想学习、原理学习和方法学习。读者可进一步参阅《嵌入式系统体系、原理与设计》一书,其中采用了这样的组织形式[7]。

将知识体系抽象化、理论化所带来的一个问题是如何避免弱化学生实践能力。实际上,这就需要对教学体系进行进一步改革,理论教学与实例教学相结合、课内教学与项目型作业相结合等都是有效解决这一问题的方法。教学实践表明,融合的知识体系有助于在有限的课时内帮助学生构建起完整的嵌入式系统知识体系,兼顾了原理、方法与设计实践,也更贴近研究型大学专业人才培养的要求。

4    结语

结合研究型大学创新型人才培养的要求,本文从计算机工程和计算机科学的角度分析了嵌入式系统的本质与核心问题,进而剖析了相应两类知识体系的内涵及其优缺点。在此基础上融合两种知识体系进行教学改革的思路与具体方法进行了探讨,并给出了具体建议,以期能够促进新时期嵌入式系统课程教学及人才培养质量的提升。

[参考文献]

[1]史静寰,赵可,夏华.卡内基高等教育机构分类与美国的研究型大学[J].北京大学教育评论,2007(2):107-119.

[2]BONNIE U.Excellence,leadership,skills,diversity:marketing liberal arts education[J].Language&Communication,2003(23):385-408.

[3]闵华松,魏洪兴,王田苗.嵌入式系统在电子信息类专业教学中的推广[J].单片机与嵌入式系统应用,2010(3):5-8.

[4]沈珊瑚,姚茂群.面向实践创新人才培养的嵌入式系统教学研究[J].计算机教育,2016(7):27-30.

[5]张凯龙.从架构、原理到设计的多维融合嵌入式系统知识体系构建[J].计算机教育,2017(4):98-103.

[6]EDWARD A.LEE.嵌入式系统导论—CPS方法[M].2版,张凯龙,译.北京:机械工业出版社,2018.

[7]张凯龙.嵌入式系统体系、原理与设计[M].北京:清华大学出版社,2017.

Abstract:Embedded system technology is very comprehensive and practical, is a typical engineering technology. Therefore, in the common embedded system curriculum and talent training system, more emphasis is placed on the learning of technical principles and the cultivation of practical ability. However, in the new engineering talents training system of high-level research universities, the cultivation of high-level professionals has higher requirements, so it is necessary to think and reconstruct the knowledge system and talent training system of embedded system from a new perspective. Therefore, this paper analyzes different types of knowledge systems from different perspectives of engineering and science and discusses how to deal with them.

Key words:embedded system; computer engineering; computer science; knowledge system; thought; thinking; method

猜你喜欢

知识体系嵌入式系统计算机科学
浅谈计算机科学与技术的现代化运用
重庆第二师范学院计算机科学与技术专业简介
CS2013指导下的程序设计课程实践教学实施方案设计与翻转实验教学实践
构建知识体系的专题课程教学改革实践和探索
智能信息处理实验课程建设
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究
浅谈在计算机科学中的创新精神