[套装书]实时嵌入式系统+实时嵌入式系统软件设计(2册)

作者
[美]王加存(Jiacun Wang)[美] 哈桑·戈玛(Hassan Gomaa)
丛书名
计算机科学丛书
出版社
机械工业出版社
ISBN
9781911041723
简要
简介
内容简介书籍计算机书籍 ---------------------------实时嵌入式系统--------------------------- 本书对实时嵌入式系统调度、资源访问控制、软件设计与开发以及高级系统建模、分析与验证等方面进行了综合讲解。首先概述基本概念,之后深入研究硬件组件的细节,包括处理器、内存、I/O设备和架构、通信结构、外围设备以及实时操作系统的特性。后面的章节致力于介绍实时任务调度算法和资源访问控制策略,以及优先级反转控制和死锁避免。同时还介绍了实时系统的并行系统编程和POSIX编程,以及有限状态机和时间Petri网。令软件工程师特别感兴趣的是模型检测的章节(其中讨论了时序逻辑和NuSMV模型检测工具),以及用UML处理实时软件设计的章节。最后探讨了软件可靠性、老化、重启、安全以及电源管理等实际问题。 ---------------------------实时嵌入式系统软件设计--------------------------- 本教材向读者介绍了关于实时嵌入式系统设计过程中采用SysML,UML和MARTE从用例到完整软件体系结构方面的内容,展示了如何针对实际问题应用COMET/RTE设计方法。本教材涵盖了关键主题,例如实时系统的用例、实时控制的状态机、分布式和分层实时控制的体系结构模式、实时基于组件的软件体系结构模式、采用实时调度的实时设计性能分析,以及单处理器和多处理器系统时序分析。
目录



---------------------------实时嵌入式系统---------------------------


