To implement a Watch Dog timer, I can think of two possibilities:
1) Setup an interrupt (via an interrupt) with an integer variable that counts down to zero. When the variable reaches zero, reset the processor. Your main routine will need to periodically reset the variable to a value representing the Watch Dog delay before reset. The interrupt could also do your Real Time Clock.
2) Setup up a timer to generate the delay before reset. When the timer rolls over, reset the processor. Again, your main routine would periodically reset the timer prevent the reset.
I leave the details of implementing either option to you.