I came across this article on Slashdot | Tools To Automate Checking of Software Design. Its about using a formal checking language called Alloy. One of things that our software engineering group is trying to do at my company is requirements tracking for CMMI Level 2 certification. This might be of interest to them. To find out more about Alloy look at this article in Scientific American, by one of of the developers. Here’s a gif about other possible tools.