The principle aim of the project is to develop software technology which allows programmers to interact with data about properties of physical systems in terms of high-level concepts and also provides powerful inferencing capabilities. This will reduce the need for a programmer to become involved in complex (and often tedious) manipulations of underlying data structures.
Formal logical languages provide the necessary expressive power and deductive machinery needed to achieve this end. However, computing inferences in a general purpose logical representation is so complex that it seems very unlikely that algorithms could ever be developed which would operate in reasonable time. In order to circumvent this difficulty we shall construct domain-specific decision procedures (DPs) which can reason effectively with logical formulae containing a fixed vocabulary of basic concepts.
The concepts we shall focus on are those applicable to describing the configuration and behaviour of physical systems. These include: topological, orientation and distance relations, dynamical properties, terrain and types of terrain or material substance. We aim to construct a number of independent DPs each capable of handling a significant set of concepts which may be useful to a range of applications.
DPs will appear to the programmer simply as a type of function-call enabling high-level queries to be evaluated. In order to interface decision procedures with more conventional styles of programming a number of software tools are needed. These are described in section 3 below.
An important part of the project will be discussion with software development teams in order to determine what kinds of decision procedure need to be constructed and what interface tools should be provided. Once these requirements have been established we will proceed to implement demonstration software illustrating the power and flexibility of decision procedures. We aim to produce prototype software in the areas of Geographical Information Systems and Virtual World Simulation.