%@ 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, M.T. Norris, S.B. Russ, M.D. Slade, Y.P. Yung and Y.W. Yung, Software Construction Using Definitions: an Illustrative Example (September 1, 1989).
We present and illustrate an approach to software construction that aims to develop a program through building an explicit state-transition model of the requirement. The approach is characterised by the use of systems of definitions that admit interpretation in both conceptual and machine-oriented terms. Such definitions represent a far-reaching generalisation of spreadsheet formulae that is well-adapted for interactive and incremental modelling. The method of elaborating the model of requirements is cognitively based. It depends upon the identification of agents and their privileges for action, as specified in the definition-based notation LSD, and the simulation of agent action in appropriate contexts within the Abstract Definitive Machine. This machine model has several interesting characteristics, including the explicit modelling of data dependency and the interaction and concurrency. We illustrate our method with reference to the development of a small educational program.