Utility Features

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