图书介绍

嵌入式系统的微模块化程序设计 实用状态图C/C++实现PDF|Epub|txt|kindle电子书版本网盘下载

嵌入式系统的微模块化程序设计 实用状态图C/C++实现
  • (美)MirosamiekPHD著;敬万钧,陈丽蓉译 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:7810774158
  • 出版时间:2004
  • 标注页数:327页
  • 文件大小:97MB
  • 文件页数:341页
  • 主题词:模块化程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式系统的微模块化程序设计 实用状态图C/C++实现PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 状态图3

第1章 量子编程的快速浏览3

1.1 终结钩子——GUI应用程序的剖析3

目录3

1.2 程序设计的更好办法——一个计算器的工作5

1.2.1 传统的事件动作范型的缺点5

1.2.2 计算器状态图7

1.2.3 同Windows集成11

1.2.4 状态处理器方法13

1.3 面向对象相似性15

1.3.1 状态层次和类分类学15

1.3.2 进入/退出状态和初始化/结束类16

1.3.3 按差异编程16

1.3.4 行为继承作为基本的元模式16

1.3.6 重构状态模型17

1.3.5 状态模式17

1.3.7 超越面向对象编程18

1.4 量子类比18

1.5 小结18

第2章 状态图速成21

2.1 有限状态机的本质21

2.1.1 状态21

2.1.2 扩展状态21

2.1.3 监测器22

2.1.4 事件23

2.1.5 动作和转换23

2.1.6 Mealy和Moore自动机24

2.1.7 执行模型——RTC步24

2.1.8 状态转换图25

2.2.1 层次式状态26

2.2 UML状态图的本质26

2.2.2 行为继承28

2.2.3 正交区域29

2.2.4 进入和退出动作30

2.2.5 转换执行序列32

2.2.6 内部转换33

2.2.7 伪状态33

2.2.8 细化事件处理34

2.2.9 语义与表示法34

2.2.10 状态图和流程图35

2.2.11 状态图与自动代码综合36

2.3 状态模型的例子37

2.3.1 量子计算器37

2.3.2 氢原子41

2.4 小结44

3.1 状态机接口46

第3章 标准状态机实现46

3.2 嵌套的switch语句48

3.3 状态表51

3.4 状态设计模式56

3.5 优化的FSM实现60

3.6 状态机和C++异常处理64

3.7 成员函数指针的作用65

3.8 实现监测器、接合和选择点66

3.9 实现进入和退出动作67

3.10 处理状态层次68

3.11 小结69

第4章 实现行为继承71

4.1 结构71

4.1.1 事件74

4.1.2 状态76

4.1.3 进入/退出动作和初始转换77

4.1.4 状态转换79

4.1.5 top状态和初始伪状态80

4.2 一个注释性例子81

4.2.1 枚举信号和子类构作QHsm82

4.2.2 定义状态处理器方法83

4.2.3 初始化和分发事件86

4.2.4 测试运行87

4.3 试探和约定89

4.3.1 构建状态机代码89

4.3.2 选择正确的信号粒度91

4.3.3 UML一致的HSM91

4.4 事件处理器93

4.4.1 初始化状态机:init()方法93

4.4.2 分发事件:dispatch()方法95

4.4.3 静态和动态状态转换:宏Q_TRAN和Q_TRAN_DYN()96

4.4.4 动态状态转换:tran()方法97

4.4.5 静态状态转换:tranStat()方法和Tran类102

4.4.6 初始化QTran对象:tranSetup()方法104

4.5 C实现107

4.5.1 用“C+”的QHsm类107

4.5.2 QHsm构造函数与析构函数109

4.5.3 状态处理器方法和成员函数指针109

4.5.4 QHsm方法110

4.5.5 用C的状态图例子110

4.6 防止误解的说明113

4.7 小结115

5.1.2 问题118

5.1.1 目的118

5.1.3 解决办法118

5.1 终结钩子118

第5章 状态模式118

5.1.4 样例代码119

5.1.5 结论121

5.2 提示法122

5.2.1 目的122

5.2.2 问题122

5.2.3 解决办法122

5.2.4 样例代码123

5.2.5 结论127

5.3 延迟事件128

5.3.1 目的128

5.3.2 问题128

5.3.3 解决办法128

5.3.4 样例代码130

5.4.2 问题133

5.4.1 目的133

5.4 正交构件133

5.3.5 结论133

5.4.3 解决办法134

5.4.4 样例代码135

5.4.5 结论141

5.5 转换到历史143

5.5.1 目的143

5.5.2 问题143

5.5.3 解决办法143

5.5.4 样例代码143

5.5.5 结论147

