ABSTRACT

It is now eminently clear that there are two levels of software specification that must occur in the early stages of a software development effort. First, we need to define a system around a user’s requirements. This is the operational system that the user interacts with directly. Then we need to solve the problem of how to implement the user’s abstract machine on another machine of our own design. This new machine will be defined by the functional model and animated by the functionalities that we design for it.