实时设计模式:实时系统的强壮的、可扩展的体系结构

实时设计模式:实时系统的强壮的、可扩展的体系结构
作 者: Bruce Powel Douglass 麦中凡 陶伟 麦中凡
出版社: 北京航空航天大学出版社
丛编项: 实时系统的强壮的.可扩展的体系结构
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: UML
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Bruce Powel Douglass在实时和嵌入式系统的UML应用领域,是世界公认的领袖人物。他是i-Loglx公司的首席技术指导,领导实时系统开发工具的开发。他亦是UML规范制定人之一,是嵌入系统会议顾问委员会的成员。Douglass博士为多个公司和组织做咨询,包括NASA,在那里,他为建造大型的、实时的、安全紧要的系统做咨询。他是OMG的实时分析和设计专题组RTDA的副主席。他是其他五本著作的作者,包括Addison-Wesley出版社出版的Ding Hard Time和Real-Time UML。

内容简介

本书是美国AddisonWesley公司出版的对象技术(最新2003年)丛书之一,旨在用面向对象技术开发实时和嵌入式系统软件。<br>众所周知,实时和嵌入式系统软件由于其开发层次较低,直接在硬件上开发时间紧要、安全紧要、高可靠性的系统,传统上是C语言和汇编语言的天下。传统的软件工程技术着重软件的可移植、可复用、可伸缩,易维护、低成本,借助于一个良好的平台,快速交付,支持业务过程的快速变革的高适应性系统。软件工程使平台以上的系统日臻完善,发展了面向对象技术、构件技术乃至于直接使用软件服务。“相信”实现服务的构件、支持构件实现的平台(操作系统、网络软件及数据库软件)都是最优或较优的。显然,与实时嵌入式系统要处处操心每个软件元件的性能、可靠性、安全性走的是两条路,他们“不相信”臃肿的通用平台能解决他们在有限资源下做出高性能系统所遇到的各种问题。所以,实时和嵌入式系统的业者一般不关心软件工程技术的最新进展,也很少在他们的工作中采用软件工程新技术,停留在提供完善的模块和子系统层次上,强耦合的过程式模块开发还是主流。<br>从系统的观点来看,实时嵌入式系统也是系统,特别是硬件技术的快速发展,实时嵌入式软件也有快速适应硬件型号升级问题,也有业务快速变更要求可伸缩、可修改(例如,军用导弹、飞机型号升级,民用产品换代)可复用问题。1975年,美国国防部开发的Ada语言系统就是为了在主机上开发适应变化的系统。通过交叉编译生成机载、弹载的目标系统嵌入到应用环境中,一切系统维护、伸缩均在Ada源代码级软件上完成。在某种意义上,今日的面向对象技术得益于Ada的数据抽象和模块封装。由于Ada为保证军用软件可移植性管得过严,面向对象技术蓬勃发展在C++上得以体现。于是实时嵌入式系统自然转向底层是C的C++。但对象化对实时性、可靠性并没有直接的好处,所以在小型实时嵌入式应用中,面向对象依然不占上风,仍然是过程式开发方法最后穿上C++外衣。尽管如此,有了C++这个桥,为实时嵌入式系统再一次和当前软件工程技术合流打下了良好的基础。<br>面向对象封装带来的松耦合,使它成为分布式可伸缩系统的首选技术,且随着当今网络的普及,对象成了应用的第一类公民,网络是对象交互和通信的世界。打包也好,请代理也好,不是对象只能窝在本机上做点实际工作。<br>为了参与网络上提供实时服务,为了支持应用系统的快速变更,快速提供嵌入式产品,大幅度降低成本提供标准化、...

图书目录

第一篇设计模式的基础

第1章导言3

1.1UML建模的基本概念4

1.2模型5

1.3结构元素和图6

1.3.1小件:对象.类和接口6

1.3.2关系11

1.3.3结构图20

1.3.4大件:子系统.构件.包21

1.4行为元素和图26

1.4.1动作和活动26

1.4.2操作和方法27

1.4.3状态图28

1.4.4活动图33

1.4.5交互35

1.5用例和需求模型38

