The ukuFlow Macroprogramming System

ukuFlow ukuFlow is a workflow engine for wireless sensor networks and energy-efficient networked embedded devices. With ukuFlow, developers model the application logic using processes, or workflows, as programming abstraction. This macroprogramming approach enables domain experts to focus on the application logic, hiding away low-level system issues.

The main goal of ukuFlow is to provide a system that runs entirely in-network. Users first define their process logic using a process editor in an IDE. An off-network converter maps the logic to a compact format, which is uploaded to the network via a serial connection to a sensor node. From there on, the ukuFlow engine takes over by instantiating and running the workflow as specified, with no need for a back-end controlling the execution.

ukuFlow ukuFlow adopts a standard notation called Business Process Model and Notation (BPMN) v2.0, which we extend with a set of abstractions for its suitability to sensor networks. Processes are modeled with the help of an IDE, particularly an open-source Eclipse plug-in enhanced with our toolchain to convert and deploy process into a running sensor network. Want to find out more? Take a look at our current poster (image to the right).

ukuFlow is written in the C programming language. It is implemented using Contiki, therefore it runs on a variety of platforms. We do focus, however, on the MSP430-line of sensor nodes like the TelosB and the Z1.


ukuFlow is available under a BSD license.


The system is split in two parts: the runtime for the sensor network, and the Eclipse Plug-in. The system runtime is available via a public repository at Google Code. The Plug-in can be obtained from here. Or you can obtain a copy on request via email to guerrero@dvs...

Source Code Documentation

We strive to include as much source code (doxygen) documentation as possible. Our nightly builds update all the html files, which can be accessed here.


Workflow Support for Low-Power Wireless Sensor and Actuator Networks (PhD Thesis)
Pablo Ezequiel Guerrero
Technische Universität Darmstadt, Darmstadt, Germany, TU Prints, October 2014
[PDF] [BibTeX]
BPMN2uku - An Eclipse Plugin for Generating ukuFlow’s Code from Business Process Model Notation (BSc. Thesis)
Dang Quoc Hien. Technische Universität Darmstadt, November 2012
[PDF] [BibTeX]
Distributed Network Structuring with Scopes
Daniel Jacobi, Pablo E. Guerrero, Ilia Petrov, Alejandro Buchmann
October 2009
[PDF] [BibTeX]
Design und Implementierung von Scopes für Contiki (BSc. Thesis)
Steffen Kilb. Technische Universität Darmstadt, 2009. German.
Structuring Sensor Networks with Scopes
Daniel Jacobi, Pablo E. Guerrero, Ilia Petrov, Alejandro Buchmann
3rd IEEE European Conference on Smart Sensing and Context (EuroSSC), IEEE Communications Society, Zurich, Switzerland, October 2008
[PDF] [BibTeX]
Workflow Support for Wireless Sensor and Actor Networks
Pablo Guerrero, Daniel Jacobi, Alejandro Buchmann
4th International Workshop on Data Management for Sensor Networks, Vienna, Austria, September 2007
[Conference] [PDF] [BibTeX]
Scoping für Drahtlose Sensornetze
Jan Steffan, Ludger Fiege, Mariano Cilia, Alejandro Buchmann
GI-Fachgespraech Sensornetze, Zürich, Switzerland, Springer, March 2005
[Conference] [PDF] [BibTeX]
Engineering Event-based Systems with Scopes
Ludger Fiege, Mira Mezini, Gero Mühl, Alejandro P. Buchmann
Proceedings of the European Conference on Object-Oriented Programming (ECOOP'02), LNCS 2374, Malaga, Spain, Springer-Verlag, June 2002
[Conference] [PDF] [Slides] [BibTeX]

Progress Reports:

A Workflow Approach for Low Power Wireless Sensor and Actor Networks (Extended Abstract)
Pablo Guerrero
Joint Workshop of the German Research Training Groups in Computer Science, Schloss Dagstuhl, Germany, June 2011
[Summer School] [Proceedings]
Using Workflows as Programming Abstraction for Wireless Sensor and Actor Network Applications (Extended Abstract)
Pablo Guerrero
Summer School on Cooperative Monitoring in Robot and Sensor Networks, Schloss Ebernburg, Germany, August 2008
[Summer School] [PDF] [Proceedings]

The Name

ukuFlow is a compound name, coming from uku ('U'uku is hawaiian for tiny) and flow (from work-flow).

Last updated 22-2-2012
A A A | Print | Contact | Legal note | Search