manolescu book.fm page 565 thursday, march 30,...

32
565 Index a-periodic messages, 98 a-periodic tasks, 121 Aalto, Alvar, 536 Abnormal network conditions, 167 ABSOLUTE OBJECT REFERENCE pattern, 393 AC (Authentication Center), 226 Access agents, 340, 343–345 Account class, 4–6, 17–19 AccountType class, 4–6, 17, 19–20 Acrobat plug-ins, 304 Action class, 55 Activation time of plug-ins, 323 Active Directory, 200 Active Object Model. See DYNAMIC OBJECT MODEL pattern Active Registration, 320 Actiweb system, 291–292 ADAPTERS pattern COMPONENT WRAPPER , 370 VOID, 502 ADAPTIVE OBJECT MODEL pattern, 375 Adjectives, 444 ADP templates, 278 Advanced pattern writing acknowledgments, 451 CONSISTENT “WHO”, 446–448 DEAD WEASELS, 443–444 existing work, 434–436 FORCES HINT AT SOLUTION, 444–446 “HOW“-PROCESS, 438–440 introduction, 433–434 POINTERS TO DETAIL, 448–451 references, 451–452 “WHY“-PROBLEMS, 440–443 Adverbs, 444 Agent module, 350 AGGREGATION pattern, 461, 494–497 DYNAMIC OBJECT MODEL, 12–13 RESOLUTION OF FORCES, 483 Aha effect, 519–521 Air interface, 217 Airplane Information Management System (AIMS), 122 Alarm class, 318 Alexander, Christopher biological analogy by, 464 on city structure, 488 on complex systems, 455–456, 489 on context, 498 on designed systems, 454–455 on differentiation, 473, 492 on emptiness, 500 on entrances, 481 Manolescu_book.fm Page 565 Thursday, March 30, 2006 4:30 PM

Upload: others

Post on 03-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

565

Index

a-periodic messages, 98a-periodic tasks, 121Aalto, Alvar, 536Abnormal network conditions, 167ABSOLUTE OBJECT REFERENCE pattern,

393AC (Authentication Center), 226Access agents, 340, 343–345Account class, 4–6, 17–19AccountType class, 4–6, 17, 19–20Acrobat plug-ins, 304Action class, 55Activation time of plug-ins, 323Active Directory, 200Active Object Model. See DYNAMIC

OBJECT MODEL patternActive Registration, 320Actiweb system, 291–292ADAPTERS pattern

COMPONENT WRAPPER, 370VOID, 502

ADAPTIVE OBJECT MODEL pattern, 375Adjectives, 444ADP templates, 278Advanced pattern writing

acknowledgments, 451CONSISTENT “WHO”, 446–448

DEAD WEASELS, 443–444existing work, 434–436FORCES HINT AT SOLUTION, 444–446“HOW“-PROCESS, 438–440introduction, 433–434POINTERS TO DETAIL, 448–451references, 451–452“WHY“-PROBLEMS, 440–443

Adverbs, 444Agent module, 350AGGREGATION pattern, 461, 494–497

DYNAMIC OBJECT MODEL, 12–13RESOLUTION OF FORCES, 483

Aha effect, 519–521Air interface, 217Airplane Information Management

System (AIMS), 122Alarm class, 318Alexander, Christopher

biological analogy by, 464on city structure, 488on complex systems, 455–456, 489on context, 498on designed systems, 454–455on differentiation, 473, 492on emptiness, 500on entrances, 481

Manolescu_book.fm Page 565 Thursday, March 30, 2006 4:30 PM

Page 2: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

566 INDEX

Alexander, Christopher, continuedon evolution, 501on forces, 461–462, 468–469, 472,

480–483, 488, 498on fundamental process, 463on HALF-HIDDEN GARDEN, 484and LDPL, 453, 458motivation of, 552on paths, 499on pattern growth, 495–496Pattern Language, A—Towns, Build-

ings, Construction, 259on pattern sequences, 464–465on scale, 485–486

Alexandrian pattern form, 437–438Prairie Houses, 534–537Web content conversion and gener-

ation, 259ALIGN DIRECTORIES WITH ORGANIZA-

TION pattern, 199–200CONSULT DIRECTORY, 196OVERLAY NETWORK, 193SERVER DOES HEAVY WORK, 205

Ambiguous comparands, 180Analog mobile wireless systems, 227Analysis Patterns (Fowler), 22Analyzers, 309Anchor entities

in mobile wireless systems, 220, 242–244

summary, 255“And They Lived Happily Ever After”

syndrome, 523Andrade, Rossana Maria de Castro

biographical information, 555MoRaR, 213

Anti-patterns, 520Blob, 53, 58–59Poltergeist, 47

AOL Server, 293

Apache Axis framework, 381, 396–397Appleton, Jay

on prospect and refuge, 533on symmetries, 484–485

Application/Communication Buffer pattern. See TEMPORAL APPLICA-

TION DECOUPLING patternApplication servers, 32Application Submission and Control

Tool (ASCT) module, 351Application tasks, 116–117Applications

configurable. See Plug-insdeployment of, 351–352development of, 102

Apptimizer system, 60Architectural concepts for MoRaR,

215–218Architectural pattern languages,

299–300, 458CLUSTER OF FORCES, 469COMMON GROUND, 498CROSS LINKAGES, 489HALF-SYNC/HALF-ASYNC, 120LEVELS oF SCALE, 486–487RESOLUTION OF FORCES, 481–482VOID, 501

Arguments Object pattern, 62ARINC 659 standard

BIUs in, 115in hard real-time systems, 122in SYNC FRAME, 111in TEMPORAL APPLICATION DECOU-

PLING, 119Artix framework, 381ASCT (Application Submission and

Control Tool) module, 351ASK LOCAL NETWORK pattern, 191–192

CONSULT DIRECTORY, 196LISTEN TO ADVERTISEMENTS, 194

Manolescu_book.fm Page 566 Thursday, March 30, 2006 4:30 PM

Page 3: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 567

PLACE DIRECTORIES DYNAMICALLY, 201

SEPARATE IDENTITY FROM LOCATION, 202

SERVICES REGISTER IN DIRECTORY, 197in SLP, 206USE ADVERTISER, 195

ASP pages, 293Aspect configuration, 390–393Aspect ratio in Prairie Houses, 538Asynchronous-Change Commands

pattern, 84–85Attribute reuse, 178Audiences, 447Authentication

in mobile wireless systems, 215, 220, 225–227, 229–232

summary, 254Authentication Centers (ACs), 215,

226Authenticator pattern, 232Author as Owner pattern, 508, 517–518AUTOMATIC CONTROLS pattern

in Equitable Resource Allocation, 146

in Real Time and Resource Over-load language, 132, 148

Automatic Invocation application, 323AUTOMATIC OUT-OF-CHAIN ROUTING

patternin Equitable Resource Allocation,

147in Real Time and Resource Over-

load language, 132, 148AUTOMATIC TYPE CONVERTER pattern,

359–360, 377–381COMMAND LANGUAGE, 365COMPONENT WRAPPER, 370CONTENT CONVERTER, 273SPLIT OBJECT, 383, 386, 390, 397

Automation, DYNAMIC OBJECT MODEL for, 10

Availability in distributed systems, 157

Available bandwidth for a-periodic transmissions, 98

Axis framework, 381, 396–397

BACKEND pattern, 30, 35BALANCED CONTEXT pattern, 509,

523–525BANDS OF WINDOWS pattern, 539,

545–547Bandwidth utilization

in hard real-time systems, 96in PRESCHEDULED PERIODIC TRANS-

MISSION, 98, 101in SYNC FRAME, 110

Banking systems. See DYNAMIC OBJECT MODEL pattern

Bar-Yam, Y., 483Base station controllers (BSCs), 216–218Base station transceivers (BSTs),

217–218Base stations, 217Bathing Room pattern, 500BEA WebLogic Integration, 291BEAUTY OF SIMPLICITY pattern, 407–411,

413, 418Behavioral patterns in MoRaR,

218–221BIG PICTURE pattern, 436, 438, 508–509,

515–516Biological systems

AGGREGATION, 497CROSS LINKAGES, 491DIFFERENTIATION, 493–494in LDPL, 458, 464, 467LOCAL SYMMETRIES, 477–478VOID, 502

Manolescu_book.fm Page 567 Thursday, March 30, 2006 4:30 PM

Page 4: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

568 INDEX

Bit masks, 141–142BIUs (Bus Interface Units), 115, 119Blob antipattern, 53, 58–59Bottlenecks, 58Boundary conditions, 177Brake control systems. See Hard real-

time systemsBrand, Stewart, 463BROKER pattern, 345, 353Browsers

FRAMEWORK PROVIDING APPLICA-

TION, 318PLUG-IN, 309

BSCs (base station controllers), 216–218BSP API, 348BSTs (base station transceivers),

217–218BUILD TRUST pattern, 423Bus cycles, 102BUS GUARDIAN pattern

consequences, 114context, 111examples, 112, 114in hard real-time systems, 92, 97implementation, 113–114known uses, 115problem, 111related patterns, 115solution, 112in SYNC FRAME, 109

Bus Interface Units (BIUs), 115, 119Business logic, 25–26, 32Business rules engine, 21Buy class, 47Byzantine situations, 109, 111

C languageAUTOMATIC TYPE CONVERTER, 381dispatching in, 79OBJECT SYSTEM LAYER, 376

C++ languagedispatching in, 79encapsulation in, 50, 60–61OBJECT SYSTEM LAYER, 374and OTcl, 389–390sameness in, 177, 183wrappers in, 371–373

C++ Idioms Language, 459AGGREGATION, 496COMMON GROUND, 499CROSS LINKAGES, 489–490DIFFERENTIATION, 493LOCAL SYMMETRIES, 474operator overloading in, 465

Calder, Paulbiographical information, 555LDPL, 453

