图书前言

前言

实时嵌入式系统或信息物理系统(CPS)具有反应式、安全关键、时序关键和分布式等重要特征,强调信息系统与物理系统的交互,其设计方法涉及控制、计算机、通信、电子等学科的融合。设计者不仅需要掌握微控制器编程技术,更需要理解和掌握实时计算理论以及完整的工程化建模、设计和分析方法,才能可预测地完成系统设计,满足严苛的设计约束。实时嵌入式系统设计理论和方法是我国制造业发展升级的核心技术,未来,嵌入式智能系统的应用将日益普及,迫切需要大量高层次专业人才投身于这一领域,但目前国内高校的相关教育比较薄弱,创新性人才培养能力相对不足。

国内外常见的培训资料或教科书往往单一地讨论基于特定嵌入式硬件平台(如ARM)或特定嵌入式操作系统(如μC/OS、FreeRTOS、Android等)的嵌入式程序编程技术,或讨论嵌入式软件工程(包括形式化方法),但都没有提供系统设计方法学的整体视图,相关知识过于分散。近年来,国外的一些嵌入式系统教科书引入了信息物理系统,包含控制工程和计算机工程的理论和方法,但对控制理论和模型的论述过多,计算机专业的学生不容易理解。

结合作者多年的教学和科研实践,通过对该领域重要课题的梳理,本书从计算机科学与技术视角出发,从实时计算和设计自动化两方面讨论实时嵌入式系统的设计问题。书中一方面讨论实时调度、资源管理和实时操作系统等实时计算理论和应用; 另一方面以构件化设计和模型化设计等工程化设计范式为基础,以自顶向下的“建模设计分析”为关键技术路线,以反应式时序行为保证为核心,深入讨论实时嵌入式系统的量化和形式化设计与分析技术。

理论、抽象和设计是一般科学技术方法论的核心内容。理论源于数学,抽象源于现实,设计源于工程。系统科学和工程方法用系统的观点认识和处理问题,是一般科学技术方法论中的重要内容,结构化、层次化和模型化是其基本思想。以此为基础,实时嵌入式系统设计的论题非常广泛,难以在一门课程中涵盖。本书内容的选取围绕“自顶向下”的系统设计方法展开,涵盖建模、验证、设计、实现和分析,期望纲要式地勾画出完整视图,而不过多涉及具体系统或平台的细节。书中对动态系统、混成系统、容错系统、复杂数字系统(SoC),以及嵌入式软件工程、概率模型检验、信息安全、能耗优化等内容没有详细讨论。感兴趣的读者可以进一步参考Giorgio Buttazzo教授的Hard RealTime Computing Systems: Predictable Scheduling Algorithms and Applications,Phillip A.Laplante教授的RealTime Systems Design and Analysis: Tools for The Practitioner,Hermann Kopetz教授的RealTime Systems: Design Principles for Distributed Embedded Applications和Rajeev Alur教授的Principles of CyberPhysical Systems等国外经典教科书。基于以上作者各自的专业方向,这些书籍分别讨论了实时调度理论、实时软件工程、分布式实时系统和形式化模型分析与验证等问题。

李曦、陈香兰、王超和周学海四位老师共同参与了全书内容的组稿、统稿和修改工作。本书素材基于作者十余年相关研究生课程教学和科研工作的积累,其中参考了大量国内外相关教材、课件和学术论文,某些信息来源甚至难以查找。在此对所引用文献的作者表示衷心感谢,对遗漏的信息源作者表示歉意。

本书的编写工作得到软件工程教指委专业规划教材第一批建设立项,并得到国家自然科学基金“安全关键信息物理系统的时序可预测性问题研究(6177050133)”项目的支持。同时,清华大学出版社黄芝编辑为本书出版做了大量工作,在此一并表示诚挚感谢。

由于作者水平有限,书中难免有不当之处,敬请读者批评指正。

作者2021年10月