1.5.1捕捉黑箱行为无须揭示内部结构40

1.6何为设计模式40

1.7参考文献43

第2章体系结构与UML44

2.1体系结构45

2.2逻辑体系结构和物理体系结构46

2.2.1逻辑体系结构48

2.2.2物理体系结构51

2.3体系结构的5个视图54

2.3.1子系统和构件视图55

2.3.2并发和资源视图57

2.3.3分布视图60

2.3.4安全性和可靠性视图63

2.3.5部署视图64

2.4实现体系结构65

2.4.1缩略字世界:CORBA.UML和MDA基础66

2.4.2MDA出手营救67

2.4.3创建体系结构元素——模型层68

2.4.4子系统和构件视图72

2.4.5并发性和资源视图72

2.4.6分布视图73

2.4.7安全性和可靠性视图73

2.4.8部署视图73

2.5参考文献74

第3章设计模式的作用75

3.1导言76

3.2ROPES开发过程76

3.2.1何谓过程77

3.2.2ROPES过程概述79

3.2.3ROPES微周期的细节91

3.2.4聚议92

3.2.5用ROPES过程做分析93

3.2.6用ROPES过程做设计95

3.2.7翻译97

3.2.8测试97

3.3设计模式基础98

3.3.1何谓设计模式98

3.3.2设计模式的基本结构100

3.3.3如何阅读本书的设计模式101

3.4在开发中使用设计模式102

3.4.1模式孵化——找到正确的模式102

3.4.2模式挖掘——打磨出自己的模式104

3.4.3模式实例化——在设计中运用模式104

3.5参考文献105

第二篇体系结构设计的模式

第4章子系统和构件体系结构模式111

4.1分层模式112

4.1.1抽象112

4.1.2问题113

4.1.3模式结构113

4.1.4协作角色114

4.1.5结论114

4.1.6实现策略114

4.1.7相关模式115

4.1.8样例模型115

4.2五层体系结构模式116

4.2.1抽象116

4.2.2问题116

4.2.3模式结构117

4.2.4协作角色118

4.2.5结论118

4.2.6实现策略119

4.2.7相关模式119

4.2.8样例模型119

4.3微内核体系结构模式120

4.3.1抽象120

4.3.2问题120

4.3.3模式结构120

4.3.4协作角色121

4.3.5结论122

4.3.6实现策略122

4.3.7相关模式123

4.3.8样例模型123

4.4通道体系结构模式124

4.4.1抽象125

4.4.2问题125

4.4.3模式结构125

4.4.4协作角色126

4.4.5结论127

4.4.6实现策略127

4.4.7相关模式128

4.4.8样例模型128

4.5递归包含模式129

4.5.1抽象129

4.5.2问题130

4.5.3模式结构130

4.5.4协作角色131

4.5.5结论131

4.5.6实现策略131

4.5.7相关模式132

4.5.8样例模型132

4.6层次控制模式135

4.6.1抽象135

4.6.2问题136

4.6.3模式结构136

4.6.4协作角色137

4.6.5结论137

4.6.6实现策略138

4.6.7相关模式138

4.6.8样例模型139

4.7虚拟机模式140

4.7.1抽象140

4.7.2问题140

4.7.3模式结构141

4.7.4协作角色141

4.7.5结论143

4.7.6实现策略143

4.7.7相关模式146

4.8基于构件体系结构146

4.8.1抽象146

4.8.2问题147

4.8.3模式结构147

4.8.4协作角色148

4.8.5结论149

4.8.6实现策略149

4.8.7相关模式150

4.8.8样例模型150

4.9ROOM模式153

4.9.1抽象153

4.9.2问题154

4.9.3模式结构154

4.9.4协作角色154

4.9.5结论155

4.9.6实现策略155

4.9.7相关模式156

4.9.8样例模型156

4.10参考文献159

第5章并发模式160

5.1介绍161

5.2并发模式161

5.3消息队列模式163

5.3.1抽象164

5.3.2问题165

5.3.3模式结构165

5.3.4协作角色166

5.3.5结论166

5.3.6实现策略167

5.3.7相关模式167

5.3.8样例模型167

