To develop technology for generating custom dependability gauges, which monitor dependability properties (e.g., security, safeity, fault-tolerance, etc.) of a complex, evolving system architecture at runtime.
For more details, see this technical summary extracted from the proposal.
The first product of our DASADA work is the Acme Map Generator (AMG). Acme, an architectural description language (ADL) designed by David Garlan's group at CMU and Dave Wile at Teknowledge, is is a DASADA standard for the description of architectural structure. Recently, a draft proposal for adding a map construct to Acme has been produced. Maps provide a means for describing the relationship between two different descriptions of the same architecture. The AMG is a tool for transformationally generating abstractions of architectural descriptions and maps linking the descriptions to the abstractions. These map links can be composed to create maps from very low-level descriptions to very high-level descriptions. Developing such maps "by hand" would be a tedious and error-prone process.
The distribution consists of (copylefted) source code, a lttle bit of documentation describing how to run and extend the application, and a first approximation to a Tcl/Tk-based GUI. (Note that the GUI doesn't do any error-handling, so it's not really suitable for serious use yet.) The AMG is written in Prolog. The version we're providing is for SICStus Prolog. Porting to other Edinburgh Prologs (Quintus, SWI, Ciao, GNU, etc.) should be easy. (Ask for help if you need it.)
Warning: The AMG was extracted from a much more comprehensive toolset (called "Teal") for transforming and reasoning about architectural descriptions written in any one of a variety of ADLs (including, soon, UML). In order to create a reasonably small, standalone tool, many simplifications were made. (For example, the AMG uses the file system for persistent storage -- and in a rather crude fashion, at that -- rather than Teal's persistent object base.) Since we're not sure how much of a market there is for such standalone tools, we didn't devete a lot of effort to the extraction, and devoted almost none at all to documentation. The current release should definitely be considered a "beta": if you think it sound interesting, get a copy, play with it, and tell us what it doesn't do that you would like it to do.