Camargo, Raphael Y. debiographical information, 555–556GRID, 337

CANTILEVERED TERRACE pattern, 543–545

BANDS OF WINDOWS, 546FIREPLACE AS REFUGE, 547for horizontal spread, 539

Car brake control systems. See Hard real-time systems

Carneiro, Marciobiographical information, 556GRID, 337

CAVE (Cellular Authentication and Voice Encryption), 232

Cells in mobile wireless systems, 215Central Bus Guardian, 113–114CHAIN OF RESPONSIBILITY pattern

CONTENT CONVERTER, 271–272DYNAMIC OBJECT MODEL, 13ENCAPSULATED CONTEXT, 61

Change requests in framework devel-opment, 423–425

Manolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM

Page 5: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 569

Channel-specific formats, 264CheckingAccount class, 17Checkpointing, 349CHECKS pattern language, 459, 466–467

CLUSTER OF FORCES, 470CROSS LINKAGES, 490–491LEVELS OF SCALE, 487RESOLUTION OF FORCES, 482VOID, 501

CHI (controller host interfaces), 119CHIMNEY AS ANCHOR pattern, 539,

541–543CANTILEVERED TERRACE, 545FIREPLACE AS REFUGE, 547

Cipheringin mobile wireless systems, 215, 220,

223, 226–229summary, 253

CIRCUITOUS APPROACH pattern, 539, 541, 550–551

City is Not a Tree, A (Alexander), 488Classes, comparable, 176–177CLEAR TARGET AUDIENCE pattern, 435,

447, 525CLEAVAGE pattern, 477–478Client class, 9CLIENT-DISPATCHER-SERVER pattern, 203CLIENT KNOWS BEST pattern, 203–204Clients

DECENTRALIZED LOCKING, 157–158in Service Discovery, 189

Cliques in SYNC FRAME, 109Clock synchronization, 103–105Clone comparisons, 175–176CLUSTER OF FORCES pattern, 460,

467–471CNI (communication network inter-

face), 119Cocoon framework, 426CODE SAMPLES pattern, 436, 449

CODE SAMPLES AS BONUS pattern, 436, 449

Collaborations, 7–8, 30–31Collection Framework, 177Collections

COMPARAND, 183–184GRID, 350

Collisions on Ethernet, 94–95COM (Component Object Model), 182COMMAND pattern, 359–360

ENCAPSULATED CONTEXT, 47, 61substitutions in, 363

COMMAND LANGUAGE pattern, 358–360AUTOMATIC TYPE CONVERTER, 377,

379–380COMPONENT WRAPPER, 370consequences, 366–367context, 361discussion, 363–366forces, 362known uses, 367OBJECT SYSTEM LAYER, 374problem, 361–362scenarios, 362, 366solution, 363SPLIT OBJECT, 382, 384–385, 387–389,

391, 393–394COMMANDS pattern, 358–360

COMMAND LANGUAGE, 365COMPONENT WRAPPER, 370

Comments in shepherding, 514COMMON AREA AT THE HEART pattern,

499COMMON GROUND pattern, 497–500

in LDPL, 461LEVELS OF SCALE, 487RESOLUTION OF FORCES, 483

Communicationin DISASTER NOTIFICATION, 135in GRID, 343, 348

Manolescu_book.fm Page 569 Thursday, March 30, 2006 4:30 PM

Page 6: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

570 INDEX

Communication handlers, 116–117Communication network interface

(CNI), 119COMMUNITY OF TRUST pattern, 513COMPARAND pattern

acknowledgments, 187conclusion, 186–187consequences, 183–184context, 170example, 169–170implementation, 174–183known uses, 184–186overview, 169problem, 171–173references, 187–188related patterns, 186solution, 173–174

ComparandFactory class, 176Comparisons

operations, 178–179semantics, 174

Complex systems, pattern languages as, 455–456

Complexityin BUS GUARDIAN, 114COMPARAND, 183DYNAMIC OBJECT MODEL, 6–7in framework development, 408,

416GRID, 352in SYNC FRAME, 110

Component and language integration, 357

acknowledgments, 398AUTOMATIC TYPE CONVERTER,

377–381COMMAND LANGUAGE, 361–367COMPONENT WRAPPER, 368–372conclusion, 397introduction, 358–360

OBJECT SYSTEM LAYER, 372–376patterns, 360–361references, 398–400SPLIT OBJECT. See SPLIT OBJECT

patternComponent class, 7, 9Component Object Model (COM), 182COMPONENT WRAPPER pattern,

368–372implementation, 359OBJECT SYSTEM LAYER, 373SPLIT OBJECT, 394, 397

COMPONENT WRAPPERS patternAUTOMATIC TYPE CONVERTER, 359OBJECT SYSTEM LAYER, 374SPLIT OBJECT, 382, 386, 388

Componentsin hard real-time systems, 120vs. plug-ins, 302–303

ComponentType class, 7, 9, 14Composability, 101COMPOSITE pattern

DYNAMIC OBJECT MODEL, 22FRAGMENTS, 281, 284GENERIC CONTENT FORMAT, 265, 267

Compound comparands, 180–182CompoundContent class, 266Computations, grid, 338–339Computed comparands, 182CONCEALED VERTICALS pattern,

549–550CONCRETE EVIDENCE FOR REUSE pat-

tern, 404–407, 425CONCRETEFINDER pattern, 30CONCRETEMANAGER pattern, 30, 34Concurrency in reference counting, 79Condor Grids, 350Configurable software. See Plug-ins“Connecting Business Object to Rela-

tional Databases” (Yoder), 40

Manolescu_book.fm Page 570 Thursday, March 30, 2006 4:30 PM

Page 7: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 571

Connection interface, 30CONSISTENT “WHO” pattern, 434,

446–448Constraints

DYNAMIC OBJECT MODEL, 13GRID, 346in PRESCHEDULED PERIODIC TRANS-

MISSION, 97in TEMPORAL APPLICATION DECOU-

PLING, 119CONSULT DIRECTORY pattern,

195–196CONSULT DIRECTORY, 196LISTEN TO ADVERTISEMENTS, 194SEPARATE IDENTITY FROM LOCATION,

202in SLP, 206USE ADVERTISER, 195

Consumer/user behavior in OVER-

LOAD EMPIRES, 134CONTENT CACHE pattern, 257, 264

CONTENT CONVERTER, 272FRAGMENTS, 283overview, 262PUBLISHER AND GATHERER, 268Web content conversion and gener-

ation, 284–287CONTENT CONVERTER pattern, 257

AUTOMATIC TYPE CONVERTER, 380CONTENT CREATOR, 275GENERIC CONTENT FORMAT, 266overview, 261Web content conversion and gener-

ation, 270–274, 289CONTENT CREATOR pattern, 257, 260

CONTENT CONVERTER, 273CONTENT FORMAT TEMPLATE, 279overview, 261Web content conversion and gener-

ation, 274–277, 290

CONTENT FORMAT TEMPLATE pattern, 257, 260

overview, 262Web content conversion and gener-

ation, 277–279Context, encapsulated. See ENCAPSU-

LATED CONTEXT patternContext Beans, 61Context class, 51–59Controller host interfaces (CHI), 119Conversions

AUTOMATIC TYPE CONVERTER. See AUTOMATIC TYPE CONVERTER pattern

content. See CONTENT CONVERTER pattern

Web. See Web content conversion and generation

CONVINCING SOLUTION pattern, 509, 519–521

COOPERATING PLUG-INS pattern, 306, 310, 327–330

Coordinated comparands, 182–183Copies

COMPARAND, 172ENCAPSULATED CONTEXT, 50–51, 57,

61Coplien, Jim

C++ Idioms Language, 459, 465ENGAGE CUSTOMERS, 415“Pattern Language for Writers’

Workshops”, 508on pattern languages, 455SIZE THE ORGANIZATION, 413on symmetry breaking, 457THREE ITERATIONS, 512

COPY-ON-DEMAND pattern, 82–84COPY-THEN-DISPATCH pattern, 81–82CORBA Object Adapter component,

71–73

Manolescu_book.fm Page 571 Thursday, March 30, 2006 4:30 PM

Page 8: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

572 INDEX

CORBA Object Factories component, 39

CORBA Relationship Service, 185CorbaSEC security, 348CosObjectIdentity module, 185Costanza, Pascal

biographical information, 556COMPARAND, 169

Costs in BUS GUARDIAN, 114COUNTED BODY pattern, 466

AGGREGATION, 496–497COMMON GROUND, 499DIFFERENTIATION, 493LOCAL SYMMETRIES, 475–476

Counting references in dispatch, 78–80Coupling encapsulated context, 50, 57COURTYARDS WHICH LIVE pattern, 489CPU utilization, 119, 133Credibility, 520Credit Control Platform, 292CROSS LINKAGES pattern, 460,

487–491CRUD pattern, 40Cunningham, W., 482Czarnecki, K., 473

D-AMPS (Digital Advanced Mobile Phone System), 213

DA (Directory Agent), 196Dasgupta, S., 456Data access layer framework

background, 402–403evidence for reuse, 406framework user involvement, 422multiple change requests, 424–425pilot applications, 415pilot-based tests, 419–420simplicity, 409–410skilled teams, 412small objects, 417–418

Data conversionAUTOMATIC TYPE CONVERTER. See AU-

TOMATIC TYPE CONVERTER patterncontent. See CONTENT CONVERTER

patternWeb. See Web content conversion

and generationData copying, 50–51, 57, 61Data Router system, 60Data Update Propagation (DUP) algo-

rithms, 282Data Visualizers, 292Databases

in mobile wireless systems, 215, 220, 223, 225–226, 235–237

in paging, 233–234summary, 253–254

DEAD WEASELS pattern, 434, 443–444Debugging

COMPARAND for, 170GRID for, 352

