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

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

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

定 價:¥48.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1部分 狀態(tài)圖
第1章 量子編程的快速瀏覽
1.1 終結(jié)鉤子——GUI應(yīng)用程序的剖析2
1.2 程序設(shè)計的更好辦法——一個計算器的工作5
1.2.1 傳統(tǒng)的事件動作范型的缺點(diǎn)5
1.2.2 計算器狀態(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)測器22
2.1.4 事件23
2.1.5 動作和轉(zhuǎn)換23
2.1.6 Mealy和Moore自動機(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)入和退出動作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 語義與表示法34
2.2.10 狀態(tài)圖和流程圖35
2.2.11 狀態(tài)圖與自動代碼綜合36
2.3 狀態(tài)模型的例子37
2.3.1 量子計算器37
2.3.2 氫原子41
2.4 小結(jié)44
第3章 標(biāo)準(zhǔn)狀態(tài)機(jī)實現(xiàn)
3.1 狀態(tài)機(jī)接口46
3.2 嵌套的switch語句48
3.3 狀態(tài)表51
3.4 狀態(tài)設(shè)計模式56
3.5 優(yōu)化的FSM實現(xiàn)60
3.6 狀態(tài)機(jī)和C 異常處理64
3.7 成員函數(shù)指針的作用65
3.8 實現(xiàn)監(jiān)測器. 接合和選擇點(diǎn)66
3.9 實現(xiàn)進(jìn)入和退出動作67
3.10 處理狀態(tài)層次68
3.11 小結(jié)69
第4章 實現(xiàn)行為繼承
4.1 結(jié)構(gòu)71
4.1.1 事件74
4.1.2 狀態(tài)76
4.1.3 進(jìn)入/退出動作和初始轉(zhuǎn)換77
4.1.4 狀態(tài)轉(zhuǎn)換79
4.1.5 top狀態(tài)和初始偽狀態(tài)80
4.2 一個注釋性例子81
4.2.1 枚舉信號和子類構(gòu)作QHsm82
4.2.2 定義狀態(tài)處理器方法83
4.2.3 初始化和分發(fā)事件86
4.2.4 測試運(yùn)行87
4.3 試探和約定89
4.3.1 構(gòu)建狀態(tài)機(jī)代碼89
4.3.2 選擇正確的信號粒度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)和動態(tài)狀態(tài)轉(zhuǎn)換:宏Q_TRAN和Q_TRAN_DYN()96
4.4.4 動態(tài)狀態(tài)轉(zhuǎn)換:tran()方法97
4.4.5 靜態(tài)狀態(tài)轉(zhuǎn)換:tranStat()方法和Tran類102
4.4.6 初始化QTran對象:tranSetup()方法104
4.5 C實現(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 防止誤解的說明113
4.7 小結(jié)115
第5章 狀態(tài)模式
5.1 終結(jié)鉤子118
5.1.1 目的118
5.1.2 問題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 問題122
5.2.3 解決辦法122
5.2.4 樣例代碼123
5.2.5 結(jié)論127
5.3 延遲事件128
5.3.1 目的128
5.3.2 問題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 問題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 問題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 防止誤解的說明160
6.3.1 靜態(tài)與動態(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的計算模型175
7.2.1 基于活動對象的多線程176
7.2.2 量子類比177
7.2.3 出版訂閱事件交付179
7.2.4 通用結(jié)構(gòu)180
7.2.5 重訪就餐哲學(xué)家問題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 自動代碼生成的基礎(chǔ)188
7.4 小結(jié)189
第8章 量子框架的設(shè)計
8.1 嵌入式實時系統(tǒng)190
8.2 處理錯誤和異常條件192
8.2.1 按契約設(shè)計194
8.2.2 基于狀態(tài)的異常條件處理197
8.3 內(nèi)存管理198
8.3.1 堆問題199
8.3.2 QF中的內(nèi)存管理201
8.4 互斥和阻塞203
8.4.1 互斥的危險203
8.4.2 基于活動對象的系統(tǒng)中的阻塞206
8.5 傳送事件207
8.5.1 動態(tài)事件分配209
8.5.2 出版訂閱模型212
8.5.3 組播事件217
8.5.4 自動事件回收219
8.6 活動對象220
8.6.1 內(nèi)部狀態(tài)機(jī)220
8.6.2 事件隊列221
8.6.3 執(zhí)行線程222
8.7 初始化和清除224
8.7.1 初始化框架224
8.7.2 啟動QF應(yīng)用225
8.7.3 優(yōu)美地終結(jié)QF應(yīng)用226
8.8 時間管理226
8.8.1 QTimer類227
8.8.2 時鐘節(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章 量子框架的實現(xiàn)
9.1 作為一個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 事件隊列247
9.4 DOS:不具備多任務(wù)內(nèi)核的QF253
9.4.1 前臺/后臺處理253
9.4.2 使用QF的前臺/后臺254
9.4.3 DOS特定的代碼258
9.4.4 QF給前臺/后臺系統(tǒng)帶來的益處260
9.5 Win32:桌面上的QF261
9.5.1 臨界區(qū). 事件隊列和執(zhí)行線程261
9.5.2 時鐘節(jié)拍264
9.6 RTKernel32:帶有一個基于優(yōu)先級的可搶占內(nèi)核的QF266
9.6.1 臨界區(qū)和事件池266
9.6.2 事件隊列和執(zhí)行線程269
9.6.3 RTKernel32的初始化和時鐘節(jié)拍271
9.6.4 使用RTKernel32進(jìn)行交叉開發(fā)272
9.7 小結(jié)273
第10章 量子框架應(yīng)用實例
10.1 產(chǎn)生一個QF應(yīng)用274
10.1.1 信號和事件275
10.1.2 Table活動對象277
10.1.3 Philosopher活動對象280
10.1.4 配置DPP282
10.1.5 注解283
10.2 開發(fā)QF應(yīng)用的規(guī)則284
10.3 開發(fā)QF應(yīng)用的啟發(fā)286
10.4 劃分事件隊列和事件池的大小287
10.4.1 事件隊列287
10.4.2 事件池290
10.5 系統(tǒng)集成290
10.6 小結(jié)291
第11章 結(jié)束語
11.1 QP的關(guān)鍵元素292
11.1.1 是一個設(shè)計類型, 而不是工具293
11.1.2 是一個建模助手293
11.1.3 是一個學(xué)習(xí)上的助手294
11.1.4 是一個有用的隱喻295
11.2 QP的建議296
11.2.1 量子編程語言296
11.2.2 未來的RTOS297
11.2.3 硬件/軟件協(xié)同設(shè)計297
11.3 一個邀請298
附錄A C ——用C作面向?qū)ο缶幊?br />A.1 抽象301
A.2 繼承303
A.3 多態(tài)性305
A.4 費(fèi)用和額外開銷312
A.5 小結(jié)313
附錄B 表示法指南
B.1 類圖315
B.2 狀態(tài)圖317
B.3 順序圖318
B.4 時序圖318
附錄C CDROM
C.1 源代碼結(jié)構(gòu)321
C.2 安裝321
C.2.1 源代碼321
C.2.2 OnTime RTOS32評估套件321
C.2.3 Adobe Acrobat Reader322
C.3 練習(xí)的答案322
C.4 資源323
參考文獻(xiàn)324

本目錄推薦

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