Alloy is a lightweight, precise and tractable notation for object modelling. It attempts to combine the practicality of UML's static structure notation with the rigour of Z, and to be expressive enough for most object modelling problems while remaining am