DECENTRALIZED LOCKING patternacknowledgments, 167–168consequences, 166–167context, 156dynamics, 159–161example, 155–156, 164implementation, 161–164introduction, 155known uses, 165–166problem, 156–157references, 168related patterns, 167solution, 157structure, 157–158variants, 165

Decentralized start-up, 110DECORATOR pattern

COMPARAND, 171, 175COMPONENT WRAPPER, 370

Manolescu_book.fm Page 572 Thursday, March 30, 2006 4:30 PM

Page 9: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 573

Deferred plug-in loading, 308DeLano, David, 515DEPARTMENT HEARTH pattern, 498Dependency Injection technique, 320Dependent Demand pattern, 22Deployment structure in DECENTRAL-

IZED LOCKING, 157Design Patterns: Elements of Object-

Oriented Software Design, 526Designed systems, pattern languages

as, 454–455Destruction in encapsulation, 50DETACHED COUNTED BODY pattern, 466

AGGREGATION, 496–497COMMON GROUND, 499

Device drivers, 309DIFFERENTIATION pattern, 491–494

LEVELS OF SCALE, 487purpose, 461RESOLUTION OF FORCES, 483

Digital Advanced Mobile Phone Sys-tem (D-AMPS), 213

Directory Agent (DA), 196DIRECTORY FINDS SERVICES pattern,

197–199DISASTER NOTIFICATION pattern

in Equitable Resource Allocation, 147

in Real Time and Resource Over-load language, 134–136

Discovering services. See Service discovery

Dispatching components, 69conclusion, 85–86introduction, 69–70multiple objects, 80–85overview, 70–73references, 86–88single objects, 74–80SPLIT OBJECT, 383

Distributed environments, 179–180Distributed Locking. See DECENTRAL-

IZED LOCKING patternDistributed object computing (DOC)

middleware, 69–70Distributed processing capabilities.

See GRID patternDistributed resources, 352Distributed systems, 153–154, 173Disturbances in PRESCHEDULED

PERIODIC TRANSMISSION, 102DNS

ALIGN DIRECTORIES WITH ORGANIZA-

TION, 200SEPARATE IDENTITY FROM LOCATION,

202SERVICES REGISTER IN DIRECTORY, 198

Doble, Jim, “Pattern Language for Pat-tern Writing”, 434

DOC (distributed object computing) middleware, 69–70

DocMe system, 292Document archiving systems

SPLIT OBJECT, 386Web content conversion and gener-

ation, 292DOM (Document Object Model), 289,

291Domain names, 202DOMAIN OBJECT MANAGER pattern, 25

acknowledgments, 41applicability, 28–29collaborations, 30–31consequences, 32implementation, 32–35intent, 25known uses, 39motivation, 25–28participants, 29–30references, 42–43

Manolescu_book.fm Page 573 Thursday, March 30, 2006 4:30 PM

Page 10: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

574 INDEX

DOMAIN OBJECT MANAGER pattern, continued

related patterns, 40sample code, 35–38structure, 29

Domain-specific languages, 7, 367Domain-specific patterns, 211–212DOMAINOBJECT pattern, 30, 32–33Dominant siblings, 59–60DUP (Data Update Propagation)

algorithms, 282Dynamic behavior, 11–12Dynamic consumer subscriptions, 73Dynamic languages, wrappers for, 383Dynamic loading of plug-ins, 323DYNAMIC OBJECT MODEL pattern, 3

acknowledgments, 22dynamic behavior, 11–12end-user configuration, 11extensions, 12–13flexibility, 10implementation, 13–15known uses, 20–21motivation, 3–6portability, 12problem, 6–7programming environment, 11references, 22–24related patterns, 22runtime typing, 12sample code, 15–20simplicity, 9–10solution structure, 7–9

DYNAMIC OVERLOAD CONTROL patternDISASTER NOTIFICATION, 136in Real Time and Resource Over-

load language, 132, 148

ECHO BACK pattern, 487Eckstein, Jutta, 515

Eclipse application plug-ins, 304, 309PLUG-IN BASED PRODUCT, 332PLUG-IN CONTRACT, 315PLUG-IN LIFE CYCLE, 324PLUG-IN REGISTRATION, 321

Edge Side Includes, 293Editing databases, 21Eisenecker, U. W., 473Electro Mechanical Brake (EMB) sys-

tems. See Hard real-time systemsElevation in Prairie Houses, 541Embedded systems, 90Emergency braking, 92Emptiness, 500ENABLING THE SYSTEM TO SHARE LOAD

pattern, 133ENCAPSULATED CONTEXT pattern

acknowledgments, 63–64audience, 45consequences, 56–60examples, 45–48, 63forces, 49–51implementation, 52–54known uses, 60–61problem, 49references, 64–65related patterns, 61–63resolution, 54–55solution, 51–52summary, 63variations, 55–56

Encapsulation of heterogeneity, 351Encryption, 223, 226–229End-user configuration in DYNAMIC

OBJECT MODEL, 11ENGAGE CUSTOMERS pattern, 415Enterprise Java Beans

COMPARAND, 185DOMAIN OBJECT MANAGER, 39ENCAPSULATED CONTEXT, 61

Manolescu_book.fm Page 574 Thursday, March 30, 2006 4:30 PM

Page 11: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 575

Entities in mobile wireless systems, 220

ENTRANCE TRANSITION patternCIRCUITOUS APPROACH, 551CONCEALED VERTICALS, 550forces for, 469–470, 481–482

Equation constraints, 119Equitable manner, 132Equitable Resource Allocation

OVERLOAD EMPIRES, 133in Real Time and Resource Over-

load language, 146–147Eronen, Pasi

biographical information, 556Service Discovery, 189

Erroneous node detection, 101Errors

in hard real-time systems, 120in Real Time and Resource Over-

load language, 130SOS, 112

Ethernet-like communications, 94–95EVALUATE PAPERS FAST pattern, 516Event and Notification Services, 72Event channel dispatching compo-

nents, 72Event-driven communication, 94–95Event Driven Invocation, 323EVERYONE DOES EVERYTHING pattern,

497EVERYONE SPECIALIZES pattern, 497Evidence for reuse, 404–407, 425EVOCATIVE PATTERN NAME pattern, 434Evolution of systems, 6–7Evolved systems, pattern languages

as, 456–457EXCEPTIONAL VALUE pattern, 470–471

CROSS LINKAGES, 491RESOLUTION OF FORCES, 482–483VOID, 501

Expat standard, 291Extended Plug-in Contract pattern,

314External comparisons, 178–179

FACADE patternCOMPONENT WRAPPER, 372FRAMEWORK PROVIDING APPLICA-

TION, 317OBJECT SYSTEM LAYER, 359, 374

Fail silent systems, 120Failures in hard real-time systems, 120Fallback operations, 166FAMILY OF ENTRANCES pattern,

469–470, 481FAMILY ROOM CIRCULATION pattern,

498Fault containment units (FCUs), 121Fault hypotheses, 121Fault-tolerance

in Real Time and Resource Over-load language, 131

in safety-critical systems, 92in SYNC FRAME, 110in TIME-TRIGGERED CLOCK SYNCHRO-

NIZATION, 105Fault-tolerant units (FTUs), 121Faults in hard real-time systems, 120FCUs (fault containment units), 121FDSs (Fragment Definition Sets),

281–282Feedback from shepherds, 509FINAL HANDLING pattern

in Equitable Resource Allocation, 147

in Real Time and Resource Over-load language, 131–132, 148

Financial industry. See Web portal framework

FINDABLE SECTIONS pattern, 516

Manolescu_book.fm Page 575 Thursday, March 30, 2006 4:30 PM

Page 12: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

576 INDEX

FINE-GRAINED OBJECTS pattern, 418FINDER pattern, 30, 33–35

FINISH WORK IN PROGRESS pattern, 129OVERLOAD EMPIRES, 134Real Time and Resource Overload

language, 131, 148REASSESS OVERLOAD DECISION, 136

Firefox plug-ins, 304FIREPLACE AS REFUGE pattern, 541, 543,

546–547Fitting Form pattern, 525–526Flexibility

COMPARAND, 183DYNAMIC OBJECT MODEL, 10in PRESCHEDULED PERIODIC TRANS-

MISSION, 102FlexRay architecture

in hard real-time systems, 122–123in PRESCHEDULED PERIODIC TRANS-

MISSION, 102–103FLYWEIGHT pattern, 467, 501FOCUS ON LONG-TERM RELEVANCE pat-

tern, 421–422Foote, Brian

LOW SURFACE-TO-VOLUME RATIO, 418PROTOTYPE A FIRSTPASS DESIGN, 415SELFISH CLASS, 410

FORCES DEFINE PROBLEM pattern, 436FORCES HINT AT SOLUTION pattern,

446FORM FOLLOWS FUNCTION, 525in shepherding, 508–509, 521–522

FORCES HINT AT SOLUTION pattern, 434, 444–446

FORM FOLLOWS FUNCTION pattern, 509, 525–527

FORM FOLLOWS PREDOMINANT FEATURE pattern, 537–539

BANDS OF WINDOWS, 546CANTILEVERED TERRACE, 544

Forwarding functions, 56Fowler, Martin

Analysis Patterns, 22on knowledge level, 5TEMPLATE VIEW, 279

Frag language, 385, 390–393Fragment Definition Sets (FDSs),

281–282FRAGMENTS pattern, 257, 260

CONTENT CACHE, 264, 285–287CONTENT CONVERTER, 272–273CONTENT FORMAT TEMPLATE, 277–279GENERIC CONTENT FORMAT, 267overview, 262PUBLISHER AND GATHERER, 268Web content conversion and gener-

ation, 279–284, 287, 290–291Framegrabbers, 89Framework development

acknowledgments, 427conclusions, 425–426evidence for reuse, 404–407framework user involvement,

420–423introduction, 401–402multiple change requests, 423–425pilot applications, 413–416pilot-based tests, 418–420references, 427–429roadmap, 403–404simplicity, 407–411skilled teams, 411–413small objects, 416–418

