Interpretability is needed at two levels. At one level is the high level design that is needed by people who will perform verification and validation, or maintenance activities. These people may be part of the client's organization or a third party organization. At an even higher level of abstraction is the end-user's viewpoint. Normally the client's end-user will want to see a realistic representation of a working system and would rarely be interested in interpreting a diagramming language even if it is at a relatively high level of abstraction.
Maintenance is done by modification and then transformation of the original specification.
Functional prototyping is incorporated for direct generation of executable code from the functional specification and is used to model and exercise the logical capabilities of the system. Performance modeling is incorporated later to provide accurate performance analysis. In the context of traditional design, functional prototyping represents high level design while performance modeling represents detailed design. The recognition that software development should be evolutionary is not surprising. All advances are made this way and we would not have expected a modern, aerodynamic automobile to come off Ford's 1927 assembly line.