Stanley G. Siegel has more than 40 years of experience as a systems engineer, mathematician, computer scientist, and nuclear physicist. He teaches software systems engineering at Johns Hopkins University, and has co-authored four books on the subject.