注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学嵌入式与实时系统开发:使用UML、对象技术、框架与模式

嵌入式与实时系统开发:使用UML、对象技术、框架与模式

嵌入式与实时系统开发:使用UML、对象技术、框架与模式

定 价:¥55.00

作 者: (美)Bruce Powel Douglass著;柳翔等译;柳翔译
出版社: 机械工业出版社
丛编项: 计算机科学丛书
标 签: 嵌入式计算机

ISBN: 9787111155928 出版时间: 2005-03-01 包装: 平装
开本: 26cm 页数: 458 字数:  

内容简介

  本书无疑是这一领域中创作的著作……每个人都可以把它作为教材和参考书。本书深入浅出地介绍实时系统的开发过程和技术,提供成功的嵌入系统编程方式,书中采用面向对象软件开发的实践技巧,分析如何提高实时编程的质量。本书结合嵌入式系统编程中最新概念,使用统一建模语言以及来自于对象技术中的最佳实践,揭示了实时系统开发过程中复杂问题和细节问题,阐明了可调度性,行为模式,实时框架等重要主题,以期帮助读者成为更加有效的实时编程人员。随书光盘包括:书中的模型和两个在实时系统和嵌入式系统开发过程中特别有用的应用程序。本书将实时系统、对象建模、快速开发过程以及系统保险性等几个完全分离的学科统一起来,重点介绍了使用统一建模语言进行基于模型的实时系统和嵌入式系统开发以及被称为ROPES的基于风险的迭代开发生命周期。本书共分为四部分,包括:基础知识、分析、设计、高级实时对象建模。另外,书后还包括三个附录,总结了UML符号表示并介绍了两个工具——PhapsodyTimeWiz。本书适合作为计算机科学专业本科生或研究生教材,同时也可作为专业软件开发人员的参考书。

作者简介

  Bruce由俄勒冈荒地的狼群抚养成人。3岁时开始自学读书,不到12岁就开始学习微积分14岁辍学游历美国,几年后进入俄勒冈大学学习数学专业,1并最终获得俄勒冈大学的运动生理学科学硕士学位。USD医学院的神经生理学博士学位。他在医学院期间创立了一个名为自相关因子分析的数学分支,为研究多细胞生物神经系统中的信息处理提供了一个强有力的数学工具。Bruce作为软件开发人员,在实时系统领域工作了近20年,是实时嵌入式系统领域内著名的讲演者和作者。他是嵌入式系统(Embedded Systems)大会和UML世界(UML World)大会顾问委员会的成员之一,并在该会议上讲过关于软件估算和调度。项目管理。面向对象的分析和设计。通信协议有限状态机。设计模式和安全临界系统设计方面的课程。在实时。面向对象的分析和设计中有多年的开发和授课经验。他还为实时领域内的很多杂志和期刊撰文。 Bruce目前是实时系统开发工具的主流厂商i-Logix的技术总宣传师(Chief Evangelist),在UML规范的制订方面与Rational和其他UML合作伙伴有密切的合作。a他是对象管理组(OMG)的实时分析和设计工作组的主席之一,负责UML未来可能的实时扩展。他还为构建大规模。实时。安全临界系统的很多公司提供咨询。培训和指导。他还写了其他四本软件方面的书,包括《Doing Hard Time:Developing Real-TimecSystems with UML,Object,Frameworks,andcPatterns》(Addison-Wesley,1999),他甚至还写过乒乓球方面的短篇教材。Bruce喜欢古典音乐,古典吉他弹得很有专业水准。他参加过多场体育比赛,包括乒乓球。自行车比赛。赛跑以及身体完全接触的跆拳道,不过目前还只是与打不还手的静物交手。他与两个儿子目前正计划到冰天雪地的北方旅行。可以通过bpd@ilogix。com与他联系。译者简介:柳翔,1987年获中国科学院自动化所模式识别与智能控制所硕士学位,1993年获法国波尔多第一大学国立无线电通信工程学院图像和信号处理博士学位.现为博大软件有限公司总裁兼首席系统架构师,北京大学软件与微电子学院嵌入式系统系系主任、客座教授。

