- Shopping Bag ( 0 items )
Ships from: acton, MA
Usually ships in 1-2 business days
Ships from: acton, MA
Usually ships in 1-2 business days
"...over 40 case studies help describe & explain various framework designs, including data processing, computer-aided manufacturing, numerical simulations, object-oriented business processes, client/server user interfaces & more."
Domain Framework for Sales Promotions (A. Dalebout, et al.).
A Reflective and Repository-Based Framework (M. Devos & M. Tilman).
ARTIFICIAL INTELLIGENCE AND AGENT APPLICATION
FRAMEWORKS (M. Fayad).
Speech Recognition Framework (S. Srinivasan & J. Vergo).
Neural Network Components (F. Beckenkamp & W. Pree).
A Framework for Agent Systems (E. Kendall, et al.).
A Model for Reusable Agent Systems (D. Brugali & K. Sycara).
Experimentation with an Agent-Oriented Platform in JAVA (P. Marcenac
& R. Courdier).
SPECIALIZED TOOL FRAMEWORKS (M. Fayad).
CSP++: A Framework for Executable Specifications (W. Gardner & M.
Applying Inheritance beyond Class-Based Languages (G. Banavar & G.
Luthier: Building Framework-Visualization Tools (M. Campo & R. Price).
Scalable Architecture for Reliable, High-Volume Datafeed Handlers (R.
LANGUAGE-SPECIFIC FRAMEWORKS (M. Fayad).
Hierarchical and Distributed Constraint Satisfaction Systems (D. Brugali).
Modeling Collections of Changing Interdependent Objects (A. Ahmed, et
Oberon with Gadgets: A Simple Component Framework (J. Gutknecht &
Inheritance Management and Method Dispatch Framework (W. Holst &
Constraint Satisfaction Problems Framework (P. oy, et al.).
Developing Frameworks to Support Design Reuse (H. Erdogmus & O.
Language Support for Application Framework Design (G. Hedin & J.
SYSTEM APPLICATION FRAMEWORKS (M. Fayad).
Tigger: A Framework Supporting Distributed and Persistent Objects (V.
The D?j? Vu Scheduling Class Library (J. Dorn).
A Framework for Graphics Recognition (L. Wenyin & D. Dori).
A JavaBeans Framework for Cryptographic Protocols (P. Nikander & J.
Dynamic Database Instance Framework (D. Janello, et al.).
Compound User Interfaces Framework (C. Szyperski & C. Pfister).
EXPERIENCES IN APPLICATION FRAMEWORKS (M. Fayad).
Framework Developing Using Patterns (B. Woolf).
Experiences with the Semantic Graphics Framework (A. Rosel & K. Erni).
Enterprise Model-Based Framework (J. Greenfield & A. Chatterjee).
Frameworks are generally targeted for a particular application domain, such as user interfaces, business data processing systems, telecommunications, or multimedia collaborative work environments. A framework is more than a class hierarchy. It is a semicomplete application containing dynamic and static components that can be customized to produce user-specific applications [Fayad 1999]. Due to the generic nature of framework components, mature frameworks can be reused as the basis for many other applications. This book is comprised of 27 chapters and 4 sidebars; it describes several sizes of application frameworks in multiple and different domains, and discusses experiences related to OO application frameworks.
This book helps organizations apply framework technology effectively by citing examples from the real world. This book combines the actual experiences and lessons learned from developing and/ or adapting different application frameworks. This book is intended to provide valuable, real-world insight into successful OO application framework examples. All the material has been derived from actual experiences, successes, and failures, and is presented in a practical, easy-to-understand manner. This book provides different framework architectures and explains in detail the philosophy behind the frameworks and how to apply it to several domains. This is information that students can apply today. This book covers the following domains: business application frameworks, artificial intelligence applications and agent-oriented application frameworks, specialized tool application frameworks, language-specific frameworks, and system application frameworks. It also covers experiences and lessons learned in working with application frameworks.1.1 Application Framework Classifications
The application frameworks in this book map well to the application framework classifications in [Fayad 1999; Fayad-Schmidt 1997]. Application frameworks are classified based on their scope. Most of the application frameworks in this book are system infrastructure frameworksDD such as all the system application frameworks introduced in Part Five. Afew application frameworks are enterprise application frameworksDD such as the IBM San Francisco Project discussed in Sidebar 3. Also, application frameworks in this book can be classified by the techniques used to extend them, which range along a continuum from whitebox frameworks to blackbox frameworks [Fayad 1999].1.2 Organization of This Book
This book is organized into six major parts: Part One, "Business Frameworks"; Part Two, "Artificial Intelligence and Agent Application Frameworks"; Part Three, "Specialized Tool Frameworks"; Part Four, "Language-Specific Frameworks"; Part Five, "System Application Frameworks"; and Part Six, "Experiences in Application Frameworks."
Part One has two chapters (Chapters 2 and 3) and three sidebars (Sidebars 1, 2, and 3). This part introduces framework technology in the business domain, such as sales promotions, the Argo administration framework, and the IBM San Francisco project. The sales promotion application framework (Chapter 2) is used to build an application for product managers. The Argo administration framework (Chapter 3) is developed to support Argo administration, where Argo is a semi-government organization managing several hundred public schools. It uses this framework to develop its applications, which share a common business model and require database, electronic document, workflow, and Internet functionality. This part also introduces the IBM SanFrancisco project (Sidebar 3), which delivers business process components written in Java that provide an object-oriented design and default business logic for mainline business applications. Part One also discusses the notion of rule patterns as generic rule-based solutions for realizing business policies (Sidebar One) and promotes the realization of workflow management systems (WFMSs) in framework technology (Sidebar Two).
Part Two contains five chapters (Chapters 4 through 8) and one sidebar (Sidebar 4). This part discusses artificial intelligence application frameworks, such as speech recognition (Chapter 4) and neural networks (Chapter 5), and agent-oriented application frameworks, such as intelligent and mobile agents (Chapter 6), RETSINA (Chapter 7), and agent-oriented platforms in Java (Chapter 8). Sidebar 4 discusses the notion of software agents in frameworks.
Part Three has 4 chapters (Chapters 9 through 12). This part discusses specialized tool frameworks, such as the CSP++ framework for executable specifications (Chapter 9); applying inheritance beyond class-based languages (Chapter 10); Luthier frameworks for a flexible support for the construction of tools for object-oriented framework analysis and visualization (Chapter 11); and scalable architecture for reliable and high-volume datafeed handlers (Chapter 12).
Part Four contains 7 chapters (Chapters 13 through 19). This part discusses issues related to programming languages and defines the impact of programming language constructs on component and application framework development, such as the integration of the constraint programming (CP) paradigm with the object-oriented (OO) paradigm (Chapter 13); a generative methodology for the design and rapid prototyping of component-based systems for supporting real-time distributed domain and hardware-software codesign (Chapter 18); and the relationship between framework design and language constructs (Chapter 19). This part also describes language-specific application frameworks, such as a framework for capturing the application-important relationships between objects, as well as a mechanism for using these relationships when implementing the changing nature of the objects (Chapter 14); Oberon with Gadgets (Chapter 15), an inheritance management and method dispatch framework (Chapter 16), and a framework for building efficient and powerful constraint-satisfaction programming environments (Chapter 17).
Part Five has six chapters (Chapters 20 through 25). This part describes several system application frameworks, such as Tigger (Chapter 20), Déjà vu (Chapter 21), Graphics Recognition (Chapter 22), Cryptographic Protocols (Chapter 23), and Component User Interface (Chapter 25).
Part Six contains three chapters (Chapters 26, 27, and 28). This part discusses experiences and lessons learned in the application framework arena. Chapter 26 shows how framework development can be aided by using common design patterns with a file reader framework. Chapter 27 presents some experience gained in the evolution of a framework architecture through its application in a number of projects over a period of years. Chapter 28 describes a scalable strategy for model-based development as implemented at a major financial services institution.1.3 Summary
This book contains real samples of business application frameworks (Part One), artificial intelligence application frameworks and agent-oriented application frameworks (Part Two), specialized tool frameworks (Part Three), language-specific application frameworks (Part Four), and system application frameworks (Part Five). This shows that application frameworks are becoming mainstream and that developers at all levels are increasingly adopting framework technologies and succeeding with them. These application framework samples are just the beginning of the spread of frame-work technology in key domains. In addition, these application framework samples show the way for learning about effective, efficient approaches for building, implementing, and utilizing application frameworks, and they introduce lessons learned through experience for avoiding adaptation traps and pitfalls. We encourage you to get involved with others working on frameworks by attending conferences, participating in online mailing lists and newsgroups, and contributing your insights and experience.1.4 References