Today, in the v1 specification, we have the following “features”:
• Democratic network – no bus master, no single point of
• Publish/subscribe and request/response (RPC1)
• Efficient exchange of large data structures with
automatic decomposition and reassembly.
• Lightweight, deterministic, easy to implement, and easy
• Suitable for deeply embedded, resource constrained,
hard real-time systems.
• Supports dual and triply modular redundant transports.
• Supports high-precision network-wide time
• The specification and high quality reference implementations
in popular programming languages are free, open
source, and available for commercial use (MIT license).
I would like to propose one more to help guide us especially as we look beyond v1. Namely I would propose we add:
• Rich datatype and interface abstractions – Defines an IDL as a core part of the technology which allows deeply embedded sub-systems to interface with higher-level systems directly and in a maintainable manner while enabling simulation and functional testing.
This is just my first pass at the wording but I think it represents the basic idea. This will become an important design tenet as we consider advanced topics like UAVCAN in simulation, data interchange formats (e.g. for logging and data storage), tunneling, and bridging.