English subtitles

← Benefits of AOP for Verification cs348 unit6

Get Embed Code
1 Language

Showing Revision 1 created 03/06/2013 by Cogi-Admin.

  1. It's my pleasure to introduce Yoav Hollander to you. Yoav is one of the founding
  2. fathers of advanced function verification. He will share his thoughts on OOP and
  3. how it applies to our particular software development problem. >> Oop is
  4. actually was an excellent invention when it was made. And it let's you
  5. modularize things according to your basic objects, which, for instance, in
  6. verification, would be like your structural objects like your internet
  7. controller and your monitor and your packet and your scoreboard and so on. So
  8. that was an excellent idea. It does have two problems, which are particularly
  9. acute for verification. One is that it does not let you add stuff in a
  10. non-intrusive way, and the other is that you cannot organize stuff which
  11. cross-cuts those main objects. So, let me give you an example for that. Suppose
  12. that you've already written your verification environment and it has those
  13. objects as we talked about. Now, somebody else wants to go ahead and add, say,
  14. coverage for a packet. That necessitates say, creating an event and then doing a
  15. coverage the finish, and then some logic that triggers that event. And that is
  16. in the context of that packet, but you don't want to put it in the original
  17. class. You want somebody else to handle it in a separate file. And it's much
  18. more fun if you can do it in a separate file. Another example would be if that
  19. coverage definition that you want actually needs information from both your
  20. packet and say, your monitor, okay? So, you need some logic that at some point
  21. that takes information from the packet and puts it somewhere. And at a later
  22. time, upon some event takes information from the monitor, combines it with that
  23. packet information and puts that Inside you covered definition. So here, we have
  24. something that needs to actually open up to object definitions. Add some little
  25. stuff to them and that together would be your concern, your cross cutting
  26. concern. That is really badly handled in OOP and is done very well if you can
  27. just extend those two objects in a separate file, and try those little
  28. definitions.