本书适合用作高年级本科生或一年级研究生的实时嵌入式系统(也称为信息物理融合系统)课程的教材,首要目标是系统地介绍相关知识。本书内容划分为14章,正好对应一个学期的14周教学。本书也可作为技术参考书,向工业界的实践者提供实时嵌入式系统设计的现状,以及该领域涉及的基础性概念。从本书第1版出版至今的14年间,维也纳技术大学有超过1000名学生使用该书作为教材来学习实时系统课程。这些学生的反馈和嵌入式实时系统这个动态变化领域的许多新进展,都融入了第2版中。本书关注体系结构层次的分布式实时系统设计。然而我们发现,相当大一部分计算机科学文献都忽略了实时时间的推进,这使得实时系统设计者不掌握这个关键知识的抽象层次就无法开展系统设计工作。因此,物理时间推进是本书中最重要的概念,在此基础上定义很多相关的概念。本书使用大量来自工业界的案例来洞察解释与时间推进相关的基础性概念。本书扩展了分布式实时系统的概念模型,并精确定义了与时间相关的重要概念,如稀疏时间、状态、实时数据的时域精确性和确定性等。
大规模计算机系统的认知复杂性演化是个极为受关注的主题,第2版专门增加了一章来论述简约设计(第2章)。本章采纳了认知领域的一些最新研究发现,包括概念形成、理解、人类的简化策略、模型构建,并形成了有助于简约系统设计的7个原则。在后续的12章中,都围绕这些原则展开论述。另外还新增了两章,分别是第8章和第13章,论述移动设备这一巨大市场中越来越重要的主题。关于第6、7、11、12章都进行了系统性修订,并特别关注基于组件的设计和基于模型的设计。在第6章中,新增了关于信息安全和功能安全的多个小节。第14章介绍了时间触发体系结构,把本书论述的概念整合成连贯一致的框架,用来开发可信嵌入式实时系统。自本书第1版出版以来,在许多应用领域都可以清楚地看到,已经从采用事件触发设计方法学转向采用时间触发设计方法学来设计可信分布式实时系统。
本书假设读者拥有计算机科学或计算机工程方面的背景知识,或者在嵌入式系统设计、实现方面有一些实践经验。
作为不可分割的组成部分,本书最后对贯穿全书的技术术语给出了相应定义。如果读者在阅读过程中不确定某些术语的确切内涵,建议参考术语定义部分。
致谢
无法在这里一一列举所有对本书第2版有贡献的学生、工业界和科学界同行的姓名,他们在过去十几年为本书提出了诸多富有启发的问题或给出了建设性的评论。在完成本书第2版的最后阶段——2010年10月,我在范德堡大学讲授一门由Janos Sztipanovits组织的课程,从听众那里得到了宝贵的意见。在这里要特别感谢Christian Tessarek,他承担了本书的插图设计工作。感谢阅读了部分或全部手稿并提出了许多宝贵修改建议的Sven Bünte、Christian ElSalloum、Bernhard Fr?mel、 Oliver H?ftberger, Herbert Grünbacher、Benedikt Huber、Albrecht Kadlec、Roland Kammerer、Susanne Kandl、Vaclav Mikolasek、Stefan Poledna、Peter Puschner、Brian Randell、Andreas Steininger、Ekarin Suethanuwong、 Armin Wasicek、Michael Zolda,以及来自范德堡大学的学生Kyoungho An、Joshua D. Carl、Spencer Crosswy、Fred Eisele、Fan Qui和 Adam C. Trewyn。