There's probably a fast way and a complex way with scripts, dynamics and plugins. I ran across a few very simple, fast ways to do it but they are not as articulate as some of the complex programmed ODE dynamic ones I have seen.
The simple ject of it is to make your treads in a circle, then create a nurbs circle with a wire tool. Then deform the treads into place with the wire. It's simple fast and looks good but it's not perfect because there will be minor distortion but not really noticeable if you ask me. Then to animate just rotate the treads. Theres a slightly better tutorial on Youtube as well that using a motion path. it's excellent because it doesn't distort the treads. All you do is put a lattice on the wire nurbs and attach the treads to a motion path.
Only problem I am having with this technique is that I can seem to get the treads to attach in there place.
If you find a solution to this. Let me know : athreet@adelphia.net.
BTW, I'm using Maya OSX as well.
Lastly both technics allow for similating collision with the surface by animating the wires, or constraining the lattice to the surface geometry.