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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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