The core of ADAMS is the workflow engine, which follows the philosophy of less is more. Instead of letting the user place operators (or actors in ADAMS terms) on a canvas and then manually connect inputs and outputs, ADAMS uses a tree-like structure. This structure and the control actors define how the data is flowing in the workflow, no explicit connections necessary. The tree-like structure stems from the internal object representation and the nesting of sub-actors within actor-handlers.


Feature Available
Machine learning/data mining WEKA, WEKA webservice, MOA, MEKA, MEKA webservice, CNTK, parameter optimization, experiment generation on-the-fly, setup generators, time series
Data processing WEKA, R-Project, XML, XSLT, XPath, HTML, JSON
Streaming MOA, Twitter (record/replay)
Spreadsheets MS Excel (r/w), ODF (r/w), CSV (r/w), Gnumeric (r/w), fixed column (r/w)
Databases MySQL, SQLite, PostgreSQL, HSQL, MSSQL, Sybase, JDBC, MS Access, MongoDB
Imaging ImageJ, JAI, BoofCV, OpenIMAJ, ImageMagick, Gnuplot, LIRE, OCR (tesseract), Barcodes (Zxing)
Graphics support BMP, JPG, PNG, TIF, PDF, RAW (dcraw, ufraw)
Audio WAV, record, playback, spectrograms
Spectral data AniML, CAL, CML, DPT, EEM, JCampDX, MPS, NIR, Opus, Relab, SPA, SPC, SpecLib, spreadsheet-based
Visualization Scatter and line plots, Control charts, Images, video, webcams, GIS (OpenStreetMap)
Scripting Groovy, Jython, Python
Documentation DocBook, HTML
Web HTTP, FTP, SFTP, SSH, Email, Webservices, rsync
Other de/-compression (tar, zip, bzip2, gzip, lzma, xz, zstd), Java code generation

Example flow

  • Horizontal and vertical indicators show how the data flows
  • Each actor has its own icon, since the name can be changed arbitrarily
  • Four types of actors: standalone (red; no input, no output), source (orange; only output), transformer (green; input and output) and sink (greyl; only input)
  • Control actors, i.e., actors that determine the flow of data or flow execution are blue
  • Actors with parameters usually show a so-called quick info on the right-hand side of the name, to give the user an idea how the actor is parametrized without having to open up the dialog with the options.