API design for C++ [[electronic resource] /] / Martin Reddy |
Autore | Reddy Martin |
Edizione | [1st edition] |
Pubbl/distr/stampa | Boston, : Elsevier/Morgan Kaufmann, 2011 |
Descrizione fisica | 1 online resource (468 p.) |
Disciplina |
005.13/3
005.133 |
Soggetto topico |
Application program interfaces (Computer software)
C++ (Computer program language) |
Soggetto genere / forma | Electronic books. |
ISBN |
1-282-99425-5
9786612994258 0-12-385004-5 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; API Design for C++; Copyright; Contents; Foreword; Preface; Why You Should Read This Book; Who is the Target Audience; Focusing On C++; Conventions; Book Web Site; Acknowledgments; Author Biography; Chapter 1: Introduction; 1.1 What are Application Programming Interfaces?; 1.1.1 Contracts and Contractors; 1.1.2 APIs in; 1.2 What's Different About Api Design?; 1.3 Why Should you Use APIs?; 1.3.1 More Robust Code; 1.3.2 Code Reuse; 1.3.3 Parallel Development; 1.4 When Should you Avoid APIs?; 1.5 Api Examples; 1.5.1 Layers of APIs; 1.5.2 A Real-Life Example
1.6 File Formats and Network Protocols 1.7 About this Book; Chapter 2: Qualities; 2.1 Model the Problem Domain; 2.1.1 Provide a Good Abstraction; 2.1.2 Model the Key Objects; 2.2 Hide Implementation Details; 2.2.1 Physical Hiding: Declaration versus Definition; 2.2.2 Logical Hiding: Encapsulation; 2.2.3 Hide Member Variables; 2.2.4 Hide Implementation Methods; 2.2.5 Hide Implementation Classes; 2.3 Minimally Complete; 2.3.1 Don't Overpromise; 2.3.2 Add Virtual Functions Judiciously; 2.3.3 Convenience APIs; 2.4 Easy to Use; 2.4.1 Discoverable; 2.4.2 Difficult to Misuse; 2.4.3 Consistent 2.4.4 Orthogonal 2.4.5 Robust Resource Allocation; 2.4.6 Platform Independent; 2.5 Loosely Coupled; 2.5.1 Coupling by Name Only; 2.5.2 Reducing Class Coupling; 2.5.3 Intentional Redundancy; 2.5.4 Manager Classes; 2.5.5 Callbacks, Observers, and Notifications; Callbacks; Observers; Notifications; 2.6 Stable, Documented, and Tested; Chapter 3: Patterns; 3.1 Pimpl Idiom; 3.1.1 Using Pimpl; 3.1.2 Copy Semantics; 3.1.3 Pimpl and Smart Pointers; 3.1.4 Advantages of Pimpl; 3.1.5 Disadvantages of Pimpl; 3.1.6 Opaque Pointers in C; 3.2 Singleton; 3.2.1 Implementing Singletons in 3.2.2 Making Singletons Thread Safe 3.2.3 Singleton versus Dependency Injection; 3.2.4 Singleton versus Monostate; 3.2.5 Singleton versus Session State; 3.3 Factory Methods; 3.3.1 Abstract Base Classes; 3.3.2 Simple Factory Example; 3.3.3 Extensible Factory Example; 3.4 API Wrapping Patterns; 3.4.1 The Proxy Pattern; 3.4.2 The Adapter Pattern; 3.4.3 The Façade Pattern; 3.5 Observer Pattern; 3.5.1 Model-View-Controller; 3.5.2 Implementing the Observer Pattern; 3.5.3 Push versus Pull Observers; Chapter 4: Design; 4.1 A Case for Good Design; 4.1.1 Accruing Technical Debt 4.1.2 Paying Back the Debt 4.1.3 Design for the Long Term; 4.2 Gathering Functional Requirements; 4.2.1 What Are Functional Requirements?; 4.2.2 Example Functional Requirements; 4.2.3 Maintaining the Requirements; 4.3 Creating Use Cases; 4.3.1 Developing Use Cases; 4.3.2 Use Case Templates; 4.3.3 Writing Good Use Cases; 4.3.4 Requirements and Agile Development; 4.4 Elements of Api Design; 4.5 Architecture Design; 4.5.1 Developing an Architecture; 4.5.2 Architecture Constraints; 4.5.3 Identifying Major Abstractions; 4.5.4 Inventing Key Objects; 4.5.5 Architectural Patterns 4.5.6 Communicating the Architecture |
Record Nr. | UNINA-9910459611903321 |
Reddy Martin | ||
Boston, : Elsevier/Morgan Kaufmann, 2011 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
API design for C++ [[electronic resource] /] / Martin Reddy |
Autore | Reddy Martin |
Edizione | [1st edition] |
Pubbl/distr/stampa | Boston, : Elsevier/Morgan Kaufmann, 2011 |
Descrizione fisica | 1 online resource (468 p.) |
Disciplina |
005.13/3
005.133 |
Soggetto topico |
Application program interfaces (Computer software)
C++ (Computer program language) |
ISBN |
1-282-99425-5
9786612994258 0-12-385004-5 |
Classificazione | 54.53 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; API Design for C++; Copyright; Contents; Foreword; Preface; Why You Should Read This Book; Who is the Target Audience; Focusing On C++; Conventions; Book Web Site; Acknowledgments; Author Biography; Chapter 1: Introduction; 1.1 What are Application Programming Interfaces?; 1.1.1 Contracts and Contractors; 1.1.2 APIs in; 1.2 What's Different About Api Design?; 1.3 Why Should you Use APIs?; 1.3.1 More Robust Code; 1.3.2 Code Reuse; 1.3.3 Parallel Development; 1.4 When Should you Avoid APIs?; 1.5 Api Examples; 1.5.1 Layers of APIs; 1.5.2 A Real-Life Example
1.6 File Formats and Network Protocols 1.7 About this Book; Chapter 2: Qualities; 2.1 Model the Problem Domain; 2.1.1 Provide a Good Abstraction; 2.1.2 Model the Key Objects; 2.2 Hide Implementation Details; 2.2.1 Physical Hiding: Declaration versus Definition; 2.2.2 Logical Hiding: Encapsulation; 2.2.3 Hide Member Variables; 2.2.4 Hide Implementation Methods; 2.2.5 Hide Implementation Classes; 2.3 Minimally Complete; 2.3.1 Don't Overpromise; 2.3.2 Add Virtual Functions Judiciously; 2.3.3 Convenience APIs; 2.4 Easy to Use; 2.4.1 Discoverable; 2.4.2 Difficult to Misuse; 2.4.3 Consistent 2.4.4 Orthogonal 2.4.5 Robust Resource Allocation; 2.4.6 Platform Independent; 2.5 Loosely Coupled; 2.5.1 Coupling by Name Only; 2.5.2 Reducing Class Coupling; 2.5.3 Intentional Redundancy; 2.5.4 Manager Classes; 2.5.5 Callbacks, Observers, and Notifications; Callbacks; Observers; Notifications; 2.6 Stable, Documented, and Tested; Chapter 3: Patterns; 3.1 Pimpl Idiom; 3.1.1 Using Pimpl; 3.1.2 Copy Semantics; 3.1.3 Pimpl and Smart Pointers; 3.1.4 Advantages of Pimpl; 3.1.5 Disadvantages of Pimpl; 3.1.6 Opaque Pointers in C; 3.2 Singleton; 3.2.1 Implementing Singletons in 3.2.2 Making Singletons Thread Safe 3.2.3 Singleton versus Dependency Injection; 3.2.4 Singleton versus Monostate; 3.2.5 Singleton versus Session State; 3.3 Factory Methods; 3.3.1 Abstract Base Classes; 3.3.2 Simple Factory Example; 3.3.3 Extensible Factory Example; 3.4 API Wrapping Patterns; 3.4.1 The Proxy Pattern; 3.4.2 The Adapter Pattern; 3.4.3 The Façade Pattern; 3.5 Observer Pattern; 3.5.1 Model-View-Controller; 3.5.2 Implementing the Observer Pattern; 3.5.3 Push versus Pull Observers; Chapter 4: Design; 4.1 A Case for Good Design; 4.1.1 Accruing Technical Debt 4.1.2 Paying Back the Debt 4.1.3 Design for the Long Term; 4.2 Gathering Functional Requirements; 4.2.1 What Are Functional Requirements?; 4.2.2 Example Functional Requirements; 4.2.3 Maintaining the Requirements; 4.3 Creating Use Cases; 4.3.1 Developing Use Cases; 4.3.2 Use Case Templates; 4.3.3 Writing Good Use Cases; 4.3.4 Requirements and Agile Development; 4.4 Elements of Api Design; 4.5 Architecture Design; 4.5.1 Developing an Architecture; 4.5.2 Architecture Constraints; 4.5.3 Identifying Major Abstractions; 4.5.4 Inventing Key Objects; 4.5.5 Architectural Patterns 4.5.6 Communicating the Architecture |
Record Nr. | UNINA-9910785584703321 |
Reddy Martin | ||
Boston, : Elsevier/Morgan Kaufmann, 2011 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
API design for C++ / / Martin Reddy |
Autore | Reddy Martin |
Edizione | [1st edition] |
Pubbl/distr/stampa | Boston, : Elsevier/Morgan Kaufmann, 2011 |
Descrizione fisica | 1 online resource (468 p.) |
Disciplina |
005.13/3
005.133 005.362 |
Soggetto topico |
Application program interfaces (Computer software)
C++ (Computer program language) |
ISBN |
1-282-99425-5
9786612994258 0-12-385004-5 |
Classificazione | 54.53 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; API Design for C++; Copyright; Contents; Foreword; Preface; Why You Should Read This Book; Who is the Target Audience; Focusing On C++; Conventions; Book Web Site; Acknowledgments; Author Biography; Chapter 1: Introduction; 1.1 What are Application Programming Interfaces?; 1.1.1 Contracts and Contractors; 1.1.2 APIs in; 1.2 What's Different About Api Design?; 1.3 Why Should you Use APIs?; 1.3.1 More Robust Code; 1.3.2 Code Reuse; 1.3.3 Parallel Development; 1.4 When Should you Avoid APIs?; 1.5 Api Examples; 1.5.1 Layers of APIs; 1.5.2 A Real-Life Example
1.6 File Formats and Network Protocols 1.7 About this Book; Chapter 2: Qualities; 2.1 Model the Problem Domain; 2.1.1 Provide a Good Abstraction; 2.1.2 Model the Key Objects; 2.2 Hide Implementation Details; 2.2.1 Physical Hiding: Declaration versus Definition; 2.2.2 Logical Hiding: Encapsulation; 2.2.3 Hide Member Variables; 2.2.4 Hide Implementation Methods; 2.2.5 Hide Implementation Classes; 2.3 Minimally Complete; 2.3.1 Don't Overpromise; 2.3.2 Add Virtual Functions Judiciously; 2.3.3 Convenience APIs; 2.4 Easy to Use; 2.4.1 Discoverable; 2.4.2 Difficult to Misuse; 2.4.3 Consistent 2.4.4 Orthogonal 2.4.5 Robust Resource Allocation; 2.4.6 Platform Independent; 2.5 Loosely Coupled; 2.5.1 Coupling by Name Only; 2.5.2 Reducing Class Coupling; 2.5.3 Intentional Redundancy; 2.5.4 Manager Classes; 2.5.5 Callbacks, Observers, and Notifications; Callbacks; Observers; Notifications; 2.6 Stable, Documented, and Tested; Chapter 3: Patterns; 3.1 Pimpl Idiom; 3.1.1 Using Pimpl; 3.1.2 Copy Semantics; 3.1.3 Pimpl and Smart Pointers; 3.1.4 Advantages of Pimpl; 3.1.5 Disadvantages of Pimpl; 3.1.6 Opaque Pointers in C; 3.2 Singleton; 3.2.1 Implementing Singletons in 3.2.2 Making Singletons Thread Safe 3.2.3 Singleton versus Dependency Injection; 3.2.4 Singleton versus Monostate; 3.2.5 Singleton versus Session State; 3.3 Factory Methods; 3.3.1 Abstract Base Classes; 3.3.2 Simple Factory Example; 3.3.3 Extensible Factory Example; 3.4 API Wrapping Patterns; 3.4.1 The Proxy Pattern; 3.4.2 The Adapter Pattern; 3.4.3 The Façade Pattern; 3.5 Observer Pattern; 3.5.1 Model-View-Controller; 3.5.2 Implementing the Observer Pattern; 3.5.3 Push versus Pull Observers; Chapter 4: Design; 4.1 A Case for Good Design; 4.1.1 Accruing Technical Debt 4.1.2 Paying Back the Debt 4.1.3 Design for the Long Term; 4.2 Gathering Functional Requirements; 4.2.1 What Are Functional Requirements?; 4.2.2 Example Functional Requirements; 4.2.3 Maintaining the Requirements; 4.3 Creating Use Cases; 4.3.1 Developing Use Cases; 4.3.2 Use Case Templates; 4.3.3 Writing Good Use Cases; 4.3.4 Requirements and Agile Development; 4.4 Elements of Api Design; 4.5 Architecture Design; 4.5.1 Developing an Architecture; 4.5.2 Architecture Constraints; 4.5.3 Identifying Major Abstractions; 4.5.4 Inventing Key Objects; 4.5.5 Architectural Patterns 4.5.6 Communicating the Architecture |
Record Nr. | UNINA-9910828867003321 |
Reddy Martin | ||
Boston, : Elsevier/Morgan Kaufmann, 2011 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Architecture and patterns for IT service management, resource planning, and governance [[electronic resource] ] : making shoes for the cobbler's children / / Charles T. Betz |
Autore | Betz Charles T |
Edizione | [1st edition] |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 |
Descrizione fisica | 1 online resource (451 p.) |
Disciplina | 004 |
Soggetto topico |
Information technology
Information technology - Management Computer network architectures |
Soggetto genere / forma | Electronic books. |
ISBN |
1-281-05060-1
9786611050603 0-08-048834-X |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; Architecture and Patterns for IT Service Management, Resource Planning, and Governance; Copyright Page; Contents; Table of Figures; Table of Tables; Foreword; Boxes and Lines; Preface; Acknowledgments; Part I: The IT Value Chain; Chapter 1. Introduction: Shoes for the Cobbler's Child; 1.1 The Achievements of IT; 1.2 The Problems; 1.3 The Proposed Solutions; 1.4 The Business Case; 1.5 Making It Real; 1.6 Chapter Conclusion; 1.7 Further Reading; Chapter 2. The IT Value Chain: A Process Foundation; 2.1 Frameworks, Frameworks Everywhere; 2.2 A Value Chain Framework
2.3 Primary IT Activities2.4 Supporting IT Activities; 2.5 Relationship between Primary and Supporting Processes; 2.6 Major Framework Issues; 2.7 The Functional Viewpoints; 2.8 Nonfunctional Requirements; 2.9 Process Maturity; 2.10 The Business Case; 2.11 Making It Real; 2.12 Chapter Conclusion; 2.13 Further Reading; Part II: Supporting the IT Value Chain; Chapter 3. A Supporting Data Architecture; 3.1 Metrics: Gateway from Process to Data; 3.2 A Conceptual Data Model; 3.3 IT Process Entities; 3.4 The Configuration Item and Its Subtypes; 3.5 Process and Workflow: A Data Perspective 3.6 General IT Data Architecture Issues3.7 The Business Case; 3.8 Making It Real; 3.9 Chapter Conclusion; 3.10 Further Reading; Chapter 4. A Supporting Systems Architecture; 4.1 Systems and Families; 4.2 Cohesion and Coupling; 4.3 Systems for Planning and Controlling; 4.4 Systems for Solutions Delivery; 4.5 Cross-Boundary Build-Run Systems; 4.6 Systems for Service Support; 4.7 Information-Centric Systems; 4.8 General Issues; 4.9 The Ideal Architecture; 4.10 The Business Case; 4.11 Making It Real; 4.12 Chapter Conclusion; 4.13 Further Reading; Chapter 5. Patterns for IT Enablement 5.1 Why Apply Patterns?5.2 Core Value Chain Patterns; 5.3 Configuration Management Patterns; 5.4 Supporting IT Process Patterns; 5.5 Chapter Conclusion; 5.6 Further Reading; Part III: Conclusion; Chapter 6. Epilogue; 6.1 Human Constraints of IT Enablement; 6.2 The Next-Generation IT: MDA, SOA, BPM, Portals, and Utility Computing; 6.3 In Closing; Appendix A. Architecture Methodology Used in This Book; Appendix B. Some Thoughts on the Professionalization of Enterprise IT; Appendix C. IT Professional Organizations; Endnotes; References; Index; About the Author |
Record Nr. | UNINA-9910458609703321 |
Betz Charles T | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Architecture and patterns for IT service management, resource planning, and governance [[electronic resource] ] : making shoes for the cobbler's children / / Charles T. Betz |
Autore | Betz Charles T |
Edizione | [1st edition] |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 |
Descrizione fisica | 1 online resource (451 p.) |
Disciplina | 004 |
Soggetto topico |
Information technology
Information technology - Management Computer network architectures |
ISBN |
1-281-05060-1
9786611050603 0-08-048834-X |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; Architecture and Patterns for IT Service Management, Resource Planning, and Governance; Copyright Page; Contents; Table of Figures; Table of Tables; Foreword; Boxes and Lines; Preface; Acknowledgments; Part I: The IT Value Chain; Chapter 1. Introduction: Shoes for the Cobbler's Child; 1.1 The Achievements of IT; 1.2 The Problems; 1.3 The Proposed Solutions; 1.4 The Business Case; 1.5 Making It Real; 1.6 Chapter Conclusion; 1.7 Further Reading; Chapter 2. The IT Value Chain: A Process Foundation; 2.1 Frameworks, Frameworks Everywhere; 2.2 A Value Chain Framework
2.3 Primary IT Activities2.4 Supporting IT Activities; 2.5 Relationship between Primary and Supporting Processes; 2.6 Major Framework Issues; 2.7 The Functional Viewpoints; 2.8 Nonfunctional Requirements; 2.9 Process Maturity; 2.10 The Business Case; 2.11 Making It Real; 2.12 Chapter Conclusion; 2.13 Further Reading; Part II: Supporting the IT Value Chain; Chapter 3. A Supporting Data Architecture; 3.1 Metrics: Gateway from Process to Data; 3.2 A Conceptual Data Model; 3.3 IT Process Entities; 3.4 The Configuration Item and Its Subtypes; 3.5 Process and Workflow: A Data Perspective 3.6 General IT Data Architecture Issues3.7 The Business Case; 3.8 Making It Real; 3.9 Chapter Conclusion; 3.10 Further Reading; Chapter 4. A Supporting Systems Architecture; 4.1 Systems and Families; 4.2 Cohesion and Coupling; 4.3 Systems for Planning and Controlling; 4.4 Systems for Solutions Delivery; 4.5 Cross-Boundary Build-Run Systems; 4.6 Systems for Service Support; 4.7 Information-Centric Systems; 4.8 General Issues; 4.9 The Ideal Architecture; 4.10 The Business Case; 4.11 Making It Real; 4.12 Chapter Conclusion; 4.13 Further Reading; Chapter 5. Patterns for IT Enablement 5.1 Why Apply Patterns?5.2 Core Value Chain Patterns; 5.3 Configuration Management Patterns; 5.4 Supporting IT Process Patterns; 5.5 Chapter Conclusion; 5.6 Further Reading; Part III: Conclusion; Chapter 6. Epilogue; 6.1 Human Constraints of IT Enablement; 6.2 The Next-Generation IT: MDA, SOA, BPM, Portals, and Utility Computing; 6.3 In Closing; Appendix A. Architecture Methodology Used in This Book; Appendix B. Some Thoughts on the Professionalization of Enterprise IT; Appendix C. IT Professional Organizations; Endnotes; References; Index; About the Author |
Record Nr. | UNINA-9910784652403321 |
Betz Charles T | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Architecture and patterns for IT service management, resource planning, and governance : making shoes for the cobbler's children / / Charles T. Betz |
Autore | Betz Charles T |
Edizione | [1st edition] |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 |
Descrizione fisica | 1 online resource (451 p.) |
Disciplina | 004 |
Soggetto topico |
Information technology
Information technology - Management Computer network architectures |
ISBN |
1-281-05060-1
9786611050603 0-08-048834-X |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; Architecture and Patterns for IT Service Management, Resource Planning, and Governance; Copyright Page; Contents; Table of Figures; Table of Tables; Foreword; Boxes and Lines; Preface; Acknowledgments; Part I: The IT Value Chain; Chapter 1. Introduction: Shoes for the Cobbler's Child; 1.1 The Achievements of IT; 1.2 The Problems; 1.3 The Proposed Solutions; 1.4 The Business Case; 1.5 Making It Real; 1.6 Chapter Conclusion; 1.7 Further Reading; Chapter 2. The IT Value Chain: A Process Foundation; 2.1 Frameworks, Frameworks Everywhere; 2.2 A Value Chain Framework
2.3 Primary IT Activities2.4 Supporting IT Activities; 2.5 Relationship between Primary and Supporting Processes; 2.6 Major Framework Issues; 2.7 The Functional Viewpoints; 2.8 Nonfunctional Requirements; 2.9 Process Maturity; 2.10 The Business Case; 2.11 Making It Real; 2.12 Chapter Conclusion; 2.13 Further Reading; Part II: Supporting the IT Value Chain; Chapter 3. A Supporting Data Architecture; 3.1 Metrics: Gateway from Process to Data; 3.2 A Conceptual Data Model; 3.3 IT Process Entities; 3.4 The Configuration Item and Its Subtypes; 3.5 Process and Workflow: A Data Perspective 3.6 General IT Data Architecture Issues3.7 The Business Case; 3.8 Making It Real; 3.9 Chapter Conclusion; 3.10 Further Reading; Chapter 4. A Supporting Systems Architecture; 4.1 Systems and Families; 4.2 Cohesion and Coupling; 4.3 Systems for Planning and Controlling; 4.4 Systems for Solutions Delivery; 4.5 Cross-Boundary Build-Run Systems; 4.6 Systems for Service Support; 4.7 Information-Centric Systems; 4.8 General Issues; 4.9 The Ideal Architecture; 4.10 The Business Case; 4.11 Making It Real; 4.12 Chapter Conclusion; 4.13 Further Reading; Chapter 5. Patterns for IT Enablement 5.1 Why Apply Patterns?5.2 Core Value Chain Patterns; 5.3 Configuration Management Patterns; 5.4 Supporting IT Process Patterns; 5.5 Chapter Conclusion; 5.6 Further Reading; Part III: Conclusion; Chapter 6. Epilogue; 6.1 Human Constraints of IT Enablement; 6.2 The Next-Generation IT: MDA, SOA, BPM, Portals, and Utility Computing; 6.3 In Closing; Appendix A. Architecture Methodology Used in This Book; Appendix B. Some Thoughts on the Professionalization of Enterprise IT; Appendix C. IT Professional Organizations; Endnotes; References; Index; About the Author |
Record Nr. | UNINA-9910819750203321 |
Betz Charles T | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Aspect-oriented programming with the e verification language [[electronic resource] ] : a pragmatic guide for testbench developers / / David Robinson |
Autore | Robinson David |
Edizione | [1st edition] |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 |
Descrizione fisica | 1 online resource (265 p.) |
Disciplina | 005.1/17 |
Collana | The Morgan Kaufmann series in systems on silicon |
Soggetto topico | Object-oriented programming (Computer science) |
Soggetto genere / forma | Electronic books. |
ISBN |
1-281-03832-6
9786611038328 0-08-055155-6 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front cover; Aspect-Oriented Programming with the e Verification Language; Copyright page; Acknowledgments; Table of Contents; Foreword; Preface; About Verilab; Chapter 1. Introduction to Aspect Oriented Programming (AOP); 1.1. What are aspects? - Part I; 1.2. Why do I need aspects? What's wrong with crosscutting concerns?; 1.3. Surely OOP doesn't have any problems?; 1.4. Why does AOP help?; 1.5. Theory vs real life - What else is AOP good for?; 1.6. What are aspects? - Part II; Chapter 2. AOP in e; 2.1. How do I extend a class?
2.2. How do I extend a class for multiple values of a determinant?2.3. How do I extend a type?; 2.4. How do I introduce a new noncoverage member to a class?; 2.5. How do I introduce a coverage group to a class?; 2.6. How do I extend a coverage group?; 2.7. How do I change the behavior of a method?; 2.8. How do I limit the scope of my extensions?; 2.9. Using return in method advice; 2.10. Controlling the order of method extension calls; Chapter 3. Using AOP to Organize Your Code; 3.1. A word about style; 3.2. What aspects do I want to use?; 3.3. Mapping aspects to files Chapter 4. Creating Flexible CodeChapter 5. Creating Pluggable Code; 5.1. The extendable case statement; 5.2. The factory pattern; Chapter 6. Improving Your Productivity; 6.1. Shifting the power; 6.2. Dealing with broken code; 6.3. Handling workarounds; 6.4. Reducing and deferring class complexity; 6.5. Adding problem-specific functionality; 6.6. Reducing the OOP-induced overhead; Chapter 7. AOP in Action; 7.1. Creating a class with a selectable algorithm; 7.2. Creating a configuration interface for an eVC; 7.3. Using aspects to create a layered verification environment 7.4. Creating reusable layered sequences7.5. Testing your verification environment; 7.6. Debugging using AOP; 7.7. Encapsulating tests; Chapter 8. Analysing e Code; 8.1. The e toolkit; 8.2. Finding class declarations and extensions; 8.3. Finding the class inheritance hierarchy; 8.4. Finding the determinants used by a class; 8.5. Finding method declarations and extensions; 8.6. Finding field declarations; 8.7. Finding event declarations; 8.8. Finding enumerated type declarations and extensions; 8.9. How do I find where a value is added to a type? 8.10. Finding cover group declarations and extensions8.11. Finding the source of a message in the log file; 8.12. Finding aspects; Bibliography; Epilogue; Index; A; C; D; E; F; H; I; J; M; N; O; P; R; S; U; W |
Record Nr. | UNINA-9910458107903321 |
Robinson David | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Aspect-oriented programming with the e verification language [[electronic resource] ] : a pragmatic guide for testbench developers / / David Robinson |
Autore | Robinson David |
Edizione | [1st edition] |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 |
Descrizione fisica | 1 online resource (265 p.) |
Disciplina | 005.1/17 |
Collana | The Morgan Kaufmann series in systems on silicon |
Soggetto topico | Object-oriented programming (Computer science) |
ISBN |
1-281-03832-6
9786611038328 0-08-055155-6 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front cover; Aspect-Oriented Programming with the e Verification Language; Copyright page; Acknowledgments; Table of Contents; Foreword; Preface; About Verilab; Chapter 1. Introduction to Aspect Oriented Programming (AOP); 1.1. What are aspects? - Part I; 1.2. Why do I need aspects? What's wrong with crosscutting concerns?; 1.3. Surely OOP doesn't have any problems?; 1.4. Why does AOP help?; 1.5. Theory vs real life - What else is AOP good for?; 1.6. What are aspects? - Part II; Chapter 2. AOP in e; 2.1. How do I extend a class?
2.2. How do I extend a class for multiple values of a determinant?2.3. How do I extend a type?; 2.4. How do I introduce a new noncoverage member to a class?; 2.5. How do I introduce a coverage group to a class?; 2.6. How do I extend a coverage group?; 2.7. How do I change the behavior of a method?; 2.8. How do I limit the scope of my extensions?; 2.9. Using return in method advice; 2.10. Controlling the order of method extension calls; Chapter 3. Using AOP to Organize Your Code; 3.1. A word about style; 3.2. What aspects do I want to use?; 3.3. Mapping aspects to files Chapter 4. Creating Flexible CodeChapter 5. Creating Pluggable Code; 5.1. The extendable case statement; 5.2. The factory pattern; Chapter 6. Improving Your Productivity; 6.1. Shifting the power; 6.2. Dealing with broken code; 6.3. Handling workarounds; 6.4. Reducing and deferring class complexity; 6.5. Adding problem-specific functionality; 6.6. Reducing the OOP-induced overhead; Chapter 7. AOP in Action; 7.1. Creating a class with a selectable algorithm; 7.2. Creating a configuration interface for an eVC; 7.3. Using aspects to create a layered verification environment 7.4. Creating reusable layered sequences7.5. Testing your verification environment; 7.6. Debugging using AOP; 7.7. Encapsulating tests; Chapter 8. Analysing e Code; 8.1. The e toolkit; 8.2. Finding class declarations and extensions; 8.3. Finding the class inheritance hierarchy; 8.4. Finding the determinants used by a class; 8.5. Finding method declarations and extensions; 8.6. Finding field declarations; 8.7. Finding event declarations; 8.8. Finding enumerated type declarations and extensions; 8.9. How do I find where a value is added to a type? 8.10. Finding cover group declarations and extensions8.11. Finding the source of a message in the log file; 8.12. Finding aspects; Bibliography; Epilogue; Index; A; C; D; E; F; H; I; J; M; N; O; P; R; S; U; W |
Record Nr. | UNINA-9910784568503321 |
Robinson David | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Aspect-oriented programming with the e verification language : a pragmatic guide for testbench developers / / David Robinson |
Autore | Robinson David |
Edizione | [1st edition] |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 |
Descrizione fisica | 1 online resource (265 p.) |
Disciplina | 005.1/17 |
Collana | The Morgan Kaufmann series in systems on silicon |
Soggetto topico | Object-oriented programming (Computer science) |
ISBN |
1-281-03832-6
9786611038328 0-08-055155-6 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front cover; Aspect-Oriented Programming with the e Verification Language; Copyright page; Acknowledgments; Table of Contents; Foreword; Preface; About Verilab; Chapter 1. Introduction to Aspect Oriented Programming (AOP); 1.1. What are aspects? - Part I; 1.2. Why do I need aspects? What's wrong with crosscutting concerns?; 1.3. Surely OOP doesn't have any problems?; 1.4. Why does AOP help?; 1.5. Theory vs real life - What else is AOP good for?; 1.6. What are aspects? - Part II; Chapter 2. AOP in e; 2.1. How do I extend a class?
2.2. How do I extend a class for multiple values of a determinant?2.3. How do I extend a type?; 2.4. How do I introduce a new noncoverage member to a class?; 2.5. How do I introduce a coverage group to a class?; 2.6. How do I extend a coverage group?; 2.7. How do I change the behavior of a method?; 2.8. How do I limit the scope of my extensions?; 2.9. Using return in method advice; 2.10. Controlling the order of method extension calls; Chapter 3. Using AOP to Organize Your Code; 3.1. A word about style; 3.2. What aspects do I want to use?; 3.3. Mapping aspects to files Chapter 4. Creating Flexible CodeChapter 5. Creating Pluggable Code; 5.1. The extendable case statement; 5.2. The factory pattern; Chapter 6. Improving Your Productivity; 6.1. Shifting the power; 6.2. Dealing with broken code; 6.3. Handling workarounds; 6.4. Reducing and deferring class complexity; 6.5. Adding problem-specific functionality; 6.6. Reducing the OOP-induced overhead; Chapter 7. AOP in Action; 7.1. Creating a class with a selectable algorithm; 7.2. Creating a configuration interface for an eVC; 7.3. Using aspects to create a layered verification environment 7.4. Creating reusable layered sequences7.5. Testing your verification environment; 7.6. Debugging using AOP; 7.7. Encapsulating tests; Chapter 8. Analysing e Code; 8.1. The e toolkit; 8.2. Finding class declarations and extensions; 8.3. Finding the class inheritance hierarchy; 8.4. Finding the determinants used by a class; 8.5. Finding method declarations and extensions; 8.6. Finding field declarations; 8.7. Finding event declarations; 8.8. Finding enumerated type declarations and extensions; 8.9. How do I find where a value is added to a type? 8.10. Finding cover group declarations and extensions8.11. Finding the source of a message in the log file; 8.12. Finding aspects; Bibliography; Epilogue; Index; A; C; D; E; F; H; I; J; M; N; O; P; R; S; U; W |
Record Nr. | UNINA-9910814568003321 |
Robinson David | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2007 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
Automated planning [[electronic resource] ] : theory and practice / / Ghallab Malik, Dana Nau, Paolo Traverso |
Autore | Ghallab Malik |
Pubbl/distr/stampa | Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2004 |
Descrizione fisica | 1 online resource (664 p.) |
Disciplina | 658.5 |
Altri autori (Persone) |
NauDana S
TraversoPaolo |
Collana | The Morgan Kaufmann Series in Artificial Intelligence |
Soggetto topico | Production planning - Data processing |
Soggetto genere / forma | Electronic books. |
ISBN |
1-281-00721-8
9786611007218 0-08-049051-4 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Front Cover; Automated Planning Theory and Practice; Copyright Page; Contents; About the Authors; Foreword; Preface; Table of Notation; Chapter 1. Introduction and Overview; 1.1 First Intuitions on Planning; 1.2 Forms of Planning; 1.3 Domain-Independent Planning; 1.4 Conceptual Model for Planning; 1.5 Restricted Model; 1.6 Extended Models; 1.7 A Running Example: Dock-Worker Robots; Part I: Classical Planning; Chapter 2. Representations for Classical Planning; 2.1 Introduction; 2.2 Set-Theoretic Representation; 2.3 Classical Representation; 2.4 Extending the Classical Representation
2.5 State-Variable Representation2.6 Comparisons; 2.7 Discussion and Historical Remarks; 2.8 Exercises; Chapter 3. Complexity of Classical Planning; 3.1 Introduction; 3.2 Preliminaries; 3.3 Decidability and Undecidability Results; 3.4 Complexity Results; 3.5 Limitations; 3.6 Discussion and Historical Remarks; 3.7 Exercises; Chapter 4. State-Space Planning; 4.1 Introduction; 4.2 Forward Search; 4.3 Backward Search; 4.4 The STRIPS Algorithm; 4.5 Domain-Specific State-Space Planning; 4.6 Discussion and Historical Remarks; 4.7 Exercises; Chapter 5. Plan-Space Planning; 5.1 Introduction 5.2 The Search Space of Partial Plans5.3 Solution Plans; 5.4 Algorithms for Plan-Space Planning; 5.5 Extensions; 5.6 Plan-Space versus State-Space Planning; 5.7 Discussion and Historical Remarks; 5.8 Exercises; Part II: Neoclassical Planning; Chapter 6. Planning-Graph Techniques; 6.1 Introduction; 6.2 Planning Graphs; 6.3 The Graphplan Planner; 6.4 Extensions and Improvements of Graphplan; 6.5 Discussion and Historical Remarks; 6.6 Exercises; Chapter 7. Propositional Satisfiability Techniques; 7.1 Introduction; 7.2 Planning Problems as Satisfiability Problems; 7.3 Planning by Satisfiability 7.4 Different Encodings7.5 Discussion and Historical Remarks; 7.6 Exercises; Chapter 8. Constraint Satisfaction Techniques; 8.1 Introduction; 8.2 Constraint Satisfaction Problems; 8.3 Planning Problems as CSPs; 8.4 CSP Techniques and Algorithms; 8.5 Extended CSP Models; 8.6 CSP Techniques in Planning; 8.7 Discussion and Historical Remarks; 8.8 Exercises; Part III: Heuristics and Control Strategies; Chapter 9. Heuristics in Planning; 9.1 Introduction; 9.2 Design Principle for Heuristics: Relaxation; 9.3 Heuristics for State-Space Planning; 9.4 Heuristics for Plan-Space Planning 9.5 Discussion and Historical Remarks9.6 Exercises; Chapter 10. Control Rules in Planning; 10.1 Introduction; 10.2 Simple Temporal Logic; 10.3 Progression; 10.4 Planning Procedure; 10.5 Extensions; 10.6 Extended Goals; 10.7 Discussion and Historical Remarks; 10.8 Exercises; Chapter 11. Hierarchical Task Network Planning; 11.1 Introduction; 11.2 STN Planning; 11.3 Total-Order STN Planning; 11.4 Partial-Order STN Planning; 11.5 HTN Planning; 11.6 Comparisons; 11.7 Extensions; 11.8 Extended Goals; 11.9 Discussion and Historical Remarks; 11.10 Exercises Chapter 12. Control Strategies in Deductive Planning |
Record Nr. | UNINA-9910450502803321 |
Ghallab Malik | ||
Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann, c2004 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|