We have developed the Model Master (MM) language for describing spreadsheets, and tools for converting MM programs to and from spreadsheets.
The MM decompiler translates a spreadsheet into an MM program which gives a concise summary of its calculations, layout, and styling. This is valuable when trying to understand spreadsheets one has not seen before, and when checking for errors.
The MM compiler goes the other way, translating an MM program into a spreadsheet. This makes possible a new style of development, in which spreadsheets are generated from textual specifications. This can reduce error rates compared to working directly with the raw spreadsheet, and gives important facilities for code reuse.
MM programs also offer advantages over Excel files for the interchange of spreadsheets.
Model Master (MM) "decompiles" spreadsheets, generating concise specifications of their calculations.
The specification lists the variables or "attributes" represented by the cells, and the equations relating them.
It gives an alternative view of the spreadsheet, which we believe to be valuable when checking for errors and when trying to understand spreadsheets written by other people.