Industrial Application of Prolog
Kent Andersson and Torkel Hjerpe
A full-scale industrial application for
tunnelling simulation has been developed in Prolog. A typical tunnelling project with
three fronts is illustrated below.
The goal of a tunnelling project is to
construct tunnels in one or more directions-building a subway is one example. The
activities are drilling, charging, blasting, unloading etc. They may interfere with each
other between tunnel fronts and resources used may be shared, for example the drilling
equipment. The duration of an activity, such as drilling, can not be completely fixed in
advance; it varies stochastically but may be simulated by distribution functions.
Atlas Copco, one of the main suppliers
of drilling and mining equipment in the world, has invested in a tunnelling simulation
system. The output of the system is the expected finishing time for each tunnel front and
the amounts of manpower time, machine time, dynamite, concrete, etc spent. By repeating
the simulation, a worst-case, a best-case, a mean value and other statistical measures are
The input to the system consists of
facts such as distribution functions, rock classes, machines, etc., but also rules for how
to compute time and amounts of resources spent in different tunnels and rock classes.
The tunnelling simulation system is a
PC program developed in Prolog, using finite domain constraints. In addition, MS Word, MS
Excel and MS Project are used to state facts and rules, to display statistics (of times
and resource amounts spent) and to format project plans in Gantt charts. It is a
full-scale application, capable of simulating three kilometres of tunnelling on three
fronts in five minutes on an ordinary PC. A full-scale prototype of the system has been
developed in three man-months.
The short development time illustrates
Prolog's efficiency for developing advanced applications. Prolog enables the end-user to
change and extend the simulation system, by modifying the rules for time and amount
computations. The finite domain constraints extension facilitates problem modelling and
reduces computation time.
Computing Science Department,
P.O. Box 311, S-751 05 UPPSALA, SWEDEN
Phone: +46 18 471 00 00,
Fax: +46 18 52 12 70