Next: Acknowledgements
Up:
MODEL MASTER: MAKING SPREADSHEETS SAFE
First presented at CALECO
Previous: Analysis of existing spreadsheets
We have a prototype compiler, written in Java, which generates
LotusScript code for Lotus 1-2-3, and VisualBasic code for
Excel. A demonstration,
as an applet, can be found at
http://users.ox.ac.uk/~popx/mm_demo.html
. This
demonstration uses a Java applet. For those whose browsers cannot
run Java, or for whom it would be slow to download,
there are screen shots in a slide-style presentation at
http://users.ox.ac.uk/~popx/mm_presentation/title.html
.
The research reported here has not been funded at all, so is spare-time
only. Further work depends on finding funds.
Our research goals include:
- Looking at how people use spreadsheets. The current version of MM
is suited to
models where time is irrelevant (e.g. in calculating the cost of
paint needed to paint a number of rooms, given their dimensions and
material costs), and to
``closed-form'' models, where we simulate the progress of
attributes through time, each attribute depending on its own past
values, or on present and past values of other attributes.
Going in the direction of added modelling complexity,
some users need to build
``non-closed-form'' models, where to get results, it is necessary
to solve a system of equations. This normally requires explicit
programming of an equation solver. We believe MM could be
extended so that its programmer could just write the equations, in a
similar style to above, and then name an algorithm to be used for
solving them. The MM compiler would then look this
up in a library and ``fold'' it into the generated code. This would
save programming effort and, again, make programs more modular
and easier to read and maintain.
- Building a
drag-and-drop interface for specifying and connecting objects
graphically. There are already some programs that do this
for spreadsheets, for example CleanSheet from the UK company
Working Title [Pountain 1994,Working Title: Home Page]. However, they do so in an ad-hoc
fashion. The use of Goguen's sheaf semantics as a foundation would
guarantee the correctness and appropriateness of any visual
representation of a model. It is possible that Goguen's work
on algebraic semiotics could help here [Goguen 1993,Goguen 1996,Goguen 1997].
- Building a reverse-engineering tool that will ``decompile''
existing worksheets into MM source code. It should be fairly
easy to do this by using Inductive Logic Programming, for example
in Stephen Muggleton's Progol.
- Semantics: how best to describe
plural objects, e.g. a company serving clients who vary in
number during a run;
parameterisation and modularisation.
Next: Acknowledgements
Up:
MODEL MASTER: MAKING SPREADSHEETS SAFE
First presented at CALECO
Previous: Analysis of existing spreadsheets
Jocelyn Ireson-Paine
Sat Nov 28 17:42:14 GMT 1998