Updates 2017/03/31

Many little improvements happened across the modules. But the major new additions are better support for generating LaTeX documents and the control center for remote commands. You can now easily launch and monitor flows on remote machines (as long as ADAMS is running and listening, of course). The main use case for the remote command framework is to manage ADAMS instances that run on servers as daemons/services, i.e., in the background without any user interface. Launching ADAMS through scripts as daemons/services has been possible for quite a while now, but the major drawback was to interact with these processes. This is now possible to some extent.


  • The boolean condition of the Breakpoint dialog can be updated at runtime again.
  • The SetPlotContainerValue transformer now handles non-numeric values for X/Y as well, e.g., when using the SimpleFixedLabelTickGenerator.
  • Added some general post-processing to the actor suggestions in the Flow editor, eliminating silly suggestions.
  • Disabled menu items for running/debugging of a flow that is representing a debug view already.
  • adams-spreadsheet: removed implementation of generates() method in the SpreadSheetExtractArray transformer, as the output can be array or element-by-element (the transformer reported the wrong type).
  • The SequencePlotter sink now centers the only data point on X and Y now.
  • The SimplePlot/JFreeChart plugins for plotting row/column in a spreadsheet table no longer fail when selecting a subset of points while containing non-numeric data points.
  • The SequencePlotter and SimplePlot now take (optional) errors into account when generating min/max of X/Y for data points, fitting the complete plot into the viewport when using no fixed X or Y ranges.
  • adams-weka:
    • Modified loading of datasets in the Investigator to avoid file locking issues on Windows.
    • Introduced new Action button in the Weka Investigator to avoid the Save action being disabled when selecting more than one dataset and blocking all other actions.
    • The WekaNewExperiment now materializes any variables attached (e.g., datasets or classifiers) before forwarding the experiment object.
    • The WekaEvaluationValues transformer now works with fake Evaluation objects generated by the WekaSpreadSheetToPredictions transformer as well.
    • The SimplePlot/JFreeChart plugins for plotting row/column in instances table no longer fail when selecting a subset of points while containing non-numeric data points.


  • The DumpStorage/DumpVariables sources now support Properties/Map as output type as well.
  • Upgraded JDBC drivers:
    • sqlite to 3.16.1
    • hsqldb to 2.3.4
    • MySQL to 6.0.6
    • PostgreSQL to 42.0.0
  • adams-maps: Upgraded PostGIS JDBC driver to 2.2.1
  • adams-access: Upgraded MS Access driver jackcess to 2.1.6
  • adams-weka: The WekaSpreadSheetToPredictions transformer now allows to recreate fake Weka Evaluation objects for nominal classes, by using columns that store the class distribution.
  • adams-rats: added support for MANUAL mode for Rat actors; default mode is CONTINUOUS. Useful for one-off operations, actionable through the RatControl control interface.


  • Added conversions for generation key-value pairs: MapToKeyValuePairs and PropertiesToKeyValuePairs.
  • More number conversions: NumberToByte/Int/Long/Float/Double
  • Added transformer for removing a report value based on the supplied boolean expression: DeleteReportValueByExpression
  • Added sink for feeding into Java logging framework: JavaLogging
  • Remote command framework:
    • New interface for managing remote command execution: Remote control center. Available from the main menu Program -> Remote commands sub menu.
    • Added command for sending flow control commands (pause/resume/stop/restart): SendFlowControlCommand.
    • Added command for stopping a remote ADAMS instance gracefully (can stop registered flows first): Stop
    • The RunRemoteFlow command loads a remote flow and executes it, optionally registers it.
  • New color providers for plots:
    • RegExpColorProvider: The plot names are matched against the regexp/color pairs and the regexp that matches determines the color. Useful if the data doesn't arrive in the same order, but you want to get the same color across multiple plots for better comparison.
    • RgbInNameColorProvider: Searches for RGB color definition in the plot name (eg for '#ff0000') which defines the color of the plot.
  • adams-compress: added support for decompressing RAR archives with UnRAR transformer.
  • adams-spreadsheet: added wrappers for array statistics to be applied to numeric spreadsheet row/column.
  • adams-weka:
    • Added the ClassifierCascade meta-classifier, which is inspired by deeplearning, but uses off-the-shelf classifiers as ensemble in each layer.
    • The WekaEvaluationPostProcessor allows the application of post-processors to the collected predictions (eg subrange evaluation).
    • Debugging now has an inspection handler for Weka Evaluation objects.
    • The WekaEvaluationInfo transformer outputs basic information for a Weka Evaluation object.
  • adams-latex: added proper support for generating and compiling LaTeX documents (including BibTeX):
    • NewLatexDocument - creates a new document
    • LatexAppendDocument - appends to the document using a specified code generator
    • LatexCloseDocument - closes a document
    • LatexCompile - copmpiles an LaTeX document (automatically compiles BibTeX files as well)
  • adams-rats: added remote commands GetRatControlStatus and SendRatControlCommand to remotely control Rat actors in flows.
  • adams-random:
    • ArrayRandomize transformer randomizes a copy of an array.
    • The RandomNumberGenerator transformer replaces the incoming token with a random number.
  • adams-spectral-2dim: Added transformer for removing a report value based on the supplied boolean expression: DeleteReportValueByExpression

Have a good weekend!