Inspirel banner

Programming Distributed Systems with YAMI4

1.2.1 Non-intrusiveness

Some of the communication libraries assume particular settings of the execution environment - like thread priorities or signal handlers - and if the existing ones are not as expected, the libraries just modify them. In simple programs this is usually not a significant issue, but within more complex systems arbitrary modifications of system settings might conflict with the expectations of the other components. As a practical example, one popular communication library had to be manually hacked when it became apparent that it arbitrarily messed with thread priorities of the containing process, which happened to be deployed in the embedded real-time system, where thread priorities were already carefully configured in order to achieve the desired run-time guarantees of the whole.

YAMI4 is non-intrusive.

The YAMI4 library does not assume anything particular with regard to its execution environment and does not modify the settings of the containing process. This means that YAMI4 can be safely used in those demanding contexts where other parts of the system have their own requirements and can be configured appropriately without any risk of interference.