Systematic Evaluation of Three Data Marshalling Approaches for Distributed Software Systems


Cyber-physical systems like robots and self-driving vehicles comprise complex software systems. Their software is typ- ically realized as distributed agents that are responsible for dedicated tasks like sensor data handling, sensor data fusion, or action planning. The modular design allows a flexible de- ployment as well as algorithm encapsulation to exchange software modules where needed. Such distributed software exchanges data using a data marshalling layer to serialize and deserialize data structures between a sending and receiving entity. In this article, we are systematically evaluating Google Protobuf, LCM, and our self-adaptive delta marshalling ap- proach by using a generic description language, of which instances can be composed at runtime. Our results show that Google Protobuf performs well for small messages composed mainly by integral field types; the self-adaptive data mar- shalling approach is efficient if four or more fields of type double are present, and LCM outperforms both when a mix of many integral and double fields is used.

Proceedings of the 15th Workshop on Domain-Specific Modeling (DSM)