5.4中断模式169

5.4.1抽象169

5.4.2问题169

5.4.3模式结构169

5.4.4协作角色171

5.4.5结论171

5.4.6实现策略172

5.4.7相关模式173

5.4.8样例模型173

5.5卫式调用模式175

5.5.1抽象175

5.5.2问题175

5.5.3模式结构176

5.5.4协作角色176

5.5.5结论177

5.5.6实现策略177

5.5.7相关模式177

5.5.8样例模型178

5.6会合模式179

5.6.1抽象180

5.6.2问题180

5.6.3模式结构180

5.6.4协作角色181

5.6.5结论181

5.6.6实现策略181

5.6.7相关模式182

5.6.8样例模型182

5.7循环执行模式184

5.7.1抽象184

5.7.2问题184

5.7.3模式结构184

5.7.4协作角色185

5.7.5结论185

5.7.6实现策略186

5.7.7相关模式186

5.8循环赛模式188

5.8.1抽象188

5.8.2问题188

5.8.3模式结构188

5.8.4协作角色190

5.8.5结论191

5.8.6实现策略191

5.8.7相关模式191

5.8.8样例模型191

5.9静态优先级模式193

5.9.1抽象193

5.9.2问题193

5.9.3模式结构194

5.9.4协作角色195

5.9.5结论196

5.9.6实现策略197

5.9.7相关模式198

5.9.8样例模型198

5.10动态优先级模式200

5.10.1抽象200

5.10.2问题200

5.10.3模式结构201

5.10.4协作角色201

5.10.5结论203

5.10.6实现策略203

5.10.7相关模式204

5.10.8样例模型204

5.11参考文献206

第6章内存模式207

6.1内存管理模式208

6.2静态分配模式208

6.2.1抽象208

6.2.2问题208

6.2.3模式结构209

6.2.4协作角色210

6.2.5结论211

6.2.6实现策略211

6.2.7相关模式212

6.2.8样例模型212

6.3池分配模式213

6.3.1抽象213

6.3.2问题214

6.3.3模式结构214

6.3.4协作角色215

6.3.5结论215

6.3.6实现策略216

6.3.7相关模式218

6.3.8样例模型218

6.4固定尺寸缓冲区模式220

6.4.1抽象220

6.4.2问题220

6.4.3模式结构221

6.4.4协作角色222

6.4.5结论222

6.4.6实现策略223

6.4.7相关模式223

6.4.8样例模型223

6.5灵巧指针模式224

6.5.1抽象225

6.5.2问题225

6.5.3模式结构226

6.5.4协作角色227

6.5.5结论227

6.5.6实现策略229

6.5.7相关模式229

6.5.8样例模型229

6.6垃圾收集模式230

6.6.1抽象231

6.6.2问题231

6.6.3模式结构231

6.6.4协作角色232

6.6.5结论233

6.6.6实现策略233

6.6.7相关模式234

6.6.8样例模型234

6.7垃圾紧凑器模式236

6.7.1抽象236

6.7.2问题237

6.7.3模式结构237

6.7.4协作角色238

6.7.5结论239

6.7.6实现策略240

6.7.7相关模式240

6.7.8样例模型240

6.8参考文献242

第7章资源模式243

7.1导引244

7.2临界区模式249

7.2.1抽象249

7.2.2问题249

7.2.3模式结构249

7.2.4协作角色250

7.2.5结论251

7.2.6实现策略252

7.2.7相关模式252

7.2.8样例模型252

7.3优先级继承模式254

7.3.1抽象254

7.3.2问题254

7.3.3模式结构254

7.3.4协作角色255

7.3.5结论257

7.3.6实现策略260

7.3.7相关模式260

7.3.8样例模型260

7.4最高加锁器模式262

7.4.1抽象262

7.4.2问题263

7.4.3模式结构263

7.4.4协作角色264

7.4.5结论265

7.4.6实现策略266

7.4.7相关模式266

7.4.8样例模型266

7.5优先级最高限模式268

7.5.1抽象268

7.5.2问题268

7.5.3模式结构269

7.5.4协作角色271

7.5.5结论272

7.5.6实现策略273

