one widely used formal notation is z for which many support tools are available (jacky 1996) as the safety and security problem with software developed with current method increase more formal method will have to be adopted. if you are serious about producing truly hight-quality program you should become familiar with such method