出版者的话
译者序
前言
第1章 实时嵌入式系统简介1
1.1 实时嵌入式系统1
1.2 示例:汽车防抱死制动系统2
1.2.1 侧滑率和制动力2
1.2.2 ABS部件3
1.2.3 ABS控制5
1.3 实时嵌入式系统的特性6
1.3.1 系统结构6
1.3.2 实时响应7
1.3.3 高度制约的环境7
1.3.4 并发性7
1.3.5 可预测性8
1.3.6 安全性和可靠性8
1.4 硬实时嵌入式系统和软实时嵌入式系统8
习题9
阅读建议10
参考文献10
第2章 硬件组件11
2.1 处理器11
2.1.1 微处理器11
2.1.2 微控制器12
2.1.3 专用集成电路12
2.1.4 现场可编程门阵列13
2.1.5 数字信号处理器13
2.1.6 专用指令集处理器13
2.1.7 多核处理器13
2.1.8 冯·诺依曼结构和哈佛结构13
2.1.9 复杂指令集计算机和精简指令集计算机14
2.2 存储器和高速缓存15
2.2.1 只读存储器15
2.2.2 随机访问存储器15
2.2.3 高速缓存16
2.3 I/O接口17
2.4 传感器和执行器18
2.5 定时器和计数器19
习题20
阅读建议20
参考文献20
第3章 实时操作系统22
3.1 通用操作系统的主要功能22
3.1.1 进程管理22
3.1.2 内存管理24
3.1.3 中断管理26
3.1.4 多任务26
3.1.5 文件系统管理27
3.1.6 I/O管理27
3.2 RTOS内核的特性28
3.2.1 时钟和定时器29
3.2.2 优先级调度30
3.2.3 任务间通信和资源共享30
3.2.4 异步I/O31
3.2.5 内存锁定32
3.3 RTOS示例32
3.3.1 LynxOS32
3.3.2 OSE33
3.3.3 QNX33
3.3.4 VxWorks33
3.3.5 Windows Embedded Compact34
习题34
阅读建议35
参考文献35
URL35
第4章 任务调度36
4.1 任务36
4.1.1 任务说明36
4.1.2 任务状态38
4.1.3 优先约束39
4.1.4 任务分配与调度39
4.2 时钟驱动调度40
4.2.1 结构化时钟驱动调度42
4.2.2 调度非周期任务46
4.2.3 调度偶发任务46
4.3 轮询方法48
4.4 基于优先级的调度算法48
4.4.1 固定优先级算法49
4.4.2 动态优先级算法53
4.4.3 非周期和偶发任务的基于优先级调度57
4.4.4 实际因素59
4.5 任务分配62
4.5.1 装箱算法62
4.5.2 考虑通信成本的分配65
习题66
阅读建议68
参考文献69
第5章 资源共享与访问控制70
5.1 资源共享70
5.1.1 资源操作70
5.1.2 资源请求描述71
5.1.3 优先级反转和死锁72
5.1.4 资源访问控制73
5.2 非抢占的临界区协议73
5.3 优先级继承协议75
5.3.1 优先级继承协议的规则75
5.3.2 优先级继承协议的特性77
5.4 优先级上限协议79
5.4.1 优先级上限协议的规则79
5.4.2 优先级上限协议的特性81
5.4.3 最坏情况的阻塞时间83
5.5 堆栈共享优先级上限协议85
5.5.1 堆栈共享优先级上限协议的规则85
5.5.2 堆栈共享优先级上限协议的特性86
习题87
阅读建议89
参考文献89
第6章 并发编程90
6.1 简介90
6.2 POSIX线程90
6.3 同步机制93
6.3.1 竞争条件和临界区94
6.3.2 互斥95
6.3.3 条件变量97
6.3.4 信号量101
6.4 任务间通信106
6.4.1 消息队列106
6.4.2 共享内存111
6.4.3 共享内存保护114
6.5 实时设施116
6.5.1 实时信号116
6.5.2 定时器119
6.5.3 周期任务的实现121
6.5.4 多周期任务系统的实现124
习题124
阅读建议127
参考文献127
第7章 有限状态机128
7.1 有限状态机基础128
7.2 确定性有限自动机129
7.2.1 Moore机130
7.2.2 Mealy机132
7.3 非确定性有限自动机135
7.4 有限状态机的编程135
习题137
阅读建议140
参考文献140
第8章 UML状态机141
8.1 状态141
8.2 转移143
8.3 事件144
8.4 复合状态145
8.4.1 层次结构145
8.4.2 正交性146
8.4.3 子状态机状态147
8.5 伪状态147
8.5.1 历史伪状态147
8.5.2 进入点和退出点149
8.5.3 分叉和汇入伪状态150
8.5.4 终止伪状态150
8.6 ABS系统的UML状态机151
习题154
阅读建议156
参考文献156
第9章 时间Petri网157
9.1 Petri网定义157
9.1.1 变迁激发158
9.1.2 建模能力159
9.2 Petri网属性161
9.2.1 行为属性161
9.2.2 结构属性165
9.3 时间Petri网168
9.3.1 确定性时间Petri网168
9.3.2 时间Petri网173
习题176
阅读建议180
参考文献181
第10章 模型检查182
10.1 模型检查简介182
10.2 时序逻辑183
10.2.1 线性时序逻辑184
10.2.2 计算树逻辑190
10.2.3 LTL与CTL的比较194
10.3 模型检查工具NuSMV194
10.3.1 描述语言195
10.3.2 格式198
10.3.3 运行NuSMV199
10.4 实时计算树逻辑202
习题206
阅读建议209
参考文献209
第11章 实际问题211
11.1 软件可靠性211
11.1.1 软件错误211
11.1.2 可靠性测量212
11.1.3 提高软件的可靠性212
11.2 软件老化和重启213
11.3 信息安全性214
11.3.1 挑战214
11.3.2 常见漏洞214
11.3.3 信息安全软件设计215
11.4 安全性216
11.5 节电216
阅读建议217
参考文献217



---------------------------实时嵌入式系统软件设计---------------------------


