ArmarX provides a set of utility features to aid you in developing new applications:
- Logging
Since one of ArmarX's main principles is distributed processing, ArmarX provides means for distributed logging.
- Exception Handling
ArmarX defines already several exceptions and generates for all exceptions backtraces.
- Profiling
In the premise of state disclosure ArmarX provides profiling capabilities like system usage or statechart usage.
- Shared Memory
Usually, ArmarX uses Ice to connect two processes to each other. But in the case of big data packages (i.e. images) shared memory is the faster way to transfer data between processes.
- Threading
ArmarX is inherently multithreaded and offers therefore easy means to run code in additional threads.
- VirtualTime
ArmarX allows synchronization via a dedicated VirtualTime concept.
- Properties
ArmarX offers a convenient way to parameterize your component via config files with the Properties concept.
- Execution of code when a scope is left
ArmarX offers a macro to execute code on scope exit.
- Component factories
ArmarX offers a way to register components with a name. This name can be used to instantiate the component registered under it.
- Recording and Replaying Topics
It is easily possible to record and replay any topic with ArmarX.
A list of all utility classes can be found here: Utility Features