5.6 小结147

第6章 继承状态模型149

6.1 用C++的状态图细化举例149

6.2 用C的状态图细化举例157

6.2.1 为多态性准备C+状态机157

6.2.2 继承和细化C+状态机159

6.3 防止误解的说明160

6.3.1 静态与动态状态转换的比较161

6.3.2 多重继承161

6.3.3 继承和细化状态图的探索163

6.4 小结165

第2部分 量子框架170

第7章 量子框架介绍170

7.1 传统多线程方法170

7.1.1 就餐哲学家——传统方法171

7.1.2 Therac-25的故事174

7.2 QF的计算模型175

7.2.1 基于活动对象的多线程176

7.2.2 量子类比177

7.2.3 出版-订阅事件交付179

7.2.5 重访就餐哲学家问题180

7.2.4 通用结构180

7.3 QF的角色183

7.3.1 概念完整的源泉184

7.3.2 RTOS抽象层185

7.3.3 软件总线186

7.3.4 高度并行计算平台187

7.3.5 自动代码生成的基础188

7.4 小结189

第8章 量子框架的设计191

8.1 嵌入式实时系统191

8.2 处理错误和异常条件192

8.2.1 按契约设计194

8.2.2 基于状态的异常条件处理197

8.3 内存管理198

8.3.1 堆问题199

8.3.2 QF中的内存管理201

8.4.1 互斥的危险203

8.4 互斥和阻塞203

8.4.2 基于活动对象的系统中的阻塞206

8.5 传送事件207

8.5.1 动态事件分配209

8.5.2 出版-订阅模型212

8.5.3 组播事件217

8.5.4 自动事件回收219

8.6 活动对象220

8.6.1 内部状态机220

8.6.2 事件队列221

8.6.3 执行线程222

8.7 初始化和清除224

8.7.1 初始化框架224

8.7.2 启动QF应用225

8.8 时间管理226

8.7.3 优美地终结QF应用226

8.8.1 QTimer类227

8.8.2 时钟节拍,QF∷tick()方法228

8.9 QF API快速参考229

8.9.1 QF接口229

8.9.2 QActive接口231

8.9.3 QTimer接口232

8.10 小结233

第9章 量子框架的实现236

9.1 作为一个Parnas家族的QF236

9.2 代码组织236

9.2.1 目录结构238

9.2.2 公共范围头文件240

9.2.3 包范围头文件241

9.3.1 临界区242

9.3 公共元素242

9.3.2 事件池243

9.3.3 事件队列247

9.4 DOS:不具备多任务内核的QF253

9.4.1 前台/后台处理253

9.4.2 使用QF的前台/后台254

9.4.3 DOS特定的代码258

9.4.4 QF给前台/后台系统带来的益处260

9.5 Win32:桌面上的QF261

9.5.1 临界区、事件队列和执行线程261

9.5.2 时钟节拍264

9.6 RTKernel-32:带有一个基于优先级的可抢占内核的QF266

9.6.1 临界区和事件池266

9.6.2 事件队列和执行线程269

9.6.3 RTKernel-32的初始化和时钟节拍271

9.6.4 使用RTKernel-32进行交叉开发272

9.7 小结273

第10章 量子框架应用实例275

10.1 产生一个QF应用275

10.1.1 信号和事件275

10.1.2 Table活动对象277

10.1.3 Philosopher活动对象280

10.1.4 配置DPP282

10.1.5 注解283

10.2 开发QF应用的规则284

10.3 开发QF应用的启发286

10.4 划分事件队列和事件池的大小287

10.4.1 事件队列287

10.4.2 事件池290

10.5 系统集成290

10.6 小结291

11.1 QP的关键元素292

第11章 结束语292

11.1.1 是一个设计类型,而不是工具293

11.1.2 是一个建模助手293

11.1.3 是一个学习上的助手294

11.1.4 是一个有用的隐喻295

11.2 QP的建议296

11.2.1 量子编程语言296

11.2.2 未来的RTOS297

11.2.3 硬件/软件协同设计297

11.3 一个邀请298

附录A C+——用C作面向对象编程301

A.1 抽象301

A.2 继承303

A.3 多态性305

A.4 费用和额外开销312

A.5 小结313

附录B 表示法指南315

B.1 类图315

B.2 状态图317

B.3 顺序图318

B.4 时序图318

附录C CD-ROM321

C.1 源代码结构321

C.2 安装321

C.2.1 源代码321

C.2.2 OnTime RTOS-32评估套件321

C.2.3 Adobe Acrobat Reader322

C.3 练习的答案322

C.4 资源323

参考文献324

热门推荐