Framework Interface, 311FRAMEWORK PROVIDING APPLICATION

pattern, 305, 310, 315–319COOPERATING PLUG-INS, 330PLUG-IN BASED PRODUCT, 333PLUG-IN CONTRACT, 313PLUG-IN REGISTRATION, 321

Manolescu_book.fm Page 576 Thursday, March 30, 2006 4:30 PM

Page 13: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 577

FRAMEWORK USER INVOLVEMENT pat-tern, 415, 420–423

FRESH WORK BEFORE STALE patternin Equitable Resource Allocation, 146OVERLOAD EMPIRES, 133, 134in Queue for Resources, 143–144in Real Time and Resource Over-

load language, 131, 149Front distance credibility, 99FRUIT TREES pattern, 484, 487FTUs (fault-tolerant units), 121Functional Form pattern, 525–526Functors, 55Fundamental process, 463Fundamental units, 470

Garbage collection, 79GARDEN GROWING WILD pattern, 484,

487, 489GARDEN SEAT pattern, 486, 487Gaston, K. J., 491GASTRULATION pattern, 477–478Gatherer class, 288–289General Packet Radio Services

(GPRS), 213GENERIC CONTENT FORMAT pattern,

257, 260FRAGMENTS, 281, 284overview, 261PUBLISHER AND GATHERER, 267–268Web content conversion and gener-

ation, 264–267, 287, 289Generic representation of Web con-

tent, 265Generic Security Services (GSS), 348Ginko client, 186Global Resource Manager (GRM), 351Global System for Mobile communica-

tions 900 (GSM-900), 213Global variables in encapsulation, 50

GLOBUS grids, 350Globus Resource Allocation Manager

(GRAM), 350GoF book, 526GOF pattern form, 437Goldchleger, Andrei

biographical information, 556GRID, 337

Golubitsky, M., 453“Good For What Ails You” syndrome,

523GPRS (General Packet Radio Ser-

vices), 213Grabow, S., 461GRAM (Globus Resource Allocation

Manager), 350Green, R., “Hide Forbidden Globals”,

59GREENHOUSE pattern, 484Grid clusters, 341–342, 348–349Grid Computing, 338–339GRID pattern

acknowledgments, 353consequences, 351–352context, 339dynamics, 343–344example, 337–339implementation, 343, 345–350intent, 337known uses, 350–351problem, 339–340references, 354–356related patterns, 353solution, 340structure, 340–342

Grid Security Infrastructure (GSI), 350GRM (Global Resource Manager), 351Gruber, Manfred

biographical information, 556hard real-time systems, 89

Manolescu_book.fm Page 577 Thursday, March 30, 2006 4:30 PM

Page 14: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

578 INDEX

GSI (Grid Security Infrastructure), 350GSM-900 (Global System for Mobile

communications 900), 213GSS (Generic Security Services), 348GUIDs, 182

Haase, Arnobiographical information, 557COMPARAND, 169

HALF A LOAF pattern, 508, 511–512, 514–515

HALF-HIDDEN GARDEN pattern, 484, 486–487, 489

HALF-OBJECT PLUS PROTOCOL (HOPP), 459, 476–477

HALF-SYNC/HALF-ASYNC pattern, 120HANDLE/BODY pattern, 465–466

AGGREGATION, 496–497COMMON GROUND, 499DIFFERENTIATION, 493LOCAL SYMMETRIES, 474–476

Handoff procedures in mobile wire-less systems, 217–221, 240–242

anchor entities in, 242–244failure action for, 246–247intersystem, 244–246summary, 254–255

Hanmer, Robert S.biographical information, 557Real Time and Resource Overload

language, 127Hard real-time systems

brake-by-wire example, 90–92BUS GUARDIAN, 111–115introduction, 89–90known uses, 122–123patterns-outline, 92–93PRESCHEDULED PERIODIC TRANSMIS-

SION pattern. See Prescheduled Periodic Transmission pattern

references, 124–125

SYNC FRAME, 106–111TEMPORAL APPLICATION DECOU-

PLING, 115–120terminology, 120–122TIME-TRIGGERED CLOCK SYNCHRONI-

ZATION, 103–106Hardware selection for MHP product

lines, 386–389Harrison, Neil B.

advanced pattern writing, 433biographical information, 557“Language of Shepherding”, 436shepherding, 507

HashMap class, 4Hashtables, 14, 20Haugen, Robert, 22Herzner, Wolfgang

biographical information, 557hard real-time systems, 89

Hidden Globals, 59“Hide Forbidden Globals” (Green),

59Hierarchical directories, 200Hildebrand, G.

essential characteristics, 533–534Prairie Houses, 535–536The Wright Space, 532

HIP host identities, 202HLRs (home location registers)

databases for, 236in mobile wireless systems, 215

Home databases in mobile wireless systems, 220, 225–226, 235–237

in paging, 233–234summary, 254

“Home in a Prairie Town, A”, 531Home interface, 39Home location areas, 215Home location registers (HLRs)

databases for, 236in mobile wireless systems, 215

Manolescu_book.fm Page 578 Thursday, March 30, 2006 4:30 PM

Page 15: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 579

HOMOGENOUS ADDITION pattern, 465, 490

HOOK INJECTOR pattern, 384, 391Horizontal splits, 53Horizontal spread in Prairie Houses,

538–539Horizontal tasks, 402–403Host Application, 315–319Host objects, 350Hot spots plug-ins, 316How Buildings Learn (Brand), 463“HOW”-PROCESS pattern, 434, 438–440HTML, 258

CONTENT CREATOR, 274–277Web content conversion and gener-

ation, 288–290Htmllib, 292Hyperlinks, 450

I-frames, 111ICMPv6 Router Advertisements, 194IDENTIFICATION patterns, 203Idioms languages, 459, 465

AGGREGATION, 496COMMON GROUND, 499CROSS LINKAGES, 489–490DIFFERENTIATION, 493LOCAL SYMMETRIES, 474operator overloading in, 465

IDL interface, 39IEEE 802.11 wireless LAN Beacon

messages, 194IMT-200 (International Mobile Tele-

communications 2000) Systems, 214

IN THE REGION OF WHOLE VALUE pat-tern, 467

Indirection, 32Information Integrity, 459INFORMATION MARKETPLACE pattern,

422

Information secrecy, 229, 232Inheritance, 12Initial Resync, 111Input processing in CONTENT CON-

VERTER, 271Insertion collaborations, 30Instance class, 9Instances, plug-in, 307Instantiation in encapsulation, 50, 58Insurance, 21, 402–403, 407, 415,

419–422InteGrade services, 351Integration, component and language.

See Component and language in-tegration

Integrity Controller, 138Intended audiences, 447Interbase station transceiver handoff,

217INTERFACE DESCRIPTION pattern, 360

AUTOMATIC TYPE CONVERTER, 377, 378–381

COMPONENT WRAPPER, 370SPLIT OBJECT, 393–394, 397

Internal comparisons, 178–179International Mobile Telecommunica-

tions 2000 (IMT-200) Systems, 214Internet browsers

FRAMEWORK PROVIDING APPLICA-

TION, 318PLUG-IN, 309

Internet Explorer plug-ins, 304INTERPRETER pattern, 359–360

COMMAND LANGUAGE, 363, 365–367DYNAMIC OBJECT MODEL, 13ENCAPSULATED CONTEXT, 61OBJECT SYSTEM LAYER, 374SPLIT OBJECT, 384, 390, 391, 394–396

Intersystem handoffs, 218, 220–221, 244–246, 255

Intrasystem handoffs, 218

Manolescu_book.fm Page 579 Thursday, March 30, 2006 4:30 PM

Page 16: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

580 INDEX

Introduce Parameter Object pattern, 62ITERATORS pattern, 501IT’S A RELATIONSHIP NOT A SALE pat-

tern, 416 JAC framework, 367Java and Java-like languages

comparisons in, 177DYNAMIC OBJECT MODEL, 7OBJECT SYSTEM LAYER, 374

Java Connector Architecture (JCA), 291Java Debug Interface (JDI), 169, 184Java Debug Wire Protocol (JDWP), 169Java Platform Debugger Architecture

(JPDA), 169Java RMI (JRMI), 184Java Virtual Machine (JVM), 169–170Java Virtual Machine Debug Interface

(JVMDI), 169JCA (Java Connector Architecture),

291JDI (Java Debug Interface), 169, 184JDWP (Java Debug Wire Protocol), 169Jiffy server, 60Jini services

CONSULT DIRECTORY, 196SEPARATE IDENTITY FROM LOCATION,

202SERVICES REGISTER IN DIRECTORY,

197–198Jitter in hard real-time systems, 121Johnson, Ralph

biographical information, 558DYNAMIC OBJECT MODEL, 3FINE-GRAINED OBJECTS, 418THREE EXAMPLES, 407

Join protocols, 197–198Jolin, Art, 410JPDA (Java Platform Debugger Archi-

tecture), 169JRMI (Java RMI), 184

JVM (Java Virtual Machine), 169–170JVMDI (Java Virtual Machine Debug

Interface), 169

Kelly, Allanbiographical information, 558ENCAPSULATED CONTEXT, 45

Kerberos security, 348Keys

DYNAMIC OBJECT MODEL, 14JavaBeans, 185

Kinds, plug-in, 307Knowledge level, 5, 22Kon, Fabio

biographical information, 558GRID, 337

Koponen, Teemubiographical information, 558Service Discovery, 189

Kubinger, Wilfriedbiographical information, 558hard real-time systems, 89

Laboratory Systems Manager (LSM), 304, 309

COOPERATING PLUG-INS, 329FRAMEWORK PROVIDING APPLICA-

TION, 318PLUG-IN CONTRACT, 315PLUG-IN LIFECYCLE, 324PLUG-IN PACKAGE, 327PLUG-IN REGISTRATION, 321

