注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)嵌入式系統(tǒng)的微模塊化程序設(shè)計(jì):實(shí)用狀態(tài)圖C/C++實(shí)現(xiàn)

嵌入式系統(tǒng)的微模塊化程序設(shè)計(jì):實(shí)用狀態(tài)圖C/C++實(shí)現(xiàn)

嵌入式系統(tǒng)的微模塊化程序設(shè)計(jì):實(shí)用狀態(tài)圖C/C++實(shí)現(xiàn)

定 價(jià):¥48.00

作 者: (美)Miro Samek著;敬萬(wàn)鈞,陳麗蓉譯;敬萬(wàn)鈞譯
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng): 嵌入式系統(tǒng)譯叢
標(biāo) 簽: 嵌入式計(jì)算機(jī)

ISBN: 9787810774154 出版時(shí)間: 2004-08-01 包裝: 平裝
開(kāi)本: 23cm+光盤1片 頁(yè)數(shù): 324 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  建模反應(yīng)式系統(tǒng)而不使用重量級(jí)的工具,作者的量子編程(QP)是一種新的范型。它把狀態(tài)圖作為一種設(shè)計(jì)方法,而不是作為特殊工具來(lái)使用。在本書的第1部分,給出相關(guān)概念清晰而明確的敘述,包括傳統(tǒng)的有限狀態(tài)機(jī)和狀態(tài)圖,以及基于狀態(tài)圖的設(shè)計(jì)模式;給出了可運(yùn)行代碼,使讀者能通過(guò)實(shí)際操作來(lái)學(xué)習(xí)量子編程,以及學(xué)到狀態(tài)嵌套如何導(dǎo)致行為繼承和如何通過(guò)按差異編程而實(shí)現(xiàn)重用。第2部分完整地?cái)⑹隽肆孔涌蚣艿膶?shí)現(xiàn),以及說(shuō)明如何在應(yīng)用中使用它,并移植到所選用的RTOS。本書適于嵌入式系統(tǒng)、實(shí)時(shí)系統(tǒng)及UML狀態(tài)圖的相關(guān)工程設(shè)計(jì)人員使用,并可作計(jì)算機(jī)科學(xué)和電氣工程高年級(jí)學(xué)生的教學(xué)用書。所附光盤包含了作者的量子框架的全部源代碼、散見(jiàn)于全書的所有練習(xí)的答案以及一個(gè)RTOS32的評(píng)估板——X86處理器的32位實(shí)時(shí)操作系統(tǒng)。

作者簡(jiǎn)介

暫缺《嵌入式系統(tǒng)的微模塊化程序設(shè)計(jì):實(shí)用狀態(tài)圖C/C++實(shí)現(xiàn)》作者簡(jiǎn)介

圖書目錄