出版者的话
译者序
前言
致谢
第一部分 概述
第1章 引言2
1.1 挑战2
1.2 实时嵌入式系统和应用软件2
1.3 实时嵌入式系统的特征3
1.4 分布式实时嵌入式系统5
1.5 信息物理系统6
1.6 嵌入式系统实时软件设计方法需求6
1.7 COMET/RTE:用于嵌入式系统的实时软件设计方法7
1.8 可视化建模语言:UML、SysML和MARTE7
1.9 小结7
第2章 UML、SysML和MARTE概述9
2.1 使用SysML和UML的模型驱动体系结构9
2.2 用例图10
2.3 类和对象11
2.4 类图11
2.5 交互图12
2.6 状态机图14
2.7 包图15
2.8 并发序列图和通信图15
2.9 部署图16
2.10 组合结构图17
2.11 UML扩展机制和扩展集18
2.12 SysML19
2.13 MARTE扩展集20
2.14 时序图21
2.15 UML、SysML和MARTE的工具支持21
2.16 小结22
第3章 实时软件设计和体系结构概念23
3.1 面向对象概念23
3.2 信息隐藏24
3.3 继承25
3.4 主动和被动对象26
3.5 并发处理26
3.6 并发任务之间的合作27
3.7 信息隐藏应用于访问同步30
3.8 实时并发处理的运行时支持30
3.9 任务调度31
3.10 软件体系结构和组件33
3.11 小结34
第二部分 实时软件设计方法
第4章 实时嵌入式系统软件设计方法概述36
4.1 COMET/RTE系统和软件生命周期模型36
4.2 COMET/RTE生命周期模型37
4.3 COMET/RTE生命周期与其他软件过程比较39
4.4 实时嵌入式系统设计方法综述40
4.5 系统和软件体系结构的多个视图41
4.6 小结42
第5章 SysML和UML实时嵌入式系统结构化建模43
5.1 静态建模概念43
5.2 用构造型归类块和类46
5.3 SysML问题域结构化建模46
5.4 系统上下文结构化建模48
5.5 硬件/软件边界建模50
5.6 软件系统上下文结构化建模51
5.7 定义硬件/软件接口54
5.8 系统部署建模54
5.9 小结55
第6章 实时嵌入式系统用例建模56
6.1 用例56
6.2 角色56
6.3 确定用例60
6.4 用例模型中的用例文档61
6.5 指定非功能需求61
6.6 用例描述举例62
6.7 用例关系65
6.8 包含用例关系65
6.9 扩展用例关系67
6.10 用例包69
6.11 小结69
第7章 实时嵌入式系统状态机71
7.1 状态机71
7.2 状态机示例73
7.3 事件和监护条件74
7.4 动作74
7.5 分层状态机79
7.6 协作状态机82
7.7 继承状态机84
7.8 从用例中开发状态机85
7.9 从用例中开发状态机的示例85
7.10 小结88
第8章 为实时嵌入式软件构造对象和类89
8.1 对象和类的构造标准89
8.2 对象和类的构造类别90
8.3 对象的行为和模式90
8.4 边界类和对象91
8.5 实体类和对象95
8.6 控制类和对象96
8.7 应用逻辑类和对象98
8.8 小结100
第9章 实时嵌入式软件动态交互建模101
9.1 对象交互建模101
9.2 消息序列描述102
9.3 动态交互建模方法102
9.4 无状态的动态交互建模103
9.5 无状态的动态交互建模示例103
9.6 依赖于状态的动态交互建模107
9.7 依赖于状态的动态交互建模示例:微波炉系统109
9.8 小结116
第10章 实时嵌入式系统软件体系结构117
10.1 软件体系结构概述117
10.2 软件体系结构的多个视图119
10.3 从分析过渡到设计121
10.4 子系统设计中的关注点分离123
10.5 子系统构造标准125
10.6 确定子系统间的消息通信130
10.7 小结131
第11章 实时嵌入式系统软件体系结构模式132
11.1 软件设计模式132
11.2 分层软件体系结构模式133
11.3 实时软件体系结构的控制模式135
11.4 客户/服务软件体系结构模式138
11.5 基本软件体系结构通信模式140
11.6 软件体系结构代理模式145
11.7 分组消息通信模式147
11.8 编写软件体系结构模式文档148
11.9 软件体系结构模式应用149
11.10 小结149
第12章 基于组件的实时嵌入式系统软件体系结构150
12.1 基于组件的软件体系结构150
12.2 基于组件的分布式软件体系结构设计151
12.3 组件接口设计151
12.4 复合组件设计153
12.5 基于组件的软件体系结构示例155
12.6 组件构造标准156
12.7 服务组件设计158
12.8 数据分布161
12.9 软件部署162
12.10 软件连接器设计163
12.11 小结165
第13章 并发实时软件任务设计166
13.1 并发任务构造问题166
13.2 分类并发任务166
13.3 I/O任务构造标准167
13.4 内部任务构造标准172
13.5 任务优先级标准177
13.6 任务聚簇标准178
13.7 用任务反演进行设计重构183
13.8 开发任务体系结构184
13.9 任务通信和同步185
13.10 任务接口与任务行为规范189
13.11 小结189
第14章 实时软件详细设计191
14.1 组合任务设计191
14.2 类访问同步196
14.3 监视器设计199
14.4 任务间通信连接器设计203
14.5 任务事件序列逻辑209
14.6 机器人和视觉系统中的实时软件详细设计210
14.7 并发任务的Java实现211
14.8 小结212
第15章 实时软件产品线体系结构设计213
15.1 软件产品线工程213
15.2 微波炉软件产品线问题描述214
15.3 软件产品线需求建模214
15.4 软件产品线分析建模218
15.5 软件产品线设计建模222
15.6 小结224
第三部分 实时软件设计分析
第16章 实时嵌入式系统的系统和软件质量属性226
16.1 可扩展性226
16.2 性能227
16.3 可用性227
16.4 安全性228
16.5 信息安全229
16.6 可维护性229
16.7 可修改性230
16.8 可测试性231
16.9 可跟踪性232
16.10 可重用性232
16.11 小结233
第17章 实时软件设计的性能分析234
17.1 实时调度理论234
17.2 非周期任务和任务同步的实时调度239
17.3 广义实时调度理论240
17.4 使用事件序列分析进行性能分析243
17.5 使用实时调度理论和事件序列分析进行性能分析245
17.6 高级实时调度算法245
17.7 多处理器系统的性能分析246
17.8 性能参数的估计和测量249
17.9 小结250
第18章 性能分析应用于实时软件设计251
18.1 使用事件序列分析进行性能分析的示例251
18.2 用实时调度理论进行性能分析的示例255
18.3 用实时调度理论和事件序列分析进行性能分析的示例258
18.4 设计重构268
18.5 小结268
第四部分 实时嵌入式系统软件
设计案例研究
第19章 微波炉控制系统案例研究270
19.1 问题描述270
19.2 结构化建模270
19.3 用例建模272
19.4 构造对象和类275
19.5 动态状态机建模276
19.6 动态交互建模280
19.7 设计建模290
19.8 实时软件设计的性能分析297
19.9 基于组件的软件体系结构301
19.10 详细的软件设计305
19.11 系统配置和部署307
第20章 铁路道口控制系统案例研究309
20.1 问题描述309
20.2 结构化建模309
20.3 用例建模313
20.4 动态状态机建模315
20.5 构造对象和类317
20.6 动态交互建模318
20.7 设计建模323
20.8 实时软件设计的性能分析328
20.9 基于组件的软件体系结构330
20.10 系统配置和部署334
第21章 轻轨控制系统案例研究336
21.1 问题描述336
21.2 结构化建模337
21.3 用例建模338
21.4 动态状态机建模346
21.5 构造子系统351
21.6 构造对象和类351
21.7 动态交互建模354
21.8 设计建模364
21.9 子系统综合通信图364
21.10 分布式轻轨系统设计366
21.11 基于组件的软件体系结构373
21.12 系统配置和部署375
第22章 泵控制系统案例研究377
22.1 问题描述377
22.2 结构化建模377
22.3 用例建模378
22.4 构造对象和类380
22.5 动态状态机建模380
22.6 动态交互建模382
22.7 设计建模383
第23章 高速公路收费控制系统案例研究387
23.1 问题描述387
23.2 用例建模387
23.3 软件系统上下文建模389
23.4 构造对象和类389
23.5 动态状态机建模390
23.6 动态交互建模390
23.7 设计建模392
附录A 本书使用的约定396
附录B 软件体系结构模式399
附录C 并发任务伪码模板415
附录D 教学考虑420
词汇表422
参考文献433
索引439




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4