BlueWorkforce Middleware

Requirements

Goal and Context

The goal of the BlueWorkforce Middleware (BWM) is to provide an easy to use framework for developing distributed robotic applications.

System Requirements

Must run on all the relevant hardware platforms, i.e. Intel 32-bit and 64-bit, ARM (Raspberry PI). The system will use TCP/IP for networking, and the ZeroMQ (ZMQ) library for message transport, so as to make possible connecting pairs or groups of sockets using the topologies offered by ZMQ.

Application Requirements

The main actors are the nodes. A node is a process running in a box. There may be multiple nodes running on the same box. A node can have multiple ZMQ sockets. Nodes should be identified by some human readable name. Sockets should be identified by some human readable name. There must be a node/socket name resolution layer that allows nodes to connect their sockets to external sockets just by using the human readable name. Nodes should report their status in a standardized way. Nodes shouls accept parameter change commands. Nodes shouls report parameter change events.