A system for rigorous or formal development of software using the notion of {Abstract MAChine}s to specify and design software systems. The B-Method is supported by the B-Toolkit. Abstract MAChines are specified using the Abstract MAChine Notation (AMN) which is in turn based on the mathematical theory of Generalised Substitutions. (1995-03-13)