1. An automated software production tool, comprising: a software-generating computer programmed to: receive user input that defines a conceptual model which models a system for which a computer program is to be written; convert said conceptual model into a high level repository of formal specification statements stated in a formal language having rules of syntax and semantics; validate said formal specification using a validator program which, using the rules of syntax and semantics of said formal language, verifies that every statement in said formal specification is syntactically complete, semantically correct and not ambiguous.