by Klaus D. Günther
DISCO facilitates the development, administration and run time control of forms-oriented distributed applications. Salient features of DISCO are
A field test with about 35 participants and scientific evaluation (concerning the legal and ergonomic issues of digital signatures, and of distributed office applications in general) has been carried out. The tested application ("request for vacations") is meanwhile used by about 175 participants. Additional, and particularly more complex applications are under development.
A frequent situation in form-based cooperation is that a participant is not satisfied with the contents of certain fields of a form that have been filled in by other participants or read in from various databases. It should then be possible to selectively rollback just the relevant parts of the application to a state where it becomes possible again to re-enter/modify the contents of the respective fields or to search the database for alternative data.
Present transaction processing and checkpoint/restart techniques appear to be quite inappropriate for coping with such fine-grained, selective application rollback requirements. We plan to develop an interpretive logic programming language FQL ("Finite Quantification Language") which will provide such a fine-grained and flexible rollback support without the necessity to explicitly program checkpoint/restart operations or distributed/nested transactions.
FQL will be based on "finite quantifiers" (ranging over finite domains), recursion, and restrictions as to the order of AND-connected statements. Its structure will make it possible to analyse the data flow within the program in such a way as to provide the required selective backtracking facilities.
A distributed application will be described by a single FQL program which will be moved to the respective locations where its location-specific parts are to be interpreted.
We plan to provide a graphic programming environment for FQL programs which allows the programmer to switch forth and back between a textual and a graphic representation of a predicate definition or of an entire FQL program. A second tool will facilitate the interactive composition of FQL form structures (which are described by a special kind of predicates).