Framework Comparison » History » Version 17
« Previous -
Version 17/38
(diff) -
Next » -
Current version
J. Moringen, 06/12/2011 07:12 PM
Integrated RPC criteria from http://msgpack.org/
ROS Comparison¶
Scope¶
Please note: We are comparing RSB against roscore (or even ros_comm?) not against ROS!
and YARP_OS?
Functional Differences¶
Aspect | ROS | YARP | RSB |
Pub/sub Topology | 1:1 | m:n | m:n |
Abstraction | single level | single level | hierarchies |
Channel Identifier | Topic | Scope | |
Channel Scope | Flat | Scope | Hierarchical |
Origin Filtering | ? | Scope | planned |
Typing | strong | Scope | strong-ish |
IDL | yes, proprietary | Scope | optional |
QoS | implicit | Scope | explicit |
Introspection | strong | Scope | implicit by multicast |
Centralized | yes (master, param server) | Scope | no |
Communication Patterns¶
Aspect | ROS | YARP | RSB | |
Push-receiver | yes | ? | yes |
Pull-receiver | ? | ? | yes |
RPC Features¶
Aspect | ROS | YARP | RSB | |
Asynchronous RPC | ? | ? | yes | |
Parallel Pipelining | ? | ? | yes | |
Dynamic Typing | kind-of (schema in header) | yes | no (for Protocol Buffers) | |
Connection pooling | manually configurable | ? | no pooling, but reuse | |
Delayed return | ? | ? | no | |
Event-driven I/O | ? | ? | no (one thread per connection) |
Criteria are based on http://msgpack.org/
Non-functional Properties¶
- Lock-in
- Architecture
- Openness
- Use of standards/terminology
- Protocol Specification
- Source Code Documentation
- Project Layout/Source code organization
- Programming Language Support
Wishes¶
- We believe in the power of reflection and self-description, such that
- a generic content-based subscription model, e.g., with path-based access such as XPath becomes feasible
- messages can be generally understood by everyone even if parts are not accessible
- RSB shall provide better introspection features, both for programmatic access (e.g., for anomaly detection) but also for developers
- Reduced framework lock-in