B-Method
The B-Method is a method of software development based on B, a tool-supported formal method based on an abstract machine notation, used in the development of computer software. Compared to the Z notation, B is slightly more low-level and more focused on refinement to code rather than just formal specification — hence it is easier to correctly implement a specification written in B than one in Z. In particular, there is good tool support for this.