%@ page language="java" contentType="text/html" %> <%-- Include common initialisation code --%> <%@ include file="/arch/common.jsp" %> <%-- The current tab --%> <% String currentTab = "Research"; %> <%-- Content of navigation pane --%> <%@ include file="nav.jsp" %> <% showCurrentLink=true; %> <%-- Current navigation location --%> <% String currentNav = "Reports and Theses"; %> <%-- Include the code for the document header --%> <%@ include file="/arch/header.jsp" %>
W.M. Beynon, S.B. Russ, M. Slade, Y.P. Yung and Y.W. Yung, Definitive Principles and the Specification of Software (September 1, 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.