ConfDesigner is a graphical environment written in Java, which eases the design of complex system configurations.
Because of being part of the Sphinx4 Speech Recognizer, ConfDesigner is licensed under BSD licenses. ConfDesigner is based on the Netbeans Graph Library.
The best way to get in touch with ConfDesigner is to check out its sources. It is located in $SPHINX_ROOT/tools/confdesigner.
Nevertheless, ConfDesigner can be used without any installation using Java Webstart. Although only Java5 or higher is required to run the application locally, Java6 or higher is required to run it via Webstart.
In order to add a Configurable to one or several arbitrary categories, it's just necessary to annotate the class (or one of its parent-classes, or one of its implementing interfaces, or one of the interfaces being implemented by one of its parent classes. E.g.
@ConfCategory(value = {"search", "parallel"})class ParallelSearchDecoder implements Configurable{...}
In ConfDesigner the categories are used to set up another component-selection-tree (beside the usual package-based one)
improved node-layoutsnap2gridlevel of details for nodes in order to speed up the applicationdistributed computing supportcopy, cut, paste & delete for subgraphsoptional snap2gridreimplementation of property panel (in order to support default properties and non-defined properties)improved connection routingbetter node-layoutConfDesigner can be started directly via "java -jar confdesigner.jar" (because of added jar-Manifest)Command line interfaceAutomatic range checking for basic properties (int, double, string) based on the property-annotationsquick-search: find nodes within a system configuration graphtab-support: edit several system configurations within on designer-instanceproject-support: bundle sets of system configurationsUser-defined component-categories (to use them, just annotate the class with the ConfCategory-annotation).Image-exporting of configuration-graphsVarious usability improvements (improved key bindings, fit-to-view, linking this website into the help-menu)Background Labels, which are intended to help to get some additional structure into a system graphfixed: deletion of models and connectionsfixed: rerouting of connectionsSupports all current Sphinx4 property types (including arbitrary large component lists)Loads and saves Sphinx4-configuration filesIn place editing of component namesAutomatic graph layoutingGraph serializationAutomatic class path parsing in order to find all available ConfigurablesCompletely instantiation free modelingSystem instantiation and evaluation directly within the designer, including online configuration changesThe CTRL-key needs to be pressed for zooming and in order to connect nodes which is confusing and not necessary