The backend primarily consists of device drivers. However, since we implement an abstract interface between the Backend and the Body, we have added flexibility. Drivers can be in a single process or more than once process (as long as they implement the protocol described in the Backend_Interface). The drivers can also be replaced by a simulator, that mimics the protocol, but simulates the data. Other processes can also use the Backend Interface. For example, a monitor process can silently receive all the packets that go across the backend interface and display the data. Or we can log all the data for postprocessing playback.
