Department of Experimental Psychology, Oxford University,
Institute for Fiscal Studies, London,
WOM extends HTML, augmenting it with constructs for creating instances - text input fields, reuseable imagemaps, and other components of a Web page - which persist throughout the life of an application. There are also constructs for setting constraints between these instances. Considered as an OOP language, WOM has two novel features: it does not use methods or messages, relying instead on equational constraints; and it handles transput in a natural way.
The Web-O-Matic compiler compiles WOM programs into code in a conventional object-oriented language (currently OS/2 Object Rexx, but Java would also be feasible). This code creates instances which reside on the server. On receiving an HTTP request, the server translates it into messages which it sends to these instances, and to which they reply by sending back HTML.
Web-O-Matic is being developed for the Institute for Fiscal Studies, as a tool with which economists can connect their economic prediction programs to the Web without needing to know CGI programming.
Web-O-Matic is based on System Limit Programming (SLP), a new programming paradigm arising from Goguen's application of category theory to general systems theory. A system of interacting components can be described as a categorical diagram; the behaviour of the system is given by the limit, in the category theoretical sense, of the behaviours of its components. This provides the basis for an extremely general method of programming. So far, we have experimented with four applications of SLP: Model Master, an object-oriented spreadsheet programming tool; Systematic, an extension of the equational language Eqlog for systems specification; an object-oriented extension of Prolog; and Web-O-Matic.