7.5.7相关模式273

7.5.8样例模型273

7.6同时锁定模式275

7.6.1抽象275

7.6.2问题276

7.6.3模式结构276

7.6.4协作角色277

7.6.5结论278

7.6.6实现策略279

7.6.7相关模式279

7.6.8样例模型280

7.7排序锁定模式282

7.7.1抽象282

7.7.2问题282

7.7.3模式结构282

7.7.4协作角色284

7.7.5结论284

7.7.6实现策略285

7.7.7相关模式285

7.7.8样例模型285

7.8参考文献287

第8章分布模式289

8.1导引290

8.2共享内存模式291

8.2.1抽象292

8.2.2问题292

8.2.3模式结构292

8.2.4协作角色292

8.2.5结论294

8.2.6实现策略294

8.2.7相关模式295

8.2.8样例模型295

8.3远程方法调用模式297

8.3.1抽象297

8.3.2问题297

8.3.3模式结构297

8.3.4协作角色298

8.3.5结论299

8.3.6实现策略300

8.3.7相关模式301

8.3.8样例模型301

8.4守望者模式303

8.4.1抽象303

8.4.2问题303

8.4.3模式结构304

8.4.4协作角色305

8.4.5结论306

8.4.6实现策略306

8.4.7相关模式307

8.4.8样例模型307

8.5数据总线模式309

8.5.1抽象309

8.5.2问题309

8.5.3模式结构309

8.5.4协作角色311

8.5.5结论314

8.5.6实现策略315

8.5.7相关模式315

8.5.8样例模型315

8.6代理模式318

8.6.1抽象318

8.6.2问题318

8.6.3模式结构319

8.6.4协作角色320

8.6.5结论321

8.6.6实现策略322

8.6.7相关模式322

8.6.8样例模型322

8.7中介模式325

8.7.1抽象325

8.7.2问题325

8.7.3模式结构325

8.7.4协作角色327

8.7.5结论328

8.7.6实现策略329

8.7.7相关模式330

8.7.8样例模型330

8.8参考文献331

第9章安全性和可靠性模式333

9.1导引334

9.1.1处理故障336

9.2保护式单通道模式337

9.2.1抽象337

9.2.2问题337

9.2.3模式结构337

9.2.4协作角色338

9.2.5结论339

9.2.6实现策略340

9.2.7相关模式340

9.2.8样例模型340

9.3同质冗余模式342

9.3.1抽象342

9.3.2问题342

9.3.3模式结构342

9.3.4协作角色343

9.3.5结论344

9.3.6实现策略345

9.3.7相关模式345

9.3.8样例模型345

9.4三模块冗余模式347

9.4.1抽象347

9.4.2问题347

9.4.3模式结构347

9.4.4协作角色348

9.4.5结论349

9.4.6实现策略349

9.4.7相关模式349

9.4.8样例模型350

9.5异质冗余模式351

9.5.1抽象351

9.5.2问题351

9.5.3模式结构352

9.5.4协作角色352

9.5.5结论353

9.5.6实现策略354

9.5.7相关模式354

9.5.8样例模型354

9.6监视器执行器模式355

9.6.1抽象355

9.6.2问题356

9.6.3模式结构356

9.6.4协作角色356

9.6.5结论358

9.6.6实现策略358

9.6.7相关模式359

9.6.8样例模型359

9.7心智检查模式360

9.7.1抽象360

9.7.2问题361

9.7.3模式结构361

9.7.4协作角色361

9.7.5结论363

9.7.6实现策略363

9.7.7相关模式363

9.7.8样例模型363

9.8看门狗模式364

9.8.1抽象364

9.8.2问题365

9.8.3模式结构365

9.8.4协作角色367

9.8.5结论368

9.8.6实现策略368

9.8.7相关模式369

9.8.8样例模型369

9.9安全执行模式370

9.9.1抽象370

9.9.2问题370

9.9.3模式结构370

9.9.4协作角色371

9.9.5结论373

9.9.6实现策略373

9.9.7相关模式373

9.9.8样例模型374

9.10参考文献375

附录A表示法总结376

附录B模式索引392