Definitive Principles and the Specification of Software
W. M. Beynon, Steve Russ, Mike Slade, Y. P. Yung, Y. W. Yung · 1989
We investigate a novel approach to programming and specification that aims to support both incremental development and interactive validation. The specification of the behaviour of several agents interacting in a room is viewed as a process of design and simulation. The resemblance between state changes in design (such as moving a shelf) and those in simulation (such as opening a door) motivates a unified representation. The distinction between design and simulation is conventionally reflected in the representation (cf the editing and execution of a program), but it can be better understood in terms of the privileges for action of agents. The action of an agent in a state is expressed within a definitive (definition-based) programming paradigm by a system of definitions specifying systems within an appropriate abstract family of variables. Such use of definitive systems within an appropriate abstract machine model facilitates the representation of the actions associated with each agent and the formalisation of a design in terms of possible agent interactions. The paper concludes with a brief review of the progress to date on the definitive programming project.