第1部分 狀態(tài)圖
第1章 量子編程的快速瀏覽
1.1 終結(jié)鉤子——GUI應(yīng)用程序的剖析2
1.2 程序設(shè)計(jì)的更好辦法——一個(gè)計(jì)算器的工作5
1.2.1 傳統(tǒng)的事件動(dòng)作范型的缺點(diǎn)5
1.2.2 計(jì)算器狀態(tài)圖7
1.2.3 同Windows集成11
1.2.4 狀態(tài)處理器方法13
1.3 面向?qū)ο笙嗨菩?5
1.3.1 狀態(tài)層次和類分類學(xué)15
1.3.2 進(jìn)入/退出狀態(tài)和初始化/結(jié)束類16
1.3.3 按差異編程16
1.3.4 行為繼承作為基本的元模式16
1.3.5 狀態(tài)模式17
1.3.6 重構(gòu)狀態(tài)模型17
1.3.7 超越面向?qū)ο缶幊?8
1.4 量子類比18
1.5 小結(jié)18
第2章 狀態(tài)圖速成
2.1 有限狀態(tài)機(jī)的本質(zhì)20
2.1.1 狀態(tài)21
2.1.2 擴(kuò)展?fàn)顟B(tài)21
2.1.3 監(jiān)測(cè)器22
2.1.4 事件23
2.1.5 動(dòng)作和轉(zhuǎn)換23
2.1.6 Mealy和Moore自動(dòng)機(jī)24
2.1.7 執(zhí)行模型——RTC步24
2.1.8 狀態(tài)轉(zhuǎn)換圖25
2.2 UML狀態(tài)圖的本質(zhì)26
2.2.1 層次式狀態(tài)26
2.2.2 行為繼承28
2.2.3 正交區(qū)域29
2.2.4 進(jìn)入和退出動(dòng)作30
2.2.5 轉(zhuǎn)換執(zhí)行序列32
2.2.6 內(nèi)部轉(zhuǎn)換33
2.2.7 偽狀態(tài)33
2.2.8 細(xì)化事件處理34
2.2.9 語(yǔ)義與表示法34
2.2.10 狀態(tài)圖和流程圖35
2.2.11 狀態(tài)圖與自動(dòng)代碼綜合36
2.3 狀態(tài)模型的例子37
2.3.1 量子計(jì)算器37
2.3.2 氫原子41
2.4 小結(jié)44
第3章 標(biāo)準(zhǔn)狀態(tài)機(jī)實(shí)現(xiàn)
3.1 狀態(tài)機(jī)接口46
3.2 嵌套的switch語(yǔ)句48
3.3 狀態(tài)表51
3.4 狀態(tài)設(shè)計(jì)模式56
3.5 優(yōu)化的FSM實(shí)現(xiàn)60
3.6 狀態(tài)機(jī)和C 異常處理64
3.7 成員函數(shù)指針的作用65
3.8 實(shí)現(xiàn)監(jiān)測(cè)器. 接合和選擇點(diǎn)66
3.9 實(shí)現(xiàn)進(jìn)入和退出動(dòng)作67
3.10 處理狀態(tài)層次68
3.11 小結(jié)69
第4章 實(shí)現(xiàn)行為繼承
4.1 結(jié)構(gòu)71
4.1.1 事件74
4.1.2 狀態(tài)76
4.1.3 進(jìn)入/退出動(dòng)作和初始轉(zhuǎn)換77
4.1.4 狀態(tài)轉(zhuǎn)換79
4.1.5 top狀態(tài)和初始偽狀態(tài)80
4.2 一個(gè)注釋性例子81
4.2.1 枚舉信號(hào)和子類構(gòu)作QHsm82
4.2.2 定義狀態(tài)處理器方法83
4.2.3 初始化和分發(fā)事件86
4.2.4 測(cè)試運(yùn)行87
4.3 試探和約定89
4.3.1 構(gòu)建狀態(tài)機(jī)代碼89
4.3.2 選擇正確的信號(hào)粒度91
4.3.3 UML一致的HSM91
4.4 事件處理器93
4.4.1 初始化狀態(tài)機(jī):init()方法93
4.4.2 分發(fā)事件:dispatch()方法95
4.4.3 靜態(tài)和動(dòng)態(tài)狀態(tài)轉(zhuǎn)換:宏Q_TRAN和Q_TRAN_DYN()96
4.4.4 動(dòng)態(tài)狀態(tài)轉(zhuǎn)換:tran()方法97
4.4.5 靜態(tài)狀態(tài)轉(zhuǎn)換:tranStat()方法和Tran類102
4.4.6 初始化QTran對(duì)象:tranSetup()方法104
4.5 C實(shí)現(xiàn)107
4.5.1 用“C ”的QHsm類107
4.5.2 QHsm構(gòu)造函數(shù)與析構(gòu)函數(shù)109
4.5.3 狀態(tài)處理器方法和成員函數(shù)指針109
4.5.4 QHsm方法110
4.5.5 用C的狀態(tài)圖例子110
4.6 防止誤解的說(shuō)明113
4.7 小結(jié)115
第5章 狀態(tài)模式
5.1 終結(jié)鉤子118
5.1.1 目的118
5.1.2 問(wèn)題118
5.1.3 解決辦法118
5.1.4 樣例代碼119
5.1.5 結(jié)論121
5.2 提示法122
5.2.1 目標(biāo)122
5.2.2 問(wèn)題122
5.2.3 解決辦法122
5.2.4 樣例代碼123
5.2.5 結(jié)論127
5.3 延遲事件128
5.3.1 目的128
5.3.2 問(wèn)題128
5.3.3 解決辦法128
5.3.4 樣例代碼130
5.3.5 結(jié)論133
5.4 正交構(gòu)件133
5.4.1 目的133
5.4.2 問(wèn)題133
5.4.3 解決辦法134
5.4.4 樣例代碼135
5.4.5 結(jié)論141
5.5 轉(zhuǎn)換到歷史143
5.5.1 目的143
5.5.2 問(wèn)題143
5.5.3 解決辦法143
5.5.4 樣例代碼143
5.5.5 結(jié)論147
5.6 小結(jié)147
第6章 繼承狀態(tài)模型
6.1 用C 的狀態(tài)圖細(xì)化的例子149
6.2 用C的狀態(tài)圖細(xì)化舉例157
6.2.1 為多態(tài)性準(zhǔn)備C 狀態(tài)機(jī)157
6.2.2 繼承和細(xì)化C 狀態(tài)機(jī)159
6.3 防止誤解的說(shuō)明160
6.3.1 靜態(tài)與動(dòng)態(tài)狀態(tài)轉(zhuǎn)換的比較161
6.3.2 多重繼承161
6.3.3 繼承和細(xì)化狀態(tài)圖的探索163
6.4 小結(jié)165
第2部分 量子框架
第7章 量子框架介紹
7.1 傳統(tǒng)多線程方法170
7.1.1 就餐哲學(xué)家——傳統(tǒng)方法171
7.1.2 Therac25的故事174
7.2 QF的計(jì)算模型175
7.2.1 基于活動(dòng)對(duì)象的多線程176
7.2.2 量子類比177
7.2.3 出版訂閱事件交付179
7.2.4 通用結(jié)構(gòu)180
7.2.5 重訪就餐哲學(xué)家問(wèn)題180
7.3 QF的角色183
7.3.1 概念完整的源泉184
7.3.2 RTOS抽象層185
7.3.3 軟件總線186
7.3.4 高度并行計(jì)算平臺(tái)187
7.3.5 自動(dòng)代碼生成的基礎(chǔ)188
7.4 小結(jié)189
第8章 量子框架的設(shè)計(jì)
8.1 嵌入式實(shí)時(shí)系統(tǒng)190
8.2 處理錯(cuò)誤和異常條件192
8.2.1 按契約設(shè)計(jì)194
8.2.2 基于狀態(tài)的異常條件處理197
8.3 內(nèi)存管理198
8.3.1 堆問(wèn)題199
8.3.2 QF中的內(nèi)存管理201
8.4 互斥和阻塞203
8.4.1 互斥的危險(xiǎn)203
8.4.2 基于活動(dòng)對(duì)象的系統(tǒng)中的阻塞206
8.5 傳送事件207
8.5.1 動(dòng)態(tài)事件分配209
8.5.2 出版訂閱模型212
8.5.3 組播事件217
8.5.4 自動(dòng)事件回收219
8.6 活動(dòng)對(duì)象220
8.6.1 內(nèi)部狀態(tài)機(jī)220
8.6.2 事件隊(duì)列221
8.6.3 執(zhí)行線程222
8.7 初始化和清除224
8.7.1 初始化框架224
8.7.2 啟動(dòng)QF應(yīng)用225
8.7.3 優(yōu)美地終結(jié)QF應(yīng)用226
8.8 時(shí)間管理226
8.8.1 QTimer類227
8.8.2 時(shí)鐘節(jié)拍, 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 小結(jié)233
第9章 量子框架的實(shí)現(xiàn)
9.1 作為一個(gè)Parnas家族的QF235
9.2 代碼組織236
9.2.1 目錄結(jié)構(gòu)238
9.2.2 公共范圍頭文件240
9.2.3 包范圍頭文件241
9.3 公共元素242
9.3.1 臨界區(qū)242
9.3.2 事件池243
9.3.3 事件隊(duì)列247
9.4 DOS:不具備多任務(wù)內(nèi)核的QF253
9.4.1 前臺(tái)/后臺(tái)處理253
9.4.2 使用QF的前臺(tái)/后臺(tái)254
9.4.3 DOS特定的代碼258
9.4.4 QF給前臺(tái)/后臺(tái)系統(tǒng)帶來(lái)的益處260
9.5 Win32:桌面上的QF261
9.5.1 臨界區(qū). 事件隊(duì)列和執(zhí)行線程261
9.5.2 時(shí)鐘節(jié)拍264
9.6 RTKernel32:帶有一個(gè)基于優(yōu)先級(jí)的可搶占內(nèi)核的QF266
9.6.1 臨界區(qū)和事件池266
9.6.2 事件隊(duì)列和執(zhí)行線程269
9.6.3 RTKernel32的初始化和時(shí)鐘節(jié)拍271
9.6.4 使用RTKernel32進(jìn)行交叉開(kāi)發(fā)272
9.7 小結(jié)273
第10章 量子框架應(yīng)用實(shí)例
10.1 產(chǎn)生一個(gè)QF應(yīng)用274
10.1.1 信號(hào)和事件275
10.1.2 Table活動(dòng)對(duì)象277
10.1.3 Philosopher活動(dòng)對(duì)象280
10.1.4 配置DPP282
10.1.5 注解283
10.2 開(kāi)發(fā)QF應(yīng)用的規(guī)則284
10.3 開(kāi)發(fā)QF應(yīng)用的啟發(fā)286
10.4 劃分事件隊(duì)列和事件池的大小287
10.4.1 事件隊(duì)列287
10.4.2 事件池290
10.5 系統(tǒng)集成290
10.6 小結(jié)291
第11章 結(jié)束語(yǔ)
11.1 QP的關(guān)鍵元素292
11.1.1 是一個(gè)設(shè)計(jì)類型, 而不是工具293
11.1.2 是一個(gè)建模助手293
11.1.3 是一個(gè)學(xué)習(xí)上的助手294
11.1.4 是一個(gè)有用的隱喻295
11.2 QP的建議296
11.2.1 量子編程語(yǔ)言296
11.2.2 未來(lái)的RTOS297
11.2.3 硬件/軟件協(xié)同設(shè)計(jì)297
11.3 一個(gè)邀請(qǐng)298
附錄A C ——用C作面向?qū)ο缶幊?br />A.1 抽象301
A.2 繼承303
A.3 多態(tài)性305
A.4 費(fèi)用和額外開(kāi)銷312
A.5 小結(jié)313
附錄B 表示法指南
B.1 類圖315
B.2 狀態(tài)圖317
B.3 順序圖318
B.4 時(shí)序圖318
附錄C CDROM
C.1 源代碼結(jié)構(gòu)321
C.2 安裝321
C.2.1 源代碼321
C.2.2 OnTime RTOS32評(píng)估套件321
C.2.3 Adobe Acrobat Reader322
C.3 練習(xí)的答案322
C.4 資源323
參考文獻(xiàn)324

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)