The Rosetta Stone architecture and associated libraries and tools support a number of different use-cases related to enabling interoperation (w.r.t. data type s and serialization mechanism s) of systems. The following sections briefly explain these use-cases.



Code Generation

An important use-case of the Rosetta Stone toolchain consists in generating code to be used by given system components to enable interoperation (w.r.t. data types and serialization mechanisms) with other system.

More concretely, the Rosetta Stone system contains a compiler component which reads data type definitions (specified in some IDL), has knowledge regarding serialization mechanisms and generates code in several programming languages for components to use.

For example, a C++ component which uses Google Protocol Buffers data types to communicate with other components could be enabled to interoperate with a ROS-based system by generating code with the following characteristics:

programming language


data holder s

Look like generated by the protocol buffer compiler.


Supports the ROS serialization mechanism


As a special case of the code-generation use-case, the generated code can implement mapping between different data type s and/or serializatin mechanism s. In the context of the Rosetta Stone project, a mapping connects a data holder and a wire-schema.

Table Of Contents

Related Documentation

This Page