图书目录

第一部分  基础知识
第1章  对象及统一建模语言介绍        2
1.1  对象的优点        2
1.2  术语和概念        6
1.3  UML中的面向对象        6
1.3.1  对象        7
1.3.2  属性        11
1.3.3  行为        11
1.3.4  消息传递        13
1.3.5  职责        15
1.3.6  并发        15
1.3.7  自主机器式对象        16
1.4  类图        16
1.5  用例        24
1.6  顺序图        25
1.7  物理表示        26
1.8  图中常见的元素        27
1.8.1  注释        27
1.8.2  包        27
1.8.3  约束        28
1.8.4  构造型        29
1.9  小结        32
1.10  展望        33
1.11  练习        33
1.12  参考文献        34
第2章  实时系统的基本概念        35
2.1  什么是实时系统        35
2.2  术语和概念        35
2.3  守时性        37
2.4  响应        39
2.5  并发        41
2.5.1  并发线程的调度        41
2.5.2  事件到达模式        42
2.5.3  线程汇合点模式        43
2.5.4  资源共享        44
2.6  可预测性        45
2.7  正确性和健壮性        46
2.7.1  死锁        46
2.7.2  异常条件        48
2.7.3  竞争条件        49
2.8  分布式系统        50
2.9  容错性和保险性        51
2.10  处理资源受限的目标环境        51
2.11  低层硬件接口        51
2.12  实时操作系统        51
2.12.1  可伸缩性        52
2.12.2  调度        52
2.12.3  实时操作系统的典型特征        52
2.13  小结        58
2.14  展望        58
2.15  练习        59
2.16  参考文献        59
第3章  保险性关键系统的基本概念        60
3.1  保险性引论        60
3.1.1  Therac-25故事        60
3.1.2  其他故事        60
3.2  术语和概念        61
3.3  保险性相关故障        63
3.3.1  保险性是一个系统问题        64
3.3.2  随机故障与系统故障        64
3.3.3  单点失效        65
3.3.4  共态失效        66
3.3.5  潜在故障        68
3.3.6  失效-保险状态        68
3.3.7  实现保险性        68
3.4  保险性架构        70
3.4.1  单通道保护式设计        71
3.4.2  多通道表决模式        72
3.4.3  同构冗余模式        72
3.4.4  相异冗余模式        73
3.4.5  监视器-传动器模式        75
3.4.6  门禁模式        75
3.4.7  保险性执行体模式        76
3.5  实现保险性的八个步骤        77
3.5.1  第一步:辨别危害        78
3.5.2  第二步:确定风险        82
3.5.3  第三步:确定保险性措施        83
3.5.4  第四步:建立保险性需求        84
3.5.5  第五步:创建保险性设计        84
3.5.6  第六步:实现保险性        85
3.5.7  第七步:确立保险性过程        89
3.5.8  第八步:测试,测试,测试        89
3.6  一些保险性相关的标准        91
3.7  小结        92
3.8  展望        93
3.9  练习        93
3.10  参考文献        94
第4章  用于嵌入式系统的快速面向对象过程        96
4.1  引论        96
4.2  术语和概念        97
4.2.1  开发阶段        97
4.2.2  排序        98
4.2.3  成熟度        99
4.3  开发任务序列        99
4.3.1  瀑布生命周期        99
4.3.2  迭代生命周期        100
4.3.3  开发原型        100
4.4  进度安排与估计        102
4.4.1  精确的进度计划的好处        103
4.4.2  精确的进度计划的困难        104
4.5  ROPES宏周期        105
4.6  分析        108
4.6.1  需求分析        108
4.6.2  系统分析        112
4.6.3  对象分析        113
4.7  设计        115
4.7.1  架构设计        117
4.7.2  机制设计        118
4.7.3  详细设计        118
4.8  转化        119
4.8.1  活动        120
4.8.2  制品        120
4.9  测试        120
4.9.1  活动        121
4.9.2  制品        121
4.10  小结        122
4.11  展望        122
4.12  练习        122
4.13  参考文献        123
第二部分  分      析
第5章  实时系统的需求分析        126
5.1  引论        126
5.2  术语和概念        126
5.2.1  用例        126
5.2.2  消息和事件        127
5.2.3  场景、协议和状态机        129
5.3  用例        130
5.3.1  用例间的关系        131
5.3.2  用例实例:空中交通控制系统        132
5.4  外部事件        135
5.5  指定外部消息        136
5.5.1  外部事件列表        136
5.5.2  响应时间        137
5.6  用例行为详述        138
5.6.1  非形式文本描述        138
5.6.2  场景        139
5.6.3  顺序图        139
5.6.4  用状态图定义用例行为        141
5.7  确定用例        141
5.8  使用用例        143
5.9  制作好的需求分析图的启发式方法        143
5.9.1  用例图的启发式方法        144
5.9.2  用例的启发式方法        144
5.9.3  用例顺序图的启发式方法        144
5.10  小结        145
5.11  展望        145
5.12  练习        145
5.13  参考文献        145
第6章  结构对象分析        146
6.1  引论        146
6.2  术语和概念        146
6.3  对象识别的关键策略        147
6.3.1  在名词下划线        149
6.3.2  识别因果代理        151
6.3.3  识别内聚性服务        152
6.3.4  识别现实世界的元素        152
6.3.5  识别物理设备        152
6.3.6  识别域的基本抽象        152
6.3.7  识别事务        154
6.3.8  识别持久性信息        154
6.3.9  识别可视化元素        155
6.3.10  识别控制元素        156
6.3.11  执行对象模型中的场景        157
6.4  对象到类的具体化        159
6.5  识别对象关联        160
6.5.1  多重性        162
6.5.2  关联和链接        163
6.6  聚合与组合        163
6.7  对象属性        163
6.8  泛化关系        165
6.9  AATCS实例:类图        168
6.10  创建好的类图的启发式方法        171
6.11  小结        173
6.12  展望        174
6.13  练习        174
6.14  参考文献        174
第7章  行为对象分析        175
7.1  引论        175
7.2  术语和概念        175
7.2.1  简单行为        176
7.2.2  状态行为        176
7.2.3  连续行为        180
7.3  UML状态图        186
7.3.1  基本状态语义        186
7.3.2  转换和事件        188
7.3.3  动作和活动        189
7.3.4  伪状态        192
7.3.5  正交区与同步        193
7.3.6  基本状态图语法        194
7.3.7  继承状态模型        198
7.3.8  构造错误的状态模型        198
7.3.9  实例:AATCS报警系统        201
7.4  场景在行为定义中的角色        204
7.4.1  时序图        204
7.4.2  顺序图        206
7.4.3  活动图        207
7.5  定义操作        210
7.5.1  操作的类型        212
7.5.2  定义操作的策略        214
7.6  状态图的启发式原则        216
7.7  时序图的启发式原则        217
7.8  活动图的启发式原则        217
7.9  小结        218
7.10  展望        218
7.11  练习        218
7.12  参考文献        219
第三部分  设      计
第8章  架构设计        223
8.1  引论        223
8.2  术语和概念        223
8.3  任务分配模型        224
8.3.1  表示任务        224
8.3.2  定义任务线程        230
8.3.3  将对象指派给任务        233
8.3.4  定义任务汇合        234
8.4  构件模型        238
8.5  部署模型        242
8.5.1  在UML中表示物理架构        243
8.5.2  多处理器系统        244
8.6  保险性/可靠性模型        248
8.6.1  同构冗余模式        249
8.6.2  相异冗余模式        249
8.6.3  监视器-传动器模式        251
8.6.4  门禁模式        253
8.6.5  保险性执行体模式        254
8.7  小结        254
8.8  展望        255
8.9  练习        255
8.10  参考文献        256
第9章  机制设计        257
9.1  引论        257
9.2  术语和概念        261
9.3  机制设计模式        267
9.3.1  正确性模式        268
9.3.2  执行控制模式        273
9.4  小结        286
9.5  展望        287
9.6  练习        287
9.7  参考文献        287
第10章  详细设计        288
10.1  详细设计引论        288
10.2  术语和概念        288
10.3  数据结构        289
10.3.1  基本表示类型        289
10.3.2  子范围约束        292
10.3.3  派生属性        296
10.3.4  数据集结构        298
10.4  关联        299
10.5  对象接口        301
10.6  操作的定义        303
10.7  详细算法设计        303
10.7.1  在UML中表示算法        304
10.7.2  算法实例:运行时数据插值        305
10.8  异常        310
10.8.1  基于源语言的异常处理        312
10.8.2  基于状态的异常处理        316
10.9  小结        316
10.10  展望        317
10.11  练习        317
10.12  参考文献        318
第四部分  高级实时对象建模
第11章  线程与可调度性        320
11.1  引论        320
11.2  术语和概念        320
11.2.1  基于时间的系统        320
11.2.2  反应式系统        321
11.2.3  时间概念        321
11.3  调度线程        329
11.3.1  速率单调调度        332
11.3.2  最早期限优先调度        333
11.3.3  最弱松弛动态调度        333
11.3.4  最高紧迫性优先调度        333
11.3.5  加权最短处理时间优先调度        334
11.3.6  最小化最大迟滞调度        334
11.4  线程同步与资源共享        335
11.4.1  互斥信号量        336
11.4.2  Dekker算法        337
11.4.3  自旋锁        339
11.4.4  计数信号量        339
11.4.5  条件变量        340
11.4.6  屏障        342
11.4.7  汇合对象        342
11.5  硬实时系统的可调度性分析        343
11.5.1  全局分析        343
11.5.2  带任务阻塞的全局方法        346
11.5.3  计算阻塞        347
11.5.4  分离任务效用边界        349
11.5.5  非周期性任务        350
11.6  软实时系统的可调度性分析        351
11.6.1  温和与模糊:软环境下的守时性        352
11.6.2  软可调度性        353
11.7  小结        354
11.8  展望        355
11.9  练习        356
11.10  参考文献        357
第12章  动态建模        358
12.1  引论        358
12.2  术语和概念        358
12.3  行为模式        365
12.3.1  锁存状态模式        366
12.3.2  轮询状态模式        367
12.3.3  锁存数据模式        369
12.3.4  设备方式状态模式        370
12.3.5  事务状态模式        371
12.3.6  构件同步状态模式        371
12.3.7  屏障状态模式        373
12.3.8  事件层次状态模式        374
12.3.9  随机状态模式        377
12.3.10  空状态模式        377
12.3.11  门禁状态模式        378
12.3.12  可再触发的计数器状态模式        379
12.4  模型层的调试与测试        380
12.4.1  动画调试        382
12.4.2  动画测试        384
12.4.3  调试会话实例        386
12.5  小结        390
12.6  展望        392
12.7  练习        392
12.8  参考文献        392
第13章  实时框架        393
13.1  引论        393
13.2  术语和概念        394
13.3  实时框架        395
13.3.1  架构支持模式        396
13.3.2  协作和分布模式        398
13.3.3  保险性和可靠性模式        402
13.3.4  行为模式        404
13.4  框架设计原理与度量        406
13.4.1  服务的集合        406
13.4.2  泛化层次结构        407
13.4.3  可替换构件        407
13.4.4  可移植性        408
13.4.5  命名和语法约定        408
13.4.6  性能        408
13.5  Rhapsody执行框架(OXF)        409
13.5.1  Rhapsody架构        409
13.5.2  执行框架        411
13.5.3  对象间关联模式        412
13.5.4  使用C++标准模板库        414
13.5.5  抽象操作系统        414
13.5.6  动画框架        415
13.6  Rhapsody OXF框架应用实例        415
13.7  小结        427
13.8  练习        427
13.9  参考文献        427
附      录
附录A  UML符号表示总结        429
附录B  Rhapsody:完全构造性的UML可视化编程工具        445
附录C  TimeWiz:用于时序分析的集成工具        453

本目录推荐