[Uni Bremen] [FB 3] [TZI] [BISS]

The UniForM Workbench

The UniForM Workbench is a tool integration framework which allows users to develop formal software development environments based on the off-the-shelf development tools available, such as theorem provers or model checkers. The constituent parts of the workbench, such as HTk, can be used independently as well.

On this page, you can find:

A Short Introduction to the UniForM Workbench

The UniForM workbench is written entirely in the functional programming language Haskell. It uses Haskell, extended with a higher-order model of concurrency, as a typed integration language (GlueWare). This extension forms the concurreny toolkit.

The integrated software development environment is modelled as a reactive system, with events as the primitive notion. Events can come from

These primitive events can in turn be combined and sequenced in various ways, to make more complicated events.

To allow the development of (no longer) state-of-the-art graphical user interfaces in a functional style, the workbench provides HTk, an encapsulation of Tcl/Tk, which is based on Haskell-Expect. It combines the advantages of Tk (platform independency, abstraction) with the advantages of Haskell (type safety), bypassing the shortcomings of Tcl (untypedness, lack of structuring concepts).

In HTk, widgets are modelled as datatypes, and the different configuration options as type classes, allowing many errors which in Tcl/Tk only occur at runtime to be caught by typechecking. User inputs are modelled by events, to which the system reacts asynchronously, making HTk fully concurrent.

Obtaining the Workbench

To obtain the sources of the workbench, use our public SVN server.

To compile the workbench, you need the Glasgow Haskell Compiler Version 6 download it from here.

We have compiled the workbench under several unix architectures.

Documentation and Papers

The most comprehensive description of the workbench and its design philosophy is Einar Karlsen's doctoral dissertation, Tool Integration in Functional Programming Language (Universität Bremen, 1998). It has by now been obsoleted by ongoing development, but still describes the main design ideas.

Personell and Contact Info

The UniForM workbench was originally conceived and developed by Einar Karlsen. It was maintained and developed further until 2004 by George Russell and Christoph Lüth The binding to Tcl/Tk and uDrawGraph is still maintained by Christian Maeder for the heterogeneous tool set (hets).

If you have any questions or feedback at all, please drop us a mail at uniform@informatik.uni-bremen.de.

Last modified: Mon Oct 4 13:24:10 CEST 2010