orb-lite

Orb-lite is a library and protocol to facilitate communication in (soft) real-time systems of medium complexity. Orb-lite implements a network service called an "orb," which is a sort of information clearing-house or network data hub. Clients connect to the orb, and can then (1) send data packets to the orb, each packaged up as an "object" of a specific type, and (2) "subscribe" to a set of data types; the orb will then forward all data objects of that type to the subscribing client.

Use of Orb-lite can greatly simplify software systems where interconnected components both produce and consume heterogenious data types. Orb-lite was developed for use on an Unmanned Aerial Vehicle (UAV) where system components included GPS, Inertial Reference Device (aka gyroscopic attitude sensor), temperature sensors, periscope control motors, microbolometric infrared camera, telemetry connection, and other sensors and actuators. Orb-lite reduced the interconnection topology from an all-to-all can of worms (with each of the O(n2) connections using a unique protocol) to an elegant all-to-one, single protocol topology, resulting in vastly increased robustness and flexibility.

Note: while this system bears superficial resemblance to CORBA, it is in not directly related and it serves a slightly different purpose. It is also far less complex.

code

Unfortunately the code is at this time proprietary. However, the ideas are not, and I hope that this idea may be of use to others.


Copyright © 2003 by Tobin Fricke