Language Designer’s Pattern Lan-guage (LDPL), 453

AGGREGATION, 494–497basis for, 454–457CLUSTER OF FORCES, 467–471COMMON GROUND, 497–500conclusion, 502–503CROSS LINKAGES, 487–491

Manolescu_book.fm Page 580 Thursday, March 30, 2006 4:30 PM

Page 17: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 581

DIFFERENTIATION, 491–494examples, 457–459introduction, 453LEVELS OF SCALE, 483–487LOCAL REPAIR, 461–467LOCAL SYMMETRIES, 471–479pattern language, 459–461references, 502–506RESOLUTION OF FORCES, 479–483VOID, 500–502

LANGUAGE EXTENSION pattern, 365“Language of Shepherding, The: A

Pattern Language for Shepherds and Sheep” (Harrison), 436

LANs (Local Area Networks), 214LAYER pattern, 359Layers, 448–449LDAP directory, 200LDPL. See Language Designer’s Pat-

tern Language (LDPL)LEASING pattern

DECENTRALIZED LOCKING, 165SERVICES REGISTER IN DIRECTORY, 197

Leaves, HTML, 290Legion grids, 350LEVELS OF SCALE pattern, 460, 483–487

LOCAL REPAIR, 467LOCAL SYMMETRIES, 479

LibrariesGRID, 348OBJECT SYSTEM LAYER, 376SPLIT OBJECT, 385, 393–394, 396

Liebenau, Johnbiographical information, 558–559DOMAIN OBJECT MANAGER, 25

LIGHT ON TWO SIDES OF EVERY ROOM pattern, 546

Limburg, K. E., 486Linux plug-ins, 304Liskov Substitution Principle (LSP), 49

LISTEN TO ADVERTISEMENTS pattern, 193–194

CONSULT DIRECTORY, 196PLACE DIRECTORIES DYNAMICALLY, 201SERVICES REGISTER IN DIRECTORY, 197in SLP, 206USE ADVERTISER, 195

Little helpers, 328Local Area Networks (LANs), 214Local Lock Acquisition scenario,

159–160LOCAL-REGIONAL SPECIES RICHNESS RE-

LATIONSHIP pattern, 491LOCAL REPAIR pattern, 460

AGGREGATION, 497context, 461examples, 465–467forces, 461–462problem, 461rationale, 463–465solution, 462VOID, 502

LOCAL REPAIR OF THE LANGUAGE pat-tern, 467

Local Resource Manager (LRM), 351Local scheduling, 346LOCAL SYMMETRIES pattern, 460

AGGREGATION, 497COMMON GROUND, 500context, 471CROSS LINKAGES, 491DIFFERENTIATION, 494examples, 474–478forces, 472LEVELS OF SCALE, 487LOCAL REPAIR, 467problem, 471rationale, 473–474related patterns, 479solution, 473

Manolescu_book.fm Page 581 Thursday, March 30, 2006 4:30 PM

Page 18: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

582 INDEX

LocalSystem class, 324LocalSystemPlugin class, 309–310,

314–315Locations in mobile wireless systems,

215, 220, 237–239, 254Lock-Permit. See DECENTRALIZED

LOCKING patternLock Relay variant, 165Lock Release scenario, 159–160Locking Overhead force, 157LockManager service, 158, 162–165LockManager Proxy service, 158–161,

165Locks

decentralized. See DECENTRALIZED LOCKING pattern

in dispatching components, 75–78Logical design of plug-ins, 308Logically deleted objects in reference

counting, 80LogManager class, 48Logrippo, Luigi

biographical information, 559MoRaR, 213

Long Resync frames, 111LOOKUP pattern

GRID, 353SPLIT OBJECT, 393

Lookup services, 196LOW SURFACE-TO-VOLUME RATIO, 418LRM (Local Resource Manager), 351LSM. See Laboratory Systems Man-

ager (LSM)LSP (Liskov Substitution Principle),

49

MAHO (mobile station-assisted hand-offs), 241

Maintenance work, 139MANAGER pattern, 29

MANDATORY ELEMENTS PRESENT pat-tern, 516

Manolescu, Dragos, 559Maps

framework development, 409patterns, 508–510Real Time and Resource Overload

language, 129–130UCMs, 218

MarketContext class, 54, 56, 59–60MarketDataStore class, 48MarketMessageCommand class,

47–48, 54–55, 59Marquardt, Klaus

biographical information, 559plug-ins, 301

MARSHALLER pattern, 396Mash toolkit, 389MASK PRIORITIES TO SHED WORK

patternin Real Time and Resource Over-

load language, 141–142in Working Hard, Don’t Fix it, 140

MASTER-SLAVE pattern, 353MATCHING PROBLEM AND SOLUTION

pattern, 436FORM FOLLOWS FUNCTION, 526problem and solution in, 442,

518–519in shepherding, 509

Matchmaker module, 350MDS (Monitoring and Discovery Ser-

vice), 350MEANINGFUL METAPHOR NAME pattern,

435MEANINGLESS BEHAVIOR pattern

CROSS LINKAGES, 490, 491VOID, 501

MEDL (Message Description List), 102

Manolescu_book.fm Page 582 Thursday, March 30, 2006 4:30 PM

Page 19: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 583

Memoryfor COMPARAND, 184for OVERLOAD EMPIRES, 133in TEMPORAL APPLICATION DECOU-

PLING, 119MESSAGE INTERCEPTORS pattern

COMPONENT WRAPPER, 370CONTENT CONVERTER, 273OBJECT SYSTEM LAYER, 375SPLIT OBJECT, 386

Message RAM, 119MESSAGE REDIRECTOR pattern, 360

OBJECT SYSTEM LAYER, 359, 374PUBLISHER AND GATHERER, 268–270SPLIT OBJECT, 386

Message slots, 98Meszaros, Gerard, “Pattern Language

for Pattern Writing, A”, 434, 509Meta-patterns, 431–432Metadata in SPLIT OBJECT, 394Methods for States pattern, 61MHP (Multimedia Home Platform),

276products, 386–389Web content conversion and gener-

ation, 293Middleware, 350MIND YOUR MANNERS pattern, 441Minimum front distance, 99Mobile station-assisted handoffs

(MAHO), 241Mobile stations, 215–218Mobile switching centers (MSCs),

215–218Mobility and radio resource manage-

ment. See MoRaR pattern language

Mobility management functions, 221–222

Module Interface, 119

Monitor locks, 75–76Monitor Object pattern

in dispatching components, 75ENCAPSULATED CONTEXT, 62

Monitoring and Discovery Service (MDS), 350

Montgomery, Warren, 492–493MoRaR pattern language

acknowledgments, 250anchor entities, 242–244architectural concepts, 215–218authentication, 215, 220, 225–227,

229–232ciphering, 226–229handoff decisions, 240–242handoff failure actions, 246–247home and visitor databases,

235–237intersystem handoffs, 244–246introduction, 213–214location registration, 237–239mobility management functions,

221–222paging, 233–235pattern language, 218–221radio resource management, 239references, 250–253releasing resources, 247–248security database, 225–226summary, 253–255temporary identification, 222–224

Motivation, 3MPI API, 348, 350MSCs (mobile switching centers),

215–218Multimedia Home Platform (MHP),

276products, 386–389Web content conversion and gener-

ation, 293

Manolescu_book.fm Page 583 Thursday, March 30, 2006 4:30 PM

Page 20: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

584 INDEX

MULTIPLE CHANGE REQUESTS pattern, 410, 413, 423–425

Multiple objects, dispatching to, 80–85Multiple Plug-in Contracts pattern, 314Multiple read permits, 167Multithreading

in CORBA Object Adapter, 72–73ENCAPSULATED CONTEXT, 58

MutexesENCAPSULATED CONTEXT, 58in serialized dispatching, 76

Naming patterns, 434–436Natural systems, 456–457Nature of Order (Alexander), 463, 485NetBIOS networks, 201Netscape plug-ins, 304Network management systems,

155–156Network Simulator (NS), 385, 389NEURULATION pattern, 478Noble, James

Arguments Object, 62biographical information, 560OBJECT SYSTEM, 22

Nodes in hard real-time systems, 121Non-existent objects in CORBA, 72NOUN PHRASE NAME pattern, 434NP-complete problems, 121NP-hard problems, 121NS (Network Simulator), 385, 389NULL OBJECT pattern, 501–502

Object activation/deactivation use cases, 72

Object Adapter, CORBA, 71–73Object COBOL, 373–374Object Factories, 39Object ids (OIDs), 32–33Object Request Broker (ORB), 69

OBJECT SYSTEM pattern. See DYNAMIC OBJECT MODEL pattern

OBJECT SYSTEM LAYER pattern, 359–360consequences, 375–376context, 372–373discussion, 374–375forces, 373–374known uses, 376OBJECT SYSTEM LAYER, 374problem, 373scenario, 373, 375solution, 374SPLIT OBJECT, 384, 386, 394, 397

Objectivity database system, 165–166OBSERVER pattern

CONSULT DIRECTORY, 196in dispatching components, 73DYNAMIC OBJECT MODEL, 13ENCAPSULATED CONTEXT, 61–62

OID pattern, 186OIDs (object ids), 32–33OKBOX pattern, 387Olympic Games 2000 Web Site, 293One Plug-in per Task pattern, 327Opdyke, William, 415Open Mash project, 385Operational level, 5Opportunistic computing, 349Oracle system, 166ORB (Object Request Broker), 69Order class, 26, 36–37Order pattern, 30Order-processing framework, 26OrderFinder interface, 26–28, 30, 37OrderManager interface, 26–29, 35–36Orders class, 26Oregon Experiment, The, 501O’Ryan, Carlos, 69Ostwald, J., 457OTcl, 385, 389

Manolescu_book.fm Page 584 Thursday, March 30, 2006 4:30 PM

Page 21: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 585

