RTT Dictionary

RTT Dictionary

This page containts a list of terms used in RTT (and Orocos in general).


  • An Activity object executes the ExecutionEngine, which in turn executes programs, state machines, processes, incoming commands, incoming events and finally executes the user code.
  • An activity can be: activity, periodic activity, non-periodic activity, sequential activity, slave activity...


  • Attributes are solely for run-time values.
  • You can alter the attributes of any task, program or state machine. The TaskBrowser will confirm validity of the assignment with 'true' or 'false'


  • Commands are 'sent' by other components to instruct the receiver to 'reach a goal'
  • When a command is entered, it is sent to the component, which will execute it in its own thread on behalf of the sender. The different stages of its lifetime are displayed by the prompt. Hitting enter will refresh the status line.
  • A Command might be rejected (return false) in case it received invalid arguments.
  • A command has a designated reciever.
  • A command cannot, in general, be completely executed instantaneously, so the caller should not block and wait for its completion.
  • But the Command object offers all functionalities to let the caller know about the progress in the execution of the command.
  • Commands are used for actions taking time and setpoints.


  • Components are implemented by the TaskContext class.
  • It is useful speaking of a context because it defines the context in which an activity (a program) operates. It defines the interface of the component, its properties, its peer components and uses its ExecutionEngine to execute its programs and to process commands and events.
  • A task's interface consists of members.

Data-Flow Ports

  • Data-Flow Ports are a thread-safe data transport mechanism to communicate buffered or un-buffered data between components.
  • When a value is Set(), it is sent to whatever is connected to that port. Use Get() to read the port.
  • The advantage of using ports is that they are completely thread-safe for reading and writing, without requiring user code.


  • Events are related to commands, but allow broadcasting of data, while a command has a designated receiver.
  • Events allows functions to be executed when a change in the system occurs.
  • eg. alarms, publishing state changes


  • Members are: Commands, Methods, Ports, Attributes and Properties and Events, which are all public.


  • Methods are used for algorithms and complex configurations.
  • Methods are callable by other components to 'calculate' a result immediately, just like a 'C' function.


  • The peers of a component are the components which are known, and may be used, by this component.


  • Properties are meant for persistent configuration and can be written to disk.
  • Properties are run-time modifiable parameters, stored in XML files..