Models as executable designs

If a design is viewed as a model of the eventual implementation, and if it is expressed in a well-defined design notation, it can be made executable and treated as a prototype which reflects whatever internal details are expressed in the design. However, to turn this technique into a way of constructing a prototype whose externally-observable behavior is meaningful from the user's point of view, methods must first be developed for the rapid prototyping of user interfaces.