OURGRID pattern, 351OurGridPeer modules, 351Out-of-sync transmissions, 114OUTDOOR ROOM pattern, 484Output processing in CONTENT CON-

VERTER, 271Overhead

in dispatching components, 73in Prescheduled Periodic Transmis-

sion, 102OVERLAY NETWORK pattern, 192–193OVERLOAD ELASTICS pattern

OVERLOAD EMPIRES, 134in Real Time and Resource Over-

load language, 131, 144–145OVERLOAD EMPIRES pattern

OVERLOAD ELASTICS, 144in Queue for Resources, 143in Real Time and Resource Over-

load language, 131–134refinement of, 129

OVERLOAD OUT-OF-CONTROL pattern, 132

Owner class, 8–9

Pagingin mobile wireless systems, 215, 220,

225, 233–235summary, 254

Palladio, Andrea, 535Parallel computation, 348Parameter Block pattern, 62–63Parameter Database pattern, 239Parameter lists in encapsulation, 50Parameterizing Finders, 33Parlsberg, Jens, 516Parsing Web content, 291Parssinen, Juha

biographical information, 560Service Discovery, 189

Partially removed objects in reference counting, 80

Pattern Almanac, The (Rising), 448Pattern Language, A—Towns, Buildings,

Construction (Alexander), 259“Pattern Language for Pattern Writ-

ing, A” (Meszaros and Doble), 434, 509

“Pattern Language for Writers’ Work-shops” (Coplien), 508

Pattern Language of Feature Interac-tion pattern, 239

Pattern Languages of Program Design, 526

Pattern Writing Patterns, 509Patterns

advanced. See Advanced pattern writing

maps of, 508–510PCS-1900 (Personal Communication

System 1900), 213Peer-to-peer file sharing networks, 193PEOPLE KNOW BEST pattern, 204Performance in locking, 166Periodic tasks, 121Peripheral equipment for OVERLOAD

EMPIRES, 133Perl language, 367Permit Revoke scenario, 160–161Permits

in locking, 157multiple read, 167

PersistenceManager interface, 39Persistent states, 28–29, 32–33Personal Communication System 1900

(PCS-1900), 213Phone Call class, 476–477Photoshop program, 304, 308–309, 324PHP language, 293Physical design for plug-ins, 308

Manolescu_book.fm Page 585 Thursday, March 30, 2006 4:30 PM

Page 22: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

586 INDEX

Physical systems, 457PIECEMEAL GROWTH pattern, 487PIGGYBACK pattern, 365–366PILOT APPLICATIONS pattern, 407,

413–416, 420, 423PILOT-BASED TESTS pattern, 416, 418–420Pipes, 98PLACE DIRECTORIES DYNAMICALLY pat-

tern, 200–201CONSULT DIRECTORY, 196OVERLAY NETWORK, 193

Platitudes, 444PLMN (Public Land Mobile Net-

work), 215PLUG-IN pattern, 306–310PLUG-IN BASED APPLICATION pattern,

323PLUG-IN BASED PRODUCT pattern, 310,

314, 330–333PLUG-IN CONTEXT pattern, 315–319PLUG-IN CONTRACT pattern, 305, 310–315Plug-in Definition interface, 311PLUG-IN LIFECYCLE pattern, 305, 322–324PLUG-IN PACKAGE pattern, 305, 310,

325–327PLUG-IN REGISTRATION pattern, 305,

319–321PLUG-IN SUBCONTRACT pattern, 314Plug-ins, 305–310

acknowledgments, 333vs. components, 302–303COOPERATING PLUG-INS, 327–330example, 303–304FRAMEWORK PROVIDING APPLICA-

TION, 315–319known uses, 304PLUG-IN, 306–310PLUG-IN BASED PRODUCT, 330–333PLUG-IN CONTRACT, 310–315PLUG-IN LIFECYCLE, 322–324

PLUG-IN PACKAGE, 325–327PLUG-IN REGISTRATION, 319–321references, 333–335roadmap, 304–306

POINTERS TO DETAIL pattern, 434, 444, 448–451

Poltergeist antipattern, 47Pools in Equitable Resource Alloca-

tion, 147Portability in DYNAMIC OBJECT MODEL,

12PortalToGo architecture, 291POSITIVE CLOSURE pattern, 513POSITIVE FEEDBACK FIRST pattern, 513POSITIVE OUTDOOR SPACE pattern, 500Power consumption in Prescheduled

Periodic Transmission, 102Power Tools, 309Prairie Houses, 531–533

acknowledgments, 553Alexandrian rendition, 534–537assessment and conclusion, 551–553BANDS OF WINDOWS, 545–546CANTILEVERED TERRACE, 543–545CHIMNEY AS ANCHOR, 541–543CIRCUITOUS APPROACH, 550–551CONCEALED VERTICALS, 549–550FIREPLACE AS REFUGE, 546–547FORM FOLLOWS PREDOMINANT FEA-

TURE, 537–539PROSPECT AND REFUGE, 533–534,

539–541PROSPECTIVE VIEWS, 547–548references, 553–554

PrepStmtOrderFinder interface, 30PRESCHEDULED PERIODIC TRANSMISSION

pattern, 93consequences, 101context, 93example, 93–94, 99–100

Manolescu_book.fm Page 586 Thursday, March 30, 2006 4:30 PM

Page 23: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 587

implementation, 97–99known uses, 102–103problem, 94–96related patterns, 103solution, 96–97

Primary keys, 185PrimitiveContent class, 266Printers, 206–207PRIVATE TERRACE ON THE STREET pat-

tern, 484Processing pipes, 98Processor CPU time, 133PROFILE-BASED SERVICE BROWSING pat-

tern, 204Programming environment, 11PROMOTE AND ADD pattern, 490PROMOTION LADDER pattern, 465–466,

490Property class, 4–7, 9PROPERTY LIST pattern, 4–5, 8–9, 17–19,

22PropertyType class, 5–7, 9, 14, 19–20PROSPECT AND REFUGE pattern, 539–541

BANDS OF WINDOWS, 546CANTILEVERED TERRACE, 545FIREPLACE AS REFUGE, 547PROSPECTIVE VIEWS, 547–548

PROSPECTIVE VIEWS pattern, 541, 547–548

PROTOTYPE A FIRSTPASS DESIGN pattern, 415

Prototype design patterns, 40Proven knowledge, 520PROXY pattern, 359

COMPONENT WRAPPER, 369–371DECENTRALIZED LOCKING, 163–164

Public Land Mobile Network (PLMN), 215

Public switched telephone networks (PSTNs), 128

PUBLISHER AND GATHERER pattern, 257, 260, 264

CONTENT CACHE, 285–287CONTENT CONVERTER, 272overview, 261Web content conversion and gener-

ation, 267–270, 287PUBLISHER-SUBSCRIBER pattern, 196PVM API, 348, 350Pyarali, Irfan, 69Python language

COMMAND LANGUAGE, 367OBJECT SYSTEM LAYER, 376

Quality of Service standards, 130Query mechanisms

CLIENT KNOWS BEST, 204DOMAIN OBJECT MANAGER, 30, 32

Queue for ResourcesOVERLOAD EMPIRES, 133in Real Time and Resource Over-

load language, 131, 143–144

Race conditions, 119Radio resource management, 217, 239RAISED FLOWERS pattern, 484Random values in authentication,

230–231Rational Rose application, 304, 327RdbOrderManager class, 26–28, 30,

36RDF library

OBJECT SYSTEM LAYER, 376SPLIT OBJECT, 385, 393–394, 396

Reactive computing systems, 127Read permits in locking, 167READABLE REFERENCES TO PATTERNS

pattern, 436, 450Readers/writer locks, dispatching

with, 77–78

Manolescu_book.fm Page 587 Thursday, March 30, 2006 4:30 PM

Page 24: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

588 INDEX

READING JUST BEFORE REVIEWING pat-tern, 516

Real Time and Resource Overload language

acknowledgments, 150–151DISASTER NOTIFICATION, 134–136Equitable Resource Allocation,

146–147introduction, 127–129language context, 130–132language maps, 129–130MASK PRIORITIES TO SHED WORK,

141–142OVERLOAD ELASTICS, 144–145OVERLOAD EMPIRES, 132–134previously published patterns,

148–150Queue for Resources, 143–144REASSESS OVERLOAD DECISION,

136–138references, 151–152Working Hard, Don’t Fix it, 138–140

Real-time systems. See Hard real-time systems

Reasoning in encapsulation, 57REASSESS OVERLOAD DECISION pattern

OVERLOAD ELASTICS, 145in Real Time and Resource Over-

load language, 136–138in Working Hard, Don’t Fix it, 140

Recursive access in multithreading, 73Recursive applications, 13Recursive mutexes, 76Redland RDF library

OBJECT SYSTEM LAYER, 376SPLIT OBJECT, 385, 393–394, 396

Redundancy in safety-critical systems, 90

REFERENCE COUNTER pattern, 499

Reference counting in dispatch, 78–80Reference semantics in comparisons,

171–172Refresh rate in scheduling, 97–98Regenerative switching delays, 135Registering in mobile systems, 215Relationship Service Specification, 185RELATIONSHIP TO OTHER PATTERNS pat-

tern, 436, 450Relationship type objects, 13Relationships in shepherding, 517Release Strategy variant, 165Releasing resources

in mobile wireless systems, 220–221, 247–248

summary, 255Remote interface, 39Remote Method Invocation (RMI),

184–185remote objects, 183Remote procedure call (RPC) protocol,

291Remote Proxy, 163Remote query interface, 394Removal collaborations, 30Rendezvous protocol, 192Repository pattern. See DOMAIN OB-

JECT MANAGER patternRESOLUTION OF FORCES pattern, 460,

471, 479–483RESOURCE LIFECYCLE MANAGER pattern,

353Resource management services,

340–341, 346Resource module, 350Resource providers, 340Resource provision services, 340–341,

343–346Resource usage information, 346, 352

