moa-flow – workflow API for MOA

Am I into workflows? Probably… 😉 Been working on my ADAMS workflow framework for over ten years now and on Tuesday, I put together another simple one: moa-flow

On the weekend, I for once came across something useful on my LinkedIn stream (not the usual inspirational yawners), Reactive Programming with JDK 9 Flow API, which is basically a publish/subscriber framework.

Instead of playing around with fake data, I though thought that MOA’s streaming chops would be a perfect candidate to try out this framework. It turned out to be really easy to create operators and the slap them together, sorry, I mean use subscription. This allows you to nicely generate a tree structure of operators: generating data, evaluating algorithm, plotting metrics, saving stats to CSV, storing trained model on disk. You only had to be careful that you didn’t generate data faster than you can consume, but that was easy enough to mitigate.

After talking to the MOA guys yesterday, I’ve turned it into a multi-module Maven project for easy extension and also added .zip and .deb generation. There is no user interface available, but you can just use the Scripting tab/page in MOA to put your operators together and then execute them.

And that probably already concludes my direct involvement with the project, as I’ve handed it over to the MOA guys for further development (they already have some ideas on what to use it with).

Will be interesting to see how it will evolve…. 🙂