About

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.

Features

Feature

Available

Machine learning/data mining

WEKA, MOA, MEKA, parameter optimization, experiment generation on-the-fly, setup generators, time series

Data processing

WEKA, R-Project, XML, XSLT, XPath, HTML, JSON, YAML

Streaming

MOA

Spreadsheets

MS Excel (r/w), ODF (r/w), CSV (r/w), Gnumeric (r/w), fixed column (r/w), Matlab (r/w)

Databases

MySQL, SQLite, PostgreSQL, HSQL, MSSQL, Sybase, JDBC, MS Access, Redis

Imaging

JAI, BoofCV, OpenCV, Gnuplot, LIRE, OCR (tesseract), Barcodes (Zxing)

Graphics support

BMP, JPG, PNG, TIF, PDF

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, Python

Documentation

HTML

Web

HTTP, FTP, SFTP, SSH, Email, Webservices, rsync

Other

de/-compression (tar, zip, bzip2, gzip, lzma, xz, zstd), Java code generation

Example flow

../../images/flow_snippet.png
  • 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.