Domain-Specific Application Frameworks
Frameworks Experience by Industry
Mohamed E. Fayad Ralph E. Johnson
Wiley Cofnpoter Publishing
John Wiley & Sons, Inc.
NEW YORK • CHICHESTER • WEINHEIM • BRISBANE • SINGAPORE . TORONTO
Contents
Dedication iii
Preface xv
Acknowledgments xix
Chapter 1 Introduction 1
Mohamed E. Fayad
1.1 Application Framework Classifications 2
1.2 Organization of This Book 2
1.3 Summary 4
1.4 References 4
Part One: Computer-Integrated Manufacturing Frameworks 5
Mohamed E. Fayad
Chapter 2 SEMATECH CIM Framework 7
David Doscher and Robert Hodges
2.1 Background 7
2.2 Why Use a Framework? 10
2.3 Structure of the CIM Framework 11
2.4 Infrastructure Support for the CIM Framework 14
2.5 CIM Framework Documentation 16
2.6 Lessons from Framework Specification and Development 17
2.7 Future Directions 18
2.8 Summary 18
2.9 References 18
vi Contents
Chapter 3 A CIM Framework and Pattern Language 21
Amund Aarsten, Davide Brugali, and Giuseppe Menga
3.1 Patterns and Pattern Languages 21
3.2 The FMS Example 23
3.3 The Pattern Language 23
3.4 Summary 41
3.5 References 41
Chapter 4 OSEFA: Framework for Manufacturing 43
Hans Albrecht Schmid
4.1 Domain-Specific Blackbox Frameworks 44 4.2 Manufacturing Subdomain with Frozen Spots 45 4.3 Variability of a Manufacturing Cell Configuration
and Hot Spots 49
4.4 Layered Framework Architecture 52
4.5 Processing Control Layer 53
4.6 Processing Command Hot Spot 56
4.7 Domain Object Layer 57
4.8 Standardized Machine and Device Layer 59 4.9 Concrete Machine and Device Layer 60
4.10 Application Creation 61
4.11 Interface Configurator 63
4.12 Experiences 63
4.13 Summary 65
4.14 Selected References 65
Chapter 5 Framework Reuse over Different CIM Subdomains 67
Hans Albrecht Schmid
5.1 Manufacturing Subdomains 68
5.2 Framework Architecture 71
5.3 Common Subdomain Properties and Basic Framework
Architecure 72
5.4 Store-Centered Framework OSEFA 74
5.5 Extending OSEFA for Decentral Data Storage 77 5.6 Flow-Centered Manufacturing Framework 78 5.7 Intelligent Assembly Line Framework 79
5.8 General Results 82
Contents vii
5.9 Summary 83
5.10 References 84
Chapter 6 A Case Study for Flexible Manufacturing Systems 85
Davide Brugali, Giuseppe Menga, and Amund Aarsten
6.1 Frameworks and Pattern Languages 86
6.2 The Application Domain 87
6.3 The Framework 89
6.4 Summary 97
6.5 References 98
Sidebar 1 Theory Meets Practice: Lessons Learned Using
SEMATECH's CIM Framework 100
Pete Whelan
Part Two: More Manufacturing Frameworks 103
Mohamed E. Fayad
Chapter 7 CEF: A Concurrent Engineering Framework 105
Der Shung Yang and Uday Mehta
7.1 Customization Process 106
7.2 Dynamic Domain Modeling 109
7.3 Architectural Design 113
7.4 Lessons Learned 117
7.5 Summary 118
7.6 References 119
Chapter 8 Distributed Manufacturing Execution Systems Framework 121
William Boyle
8.1 Architecture 122
8.2 Framework Implementation 129
8.3 Summary 137
Chapter 9 Production Resource Manager (PRM) Framework 139
Walter C. Dietrich, Jr., Goodwin R. Chin, Brenda L Dietrich, Thomas Robert Ervolina, LP. Fasano, Robin Lougee-Heimer, Elizabeth J. Poole, Jung-Mu Tang, Robert H. Wang,
Robert J. Wittrock, and Danny C Wong
9.1 Domain Background and Framework Design Objectives 140
9.2 Framework Architecture 143
viii Contents
9.3 Scenario Framework 146
9.4 Data Interface Framework 151
9.5 User Interface Framework 154
9.6 Two PRM Applications 155
9.7 Summary 157
9.8 References 158
Chapter 10 Developing Domain Frameworks 159
Sally M. Chan and Terence L Lammers
10.1 Object-Oriented Domain Engineering (OODE) Method 159 10.2 Case Study: Process Monitoring and Diagnosis Domain 167
10.3 Summary 175
10.4 References 175
Chapter 11 Measurement Systems Framework 177
Jan Bosch
11.1 Measurement Systems: Requirements 178 11.2 Measurement System Framework Design 181 11.3 Simulating Framework Applications 189
11.4 Example: Beer Can System 193
11.5 Evaluation 199
11.6 Related Work 204
11.7 Summary 204
11.8 References 205
Part Three: Distributed Systems Frameworks 207
Mohamed E. Fayad __
Chapter 12 Compound Active Documents 211
Peter Wegner
12.1 CORBA Component-Based Software Architecture 212 12.2 CORBA System and Application Services 215 12.3 OpenDoc: A CORBA Framework for Compound
Active Documents 216
12.4 Microsoft's Compound Document Architecture:
COM/OLE/ActiveX 219
12.5 Java Interfaces, Applets, and Beans 221 12.6 The Event Model of Component Interaction 224
12.7 Modes of Interaction 226
Contents ix
12.8 Specifying Frameworks by Constraints on Component
Behavior - 228
12.9 Summary 230
12.10 References 230
Chapter 13 Supervision and Control Systems Framework Architecture 231
Riccardo Capobianchi, Denis Carcagno, Alberto Coen-Porisini, Dino Mandrioli, and Angelo Motzenti
13.1 The OpenDREAMS Architecture and Methodology 233 13.2 The CORBA/OpenDREAMS Services 235 13.3 S&C CORBA/OpenDREAMS Domain 236 13.4 The TRIO-Based Development Method 239 13.5 State of the Art and Future Development 247
13.6 Summary 248
13.7 References 248
EPEE: A Framework for Supercomputing 251
Sidebar 2
Jean-Marc Jezequel and Jean-Lin Pacherie
14.1 The EPEE Framework
14.2 Using EPEE to Build a Parallel Linear Algebra Library 14.3 Writing Applications with Paladin
14.4 Related Work 14.5 Summary 14.6 References
Frameworks in the Healthcare Domain
Yasser alSafadi
Chapter 15 The Bast Framework for Reliable Distributed Computing
Benoit Carbinato and Rachid Cuerraoui
15.1 Chapter Overview 15.2 The Need for Reliability 15.3 The Bast Framework
15.4 Reliable Distributed Programming 15.5 Bast Overview
15.6 Using Bast
15.7 In-Depth View of Bast
252 265 272 275 276 277 280
283 283 284 287 288 291 294 296
x Contents
15.8 Protocol Composition and Tuning 302 15.9 Applying the DTM Agreement Pattern 305
15.10 Implementation Issues 313.
15.11 Summary 323
!
15.12 References 324
Chapter 16 Object-Oriented Realtime System Framework 327
Win-Bin See and Sao-Jie Chen
16.1 High-Level Reuse Techniques 328
16.2 Class Hierarchy in OORTSF 330
16.3 Scenario of Object Collaboration in OORTSF 332 16.4 Framework-Oriented Development of Application
Systems 334
16.5 Extending OORTSF 336
16.6 Summary 337
16.7 References 337
Chapter 17 JAWS: A Framework for High-Performance Web Servers 339
James Hu and Douglas Schmidt
17.1 Applying Patterns and Frameworks to Web Servers 340
17.2 The JAWS Adaptive Web Server 345
17.3 Web Server Benchmarking Testbed and Empirical
Results 365
17.4 Summary 375
17.5 References 376
Sidebar 3 The Five-Module Framework for Internet
Application Development 379
Wei-Tek Tsai
Part Four: Network and Telecommunication Frameworks 383
Mohamed E. Fayad
Chapter 18 A Framework for Network Management Agents 385
Hartmut Kocher and Joerg Schabemack
18.1 MIB Framework 387
18.2 Summary 395
18.3 References 396
Contents xi
Chapter 19 Telecommunication Network Planning Framework 397
Bruno Messmer, Kateel Vijayananda, and Beat Liver
19.1 The Framework NETPLAN 399
19.2 Example Application 414
19.3 Summary 415
19.4 References 417
Chapter 20 FIONA: A Framework for Integrating Distributed
CM Applications 419
Per Spilling, Chris Dee, and Peter Beijderwellen
20.1 The GRACE System Architecture 421
20.2 The FIONA Framework 423
20.3 Design Patterns Used in FIONA 425
20.4 The Applet Framework 431
20.5 Lessons Learned 433
20.6 Summary 434
20.7 References 434
Chapter 21 MultiTel: Multimedia Telecommunication
Services Framework 437
Lidia Fuentes and Jose M. Troya
21.1 Component-Oriented Model 439
21.2 The Compositional Architecture of MultiTEL 443 21.3 MultiTEL: An MTS Framework in Java 450
l 21.4 Middleware Platform 457
<: 21.5 Framework Deployment 459
21.6 Summary 1 465
21.7 References 466
Chapter 22 Event Filter Framework and Applications 469
^ Mohamed Fayad and Jingkun Hu
22.1 Event-Filtering Framework Components 470
~f., 22.2 Event-Filtering Framework Design 471 22.3 Implementation of the Event-Filtering Framework 474
» 22.4 Event-Filtering Framework Applications 479 22.5 Experiences and Lessons Learned 483
V,
§•'
xii Contents
22.6 Summary 486
22.7 References 487
Sidebar 4 Layla: Network Management Interfaces Framework 489
Rudolf K. Keller and Jean Tessier
Part Five: Environments 491
MohamedE. Fayad
Chapter 23 Beyond-Sniff: A Framework-Based Component 495
Walter Bischofberger and Kai-Uwe Maetzel
23.1 From Sniff to Beyond-Sniff 497
23.2 Beyond-Sniffs Architecture 498
23.3 The Tool Integration Framework: A Component-
Collaboration Framework 503
23.4 Architectural Support for Iterative Development
and Evolution 505
23.5 Case Study: Boar 508
23.6 Lessons Learned 509
23.7 Summaiy 510
23.8 References 511
Chapter 24 Extensible Computational Chemistry Environment (ECCE) 513
Donald R. Jones, Deborah K. Cracio, Karen L Schuchardt, Thomas L Keller, and Hugh L Taylor
24.1 What Is Ecce? 513
24.2 Design Objectives 514
24.3 Data-Centered Design 515
24.4 Why an Object-Oriented Framework? 516 24.5 Problem Domain: Computational Chemistry 517
24.6 Ecce Architecture 518
24.7 Framework Components 519
24.8 Chemistry Data Model Framework 520
24.9 Experiences 525
24.10 Future Work 526
24.11 Summary 526
24.12 References 527
Contents xiiix
Chapter 25 The Amulet Prototype-Instance Framework 529
Brad A Myers, Richard C. McDaniel, and Robert C. Miller
25.1 Layered Design 530
25.2 Outline of Topical Applications 542
25.3 Debugging Tools 543
25.4 Status and Future Work 544
25.5 Related Work 544
25.6 Summary 545
25.7 References 545
Chapter 26 Jadve: Graph-Based Data Visualization Framework 547
Wenke Lee and Naser S. Barghouti
26.1 The Design and Implementation of Jadve 549
26.2 The Jadve API 555
26.3 Jadve Applications 556
26.4 Related Work 560
26.5 Future Work 561
26.6 Summary 561
26.7 References 562
Chapter 27 Object Environments 565
James C. Stafford
27.1 Framework for Building an Object Environment 566
27.2 Package Overview 567
27.3 Summary 590
27.4 References 590
Chapter 28 A Multimodeling Simulation Framework 591
Robert M. Cubert and Paul A. Fisbwick
28.1 An Overview 594
28.2 Object-Oriented Approach to Modeling Geometry
and Dynamics 595
28.3 Model Refinement 598
28.4 Visual Elements of OOPM 600
28.5 Nonvisual Elements of OOPM 609
xiv Contents
28.6 Summary 612
28.7 References 612
Chapter 29 Application Frameworks: A Survey 615
Amr Yassin and Mohamed Fayad
29.1 Framework Classification 616
29.2 Framework Documentation 619
29.3 Framework Comparisons 621
29.4 Frameworks Facts 623
29.5 Problems and Lessons Learned 625
29.6 Summary 632
29.7 References 632
Appendix A Glossary 633
Mohamed £ Fayad
Appendix B Index of Authors 643
Mohamed £ Fayad
Appendix C About the CD-ROM 661
Index 665