Manolescu_book.fm Page 588 Thursday, March 30, 2006 4:30 PM

Page 25: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 589

Response times in locking, 157Reuse

COMPARAND attributes, 178in framework development,

404–407, 425GRID, 351

Revocation requests, 160–163Riehle, Dirk

biographical information, 560DYNAMIC OBJECT MODEL, 3HALF A LOAF, 515THREE ITERATIONS, 512

Rising, LindaIT’S A RELATIONSHIP NOT A SALE, 416The Pattern Almanac, 448

RMI (Remote Method Invocation), 184–185

Roaming, 215Roberts, Don

FINE-GRAINED OBJECTS, 418THREE EXAMPLES, 407

Round robin scheduling, 145RPC (remote procedure call) protocol,

291Rule of three, 405–406RUNNING EXAMPLE pattern, 525Runtime Domain Model. See DY-

NAMIC OBJECT MODEL patternRuntime typing, 12Rüping, Andreas

biographical information, 560framework development, 401

Safe Framework Providing Applica-tion, 317

SAFE SETTING pattern, 513SAFEbus standard

BIUs in, 115in hard real-time systems, 122

in SYNC FRAME, 111in TEMPORAL APPLICATION DECOU-

PLING, 119Safety-critical systems, 90, 92Salingaros, N. A., 485–486Sameness of objects, 172Sandboxes in GRID, 347Sandboxing Without A Name (SWAN)

module, 351SavingsAccount class, 15–16SavingsAccountType class, 6,

16–17SAX standard, 291Scalable processor-independent de-

sign for electromagnetic resilience (SPIDER), 123

Scarce resources, 146SCATTERED WORK pattern, 488Scheduled Invocation plug-ins, 323Scheduler objects, 350Scheduling

round robin, 145services, 340–341, 343, 346–347tasks, 119

Schmidt, Douglas C.biographical information, 561dispatching components, 69

Schütz, Dietmarbiographical information, 561DECENTRALIZED LOCKING, 155

Screen savers, 324Screening devices, 548Script interpreters, 394Search engines

CONSULT DIRECTORY, 196SERVER DOES HEAVY WORK, 205

Secrecy, 229, 232Secure-channel communication pat-

tern, 232

Manolescu_book.fm Page 589 Thursday, March 30, 2006 4:30 PM

Page 26: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

590 INDEX

Security databasesin mobile wireless systems, 220,

225–226summary, 253

Security in GRID, 340–341, 347–348, 352

SELECTIVE DYNAMIC OVERLOAD CON-

TROL patternin DISASTER NOTIFICATION, 136in Equitable Resource Allocation,

147in Real Time and Resource Over-

load language, 132, 149SELECTIVE TRUNK RESERVATION pattern

in Equitable Resource Allocation, 147

in Real Time and Resource Over-load language, 132, 149

Self-stabilization in SYNC FRAME, 110SELFISH CLASS pattern, 410Sell class, 47Semantic lookup service, 393–396Semi-lattice systems, 488Sender authentication pattern, 232Senge, P. M., 463–464SEPARATE IDENTITY FROM LOCATION pat-

tern, 201–203DIRECTORY FINDS SERVICES, 199in SLP, 206

Serialized dispatching, 74–76Serializer design pattern, 40Servants in CORBA, 71SERVER DOES HEAVY WORK pattern,

204–205Server Lock Acquisition scenario,

159–160Server-side caching, 285SERVICE ABSTRACTION LAYER pattern,

260, 269–270Service centers in locking, 166

Service discovery, 189–190acknowledgments, 206ALIGN DIRECTORIES WITH ORGANIZA-

TION, 199–200ASK LOCAL NETWORK, 191–192CLIENT KNOWS BEST, 203–204combining patterns, 205–207CONSULT DIRECTORY, 195–196DIRECTORY FINDS SERVICES,

198–199LISTEN TO ADVERTISEMENTS,

193–194OVERLAY NETWORK, 192–193PLACE DIRECTORIES DYNAMICALLY,

200–201references, 206–209SEPARATE IDENTITY FROM LOCATION,

201–203SERVER DOES HEAVY WORK, 204–205SERVICES REGISTER IN DIRECTORY,

196–198USE ADVERTISER, 194–195

Service Location Protocol (SLP), 190ASK LOCAL NETWORK, 192LISTEN TO ADVERTISEMENTS, 194in service discovery, 205–207SERVICES REGISTER IN DIRECTORY, 197USE ADVERTISER, 195

Service registration messages, 197SERVICES REGISTER IN DIRECTORY pat-

tern, 196–198CONSULT DIRECTORY, 196DIRECTORY FINDS SERVICES, 199SEPARATE IDENTITY FROM LOCATION,

202in SLP, 206

Session Beans, 61Set-top boxes, 386–389Severity of overloads, 145SHARE THE LOAD pattern, 131, 149

Manolescu_book.fm Page 590 Thursday, March 30, 2006 4:30 PM

Page 27: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 591

SHED LOAD patternOVERLOAD EMPIRES, 133in Real Time and Resource Over-

load language, 131, 149REASSESS OVERLOAD DECISION,

136–137in Working Hard, Don’t Fix it, 139

SHEPHERD KNOWS THE SHEEP pattern, 508, 512–514

Shepherding, 507acknowledgments, 528–529Author as Owner, 517–518BALANCED CONTEXT, 523–524BIG PICTURE, 515–516CONVINCING SOLUTION, 519–521epilogue, 528FORCES DEFINE PROBLEM, 521–522FORM FOLLOWS FUNCTION, 525–526HALF A LOAF, 514–515map of patterns, 508–510references, 529SHEPHERD KNOWS THE SHEEP, 512–514SMALL PATTERNS, 527–528THREE ITERATIONS, 509–512WAR STORIES, 524–525

“Should” in patterns, 520SICO First and Always

in Real Time and Resource Over-load language, 131–132

REASSESS OVERLOAD DECISION, 138Simplicity

DYNAMIC OBJECT MODEL, 9–10framework development, 407–411

SimulatorContext class, 60Single objects, dispatching to, 74–80SINGLE-PASS READABLE PATTERN pat-

tern, 516SINGLETON pattern

ENCAPSULATED CONTEXT, 61VOID, 501

SIP URIs, 202SIZE THE ORGANIZATION pattern, 413SIZE THE SCHEDULE pattern, 413SKILLED TEAM pattern, 407, 411–413SKIPPABLE SECTIONS pattern, 435, 438Slightly out of specification (SOS) er-

rors, 112SLP (Service Location Protocol), 190

ASK LOCAL NETWORK, 192LISTEN TO ADVERTISEMENTS, 194in service discovery, 205–207SERVICES REGISTER IN DIRECTORY, 197USE ADVERTISER, 195

Small objects in framework develop-ment, 416–418

SMALL PATTERNS pattern, 509, 527–528Smalltalk language

class modification in, 7flexibility of, 10

SOAP standardAUTOMATIC TYPE CONVERTER, 377Web content conversion and gener-

ation, 291SOB interface, 293Soft real-time systems, 89Software

configurable. See Plug-insintegration, 358

SOS (slightly out of specification) er-rors, 112

SPATIAL VARIATION IN ABUNDANCE pat-tern, 491

SPECIAL pattern, 501SPECIES—AREA RELATIONSHIP pattern,

491Specification-based queries, 34–35Speed in SYNC FRAME, 110SPIDER (scalable processor-indepen-

dent design for electromagnetic resilience), 123

Manolescu_book.fm Page 591 Thursday, March 30, 2006 4:30 PM

Page 28: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

592 INDEX

SPLIT OBJECT pattern, 359, 382–383Apache Axis, 396–397Aspect configuration, 390–393AUTOMATIC TYPE CONVERTER, 379COMMAND LANGUAGE, 365context, 381discussion, 383–384document archive systems, 386forces, 382OBJECT SYSTEM LAYER, 374problem, 381–382scenario, 382, 384–385semantic lookup service, 393–396set-top boxes, 386–389solution, 382TclCL and XOTcl/SWIG, 389–390

Sporadic messages, 98Sporadic tasks, 121Start-up in SYNC FRAME, 110State design pattern, 40STATE pattern

DECENTRALIZED LOCKING, 165VOID, 501

Statement interface, 30STEM CELL SPECIALIZATION pattern, 494Stewart, I., 453Stock quotes, 280–281, 286Storch, D., 491StoredProcOrderFinder class, 30, 37–38STRATEGIES pattern, 275Strategized Locking pattern, 74STRATEGY pattern

CONTENT CACHE, 286in dispatching components, 74DYNAMIC OBJECT MODEL, 13GRID, 347VOID, 501

STRING A WIRE patternin DISASTER NOTIFICATION, 136in Real Time and Resource Over-

load language, 150

Structural patterns in MoRaR, 218–221Struts framework, 426Substitutability in encapsulation, 49,

56Substitution rules in XML, 290SUNNY PLACE pattern, 484SWAN (Sandboxing Without A Name)

module, 351SWIG wrapper generator

COMPONENT WRAPPER, 372SPLIT OBJECT, 389

Switching delays, 135Symmetry breaking, 456–458SYNC FRAME pattern

consequences, 110context, 106example, 106–107, 109–110in hard real-time systems, 92implementation, 108–109known uses, 111problem, 106related patterns, 111solution, 107–108Synchronizationin multithreading, 58time-triggered, 101, 103–105

System costs in BUS GUARDIAN, 114System Integrity Control (SICO First

and Always)in Real Time and Resource Over-

load language, 131–132REASSESS OVERLOAD DECISION, 138

T-fault-tolerant midpoint, 105TANGENT PATHS pattern, 499TARGET READERS pattern, 421Tasks

application, 116–117in hard real-time systems, 121in TEMPORAL APPLICATION DECOU-

PLING, 119

Manolescu_book.fm Page 592 Thursday, March 30, 2006 4:30 PM

Page 29: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 593

Tautologies, 440Taylor, Paul R.

biographical information, 561Prairie Houses, 531

Tcl languageAUTOMATIC TYPE CONVERTER, 381COMMAND LANGUAGE, 367

Tclcl language, 385, 389TclHttpd, 294TDMA (Time Division Multiple Access)

in hard real-time systems, 122in MoRaR, 222in Prescheduled Periodic Transmis-

sion. See PRESCHEDULED PERI-

ODIC TRANSMISSION patternTelecommunications Input Output

Language, 136TEMPLATE METHODS pattern, 272TEMPLATE VIEW pattern, 279TEMPLATES pattern, 273TEMPORAL APPLICATION DECOUPLING

patternacknowledgements, 120consequences, 119context, 115example, 116in hard real-time systems, 93implementation, 118–119known uses, 119problem, 115–116related patterns, 120solution, 116–118

Temporal splits, 53Temporary identification

in mobile wireless systems, 220, 222–224

summary, 253Temporary Mobile Subscriber Identity

(TMSI), 224TERMINOLOGY TAILORED TO AUDIENCE

pattern, 436, 447

TestingENCAPSULATED CONTEXT, 58GRID, 352

This pointers, 55Thread-Specific Storage pattern, 82THREE EXAMPLES pattern, 407THREE ITERATIONS pattern, 436, 442,

508–512Thumbnails, 450Tilman, Michel

biographical information, 561DYNAMIC OBJECT MODEL, 3

TIME DIVISION MULTIPLE ACCESS (TDMA)

in hard real-time systems, 122in MoRaR, 222in Prescheduled Periodic Transmis-

sion. See PRESCHEDULED PERI-

ODIC TRANSMISSION patternTIME-TRIGGERED CLOCK SYNCHRONIZA-

TION pattern, 103–106in hard real-time systems, 92vs. PRESCHEDULED PERIODIC TRANS-

MISSION, 101–102Time-triggered communication on

CAN (TTCAN) protocolin hard real-time systems, 123in PRESCHEDULED PERIODIC TRANS-

MISSION, 102–103in TEMPORAL APPLICATION DECOU-

PLING, 119Time-Triggered Communication pat-

tern. See PRESCHEDULED PERIODIC TRANSMISSION pattern

Time-Triggered Protocol (TTP)in hard real-time systems, 122in Prescheduled Periodic Transmis-

sion, 102Titles of pattern collections, 447TMSI (Temporary Mobile Subscriber

Identity), 224

Manolescu_book.fm Page 593 Thursday, March 30, 2006 4:30 PM

Page 30: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

594 INDEX

Token Ring networks, 96TPMHP project, 293TradingContext class, 60TradingDayChange class, 47Transient states, 28Transmissions. See PRESCHEDULED PERI-

ODIC TRANSMISSION patternTREE PLACES pattern, 484, 487, 489Trigger-based registration, 321Trigger events

for location registration, 239for plug-ins, 323

Trigger memory, 119Triple-T system. See Hard real-time

systemsTTCAN (time-triggered communica-

tion on CAN) protocolin hard real-time systems, 123in PRESCHEDULED PERIODIC TRANS-

MISSION, 102–103in TEMPORAL APPLICATION DECOU-

PLING, 119TTP (Time-Triggered Protocol)

in hard real-time systems, 122in PRESCHEDULED PERIODIC TRANS-

MISSION, 102Two-pass reads, 450Twombly, Robert, 532Type-checking property access, 14TYPE OBJECTS pattern

AUTOMATIC TYPE CONVERTER, 379DYNAMIC OBJECT MODEL, 4, 8–9, 22OBJECT SYSTEM LAYER, 375

Types, plug-in, 307

UCMs (Use Case Maps), 218UDDI protocol

SERVER DOES HEAVY WORK, 205SERVICES REGISTER IN DIRECTORY,

198

UMLcollaboration, 7–8virtual machines, 21

Uncluttered code, 58Universal Mobile Telecommunica-

tions System (UMTS), 213Update collaborations, 30UPnP protocol

ASK LOCAL NETWORK, 192CLIENT KNOWS BEST, 204LISTEN TO ADVERTISEMENTS, 194SEPARATE IDENTITY FROM LOCATION,

202URLs in service discovery, 202Usage patterns in GRID, 349USE ADVERTISER pattern, 194–195Use Case Maps (UCMs), 218UserAgent module, 351Users in framework user involvement,

421

Validating DomainObjects, 33Validity time spans

in hard real-time systems, 122in Prescheduled Periodic Transmis-

sion, 97Value class, 9VALUE HOLDER pattern, 4, 9Value semantics, 171Variable dispatching times, 73VCF, 372VEGETABLE GARDEN pattern, 484Vertical height in Prairie Houses,

538Vertical splits, 53VISIBLE FORCES pattern, 435, 446,

522VISIBLE IMPLICATION pattern, 487Visited areas in mobile systems,

215

Manolescu_book.fm Page 594 Thursday, March 30, 2006 4:30 PM

Page 31: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

INDEX 595

Visitor databasesin mobile wireless systems, 215, 220,

223, 225–226, 235–237in paging, 233–234summary, 254

Visitor design pattern, 40Visitor location registers (VLRs), 236Visual Basic pattern, 11Voelter, Markus, 562Vogel, Oliver

biographical information, 562Web content conversion and gener-

ation, 257VOID pattern, 461, 500–502

AGGREGATION, 497DIFFERENTIATION, 494LEVELS OF SCALE, 487

VxWorks plug-ins, 304

Waiting period in SYNC FRAME, 109WANs (Wide-Area Networks), 214WAR STORIES pattern, 509, 524–525WCET (Worst Case Execution Time)

in EMB systems, 99in hard real-time systems, 122

Weasels, 434, 443–444Weather forecasting, 337–339Web-based applications, 258–259Web browsers

FRAMEWORK PROVIDING APPLICA-

TION, 318PLUG-IN, 309

Web content conversion and genera-tion, 257

acknowledgments, 295conclusion, 294–295CONTENT CACHE, 284–287CONTENT CONVERTER, 270–274CONTENT CREATOR, 274–277CONTENT FORMAT TEMPLATE, 277–279

form, 259–260FRAGMENTS, 279–284GENERIC CONTENT FORMAT, 264–267implementation example, 287–291intended audience, 259introduction, 257–259known uses and related work,

291–294overview, 260–264PUBLISHER AND GATHERER, 267–270references, 295–297

Web portal frameworkbackground, 403evidence for reuse, 407framework user involvement,

422–423multiple change requests, 425pilot applications, 415pilot-based tests, 420simplicity, 410skilled teams, 412–413small objects, 418

Web search enginesCONSULT DIRECTORY, 196SERVER DOES HEAVY WORK, 205

WebLogic application servers, 39WebShell, 293WebSphere, 39Welch-Lynch algorithm, 105“WHAT”—SOLUTIONS pattern, 434WHOLE VALUE pattern, 466–467

CLUSTER OF FORCES, 470–471CROSS LINKAGES, 491HOPP, 476–477LEVELS OF SCALE, 487RESOLUTION OF FORCES, 482–483

“WHY”—PROBLEMS pattern, 434, 440–443

Wide Area Networks (WANs), 214Wild clock readings, 104

Manolescu_book.fm Page 595 Thursday, March 30, 2006 4:30 PM

Page 32: Manolescu book.fm Page 565 Thursday, March 30, …ptgmedia.pearsoncmg.com/.../index/manolescu_index.pdfManolescu_book.fm Page 568 Thursday, March 30, 2006 4:30 PM INDEX 569 Channel-specific

596 INDEX

WIN (Wireless Intelligent Network), 214

Windows (operating system) plug-ins, 304, 309

Windows (Prairie Houses), 545–546Winn, Tiffany

biographical information, 562LDPL, 453

Wireless Intelligent Network (WIN), 214

Wireless mobile Asynchronous Trans-fer Mode (WmATM) systems, 214, 241

Wireless systems. See MoRaR pattern language

Witthawaskul, W., 21Word application, 304

FRAMEWORK PROVIDING APPLICA-

TION, 318PLUG-IN LIFECYCLE, 324PLUG-IN PACKAGE, 327

WORK SHED AT PERIPHERY pattern, 150Worker objects, 55–56Working Hard, Don’t Fix it strategy,

138–140Workloads in real time systems, 128Workshops

disadvantages of, 446–447framework user involvement, 421

World Peace syndrome, 519–520Worst Case Execution Time (WCET)

in EMB systems, 99in hard real-time systems, 122

WRAPPER FACADE pattern, 359, 370–371Wrappers in SPLIT OBJECT, 382–383,

386, 394Wright, Frank Lloyd. See Prairie

HousesWright Space, The—Pattern and meaning

in Frank Lloyd Wright’s Houses (Hildebrand), 532

Writer locks, dispatching with, 77–78WSDL files, 394, 397

X-frames, 111XML

CONTENT CREATOR, 274–277Web content conversion and gener-

ation, 288–290XML Database Server, 60–61XML Schema Data (XSD), 396–397xoComm architecture, 291–292xoRDF architecture, 292XOTcl language, 376, 389XSD (XML Schema Data), 396–397XSLT standard, 291

Yoder, Joseph“Connecting Business Object to Re-

lational Databases”, 40LOW SURFACE-TO-VOLUME RATIO, 418SELFISH CLASS, 410

Zdun, Uwebiographical information, 562component and language integra-

tion, 357Web content conversion and gener-

ation, 257Zeus, 304

COOPERATING PLUG-INS, 329PLUG-IN, 309PLUG-IN BASED PRODUCT, 333PLUG-IN CONTRACT, 315PLUG-IN LIFECYCLE, 324PLUG-IN PACKAGE, 327PLUG-IN REGISTRATION, 321

Zhao, L., 457Zope system, 293

Manolescu_book.fm Page 596 Thursday, March 30, 2006 4:30 PM