Aspect-Oriented Programming with the e Verification Language: A Pragmatic Guide for Testbench Developers

Robinson, David

In stock
Regular price 32.000 KD inc. VAT
License
Table of contents
  • Table of Contentsv
  • Acknowledgmentsiii
  • Forewordix
  • Prefacexi
  • About Verilabxix
  • Chapter 1. Introduction to Aspect Oriented Programming (AOP)1
  • 1.1. What are aspects? „ Part I2
  • 1.2. Why do I need aspects? What's wrong with crosscutting concerns?9
  • 1.3. Surely OOP doesn't have any problems?11
  • 1.4. Why does AOP help?18
  • 1.5. Theory vs real life „ What else is AOP good for?22
  • 1.6. What are aspects? „ Part II27
  • Chapter 2. AOP in e31
  • 2.1. How do I extend a class?36
  • 2.2. How do I extend a class for multiple values of a determinant?41
  • 2.3. How do I extend a type?42
  • 2.4. How do I introduce a new noncoverage member to a class?43
  • 2.5. How do I introduce a coverage group to a class?44
  • 2.6. How do I extend a coverage group?46
  • 2.7. How do I change the behavior of a method?50
  • 2.8. How do I limit the scope of my extensions?53
  • 2.9. Using return in method advice59
  • 2.10. Controlling the order of method extension calls65
  • Chapter 3. Using AOP to Organize Your Code67
  • 3.1. A word about style69
  • 3.2. What aspects do I want to use?70
  • 3.3. Mapping aspects to files75
  • Chapter 4. Creating Flexible Code93
  • Chapter 5. Creating Pluggable Code113
  • 5.1. The extendable case statement120
  • 5.2. The factory pattern132
  • Chapter 6. Improving Your Productivity145
  • 6.1. Shifting the power146
  • 6.2. Dealing with broken code147
  • 6.3. Handling workarounds149
  • 6.4. Reducing and deferring class complexity150
  • 6.5. Adding problem-specific functionality153
  • 6.6. Reducing the OOP-induced overhead155
  • Chapter 7. AOP in Action163
  • 7.1. Creating a class with a selectable algorithm164
  • 7.2. Creating a configuration interface for an eVC173
  • 7.3. Using aspects to create a layered verification environment180
  • 7.4. Creating reusable layered sequences188
  • 7.5. Testing your verification environment196
  • 7.6. Debugging using AOP204
  • 7.7. Encapsulating tests210
  • Chapter 8. Analysing e Code215
  • 8.1. The e toolkit217
  • 8.2. Finding class declarations and extensions221
  • 8.3. Finding the class inheritance hierarchy224
  • 8.4. Finding the determinants used by a class224
  • 8.5. Finding method declarations and extensions225
  • 8.6. Finding field declarations226
  • 8.7. Finding event declarations227
  • 8.8. Finding enumerated type declarations and extensions227
  • 8.9. How do I find where a value is added to a type?228
  • 8.10. Finding cover group declarations and extensions229
  • 8.11. Finding the source of a message in the log file230
  • 8.12. Finding aspects231
  • Bibliography239
  • Epilogue241
  • Index243
  • A243
  • C243
  • D243
  • E243
  • F243
  • H243
  • I243
  • J243
  • M243
  • N243
  • O243
  • P243
  • R244
  • S244
  • U244
  • W244
Book details
  • Vendor Elsevier S & T
  • SKU 9780123742100
  • ISBN-13 9780080551555
  • Author Robinson, David
  • Category Computers
  • Subject Network Hardware

Do you have questions about this book?

Ask an expert!

What’s this AOP thing anyway, really—when you get right down to it—and can someone please explain what an aspect actually is?

Aspect-Oriented Programming with the e Verification Language takes a pragmatic, example based, and fun approach to unraveling the mysteries of AOP. In this book, you’ll learn how to:

• Use AOP to organize your code in a way that makes it easy to deal with the things you really care about in your verification environments. Forget about organizing by classes, and start organizing by functionality, layers, components, protocols, functional coverage, checking, or anything that you decide is important to you
• Easily create flexible code that eases your development burden, and gives your users the power to quickly do what they need to do with your code
• Truly create a plug-and-play environment that allows you to add and remove functionality without modifying your code. Examples include how to use AOP to create pluggable debug modules, and a pluggable module that lets you check that your testbench is still working before you begin a regression
• Utilize AOP to sidestep those productivity roadblocks that seem to plague all projects at the most inconvenient of times
• Discover why “return” is evil, and some other “gotchas” with the AOP features of e
All of the methodologies, tips, and techniques described in this book have been developed and tested on real projects, with real people, real schedules and all of the associated problems that come with these. Only the ones that worked, and worked well, have made it in, so by following the advice given in this book, you’ll gain access to the true power of AOP while neatly avoiding the effort of working it all out yourself.

• Use AOP to organize your code in a way that makes it easy to deal with the things you really care about in your verification environments. Forget about organizing by classes, and start organizing by functionality, layers, components, protocols, functional coverage, checking, or anything that you decide is important to you
• Easily create flexible code that eases your development burden, and gives your users the power to quickly do what they need to do with your code
• Truly create a plug-and-play environment that allows you to add and remove functionality without modifying your code. Examples include how to use AOP to create pluggable debug modules, and a pluggable module that lets you check that your testbench is still working before you begin a regression
• Utilize AOP to sidestep those productivity roadblocks that seem to plague all projects at the most inconvenient of times
• Discover why “return” is evil, and some other “gotchas” with the AOP features of e