We introduce HONEY; a new specialized programming language designed to facilitate the processing of multivariate, asynchronous and non-uniformly sampled symbolic and scalar time sequences. When compiled, a Honey program is transformed into a static process flow diagram, which is then executed by a virtual machine. Honey's most notable features are: (1) Honey introduces a new, efficient and non-prone to error paradigm for defining recursive process flow diagrams from text input with the mindset of imperative programming. Honey's specialized, high level and concise syntax allows fast and easy writing, reading and maintenance of complex processing of large scalar symbolic time sequence datasets. (2) Honey guarantees programs will be executed similarly on static or real-time streaming datasets. (3) Honey's IDE includes an interactive visualization tool which allows for an interactive exploration of the intermediate and final outputs. This combination enables fast incremental prototyping, debugging, monitoring and maintenance of complex programs. (4) In case of large datasets (larger than the available memory), Honey programs can be executed to process input greedily. (5) The graphical structure of a compiled program provides several desirable properties, including distributed and/or paralleled execution, memory optimization, and program structure visualization. (6) Honey contains a large library of both common and novel operators developed through various research projects. An open source C++ implementation of Honey as well as the Honey IDE and the interactive data visualizer are publicly available.
[1]
Darren Leigh,et al.
The MERL motion detector dataset
,
2007,
MD '07.
[2]
Pascal Raymond,et al.
The synchronous data flow programming language LUSTRE
,
1991,
Proc. IEEE.
[3]
Edward A. Lee,et al.
Advances in the dataflow computational model
,
1999,
Parallel Comput..
[4]
Gilles Kahn,et al.
The Semantics of a Simple Language for Parallel Programming
,
1974,
IFIP Congress.
[5]
Mathieu Guillame-Bert,et al.
Learning Temporal Association Rules on Symbolic Time Sequences
,
2012,
ACML.
[6]
Thierry Gautier,et al.
Programming real-time applications with SIGNAL
,
1991,
Proc. IEEE.
[7]
Henk Corporaal,et al.
Data Flow Computation Models
,
2014
.