Presenting “RobustO”, a C++ library to create objects able to run in hardware interference environments
Taller Technologies Argentina contributes to the free software community with a new library called “RobustO” that makes software more reliable within compromised environments – areas in which radiation or other electromagnetic interferences (EMIs) can jeopardize data accuracy and consistency.
What impact can EMI have on software? It turns out that under difficult or challenging environmental conditions – such as space, industrial plant operating heavy machinery, or inside a vehicle – some electronic components (microprocessors, memory chips) experience changes at the bit level and, at times, the result can be disastrous. What would happen if the record where the acceleration of a car or an airplane altitude is stored are modified due to some kind of interference? To address this significant issue, Taller Technologies Argentina has created a library providing mechanisms that enables developers to maintain software reliability in such hostile environments. One of the most noticeable benefits to this library is that it requires minimum changes to the existing source code, since it allows the use of basic types and pointers with minimal modification of code.
RobustO uses redundancy of distributed data, thereby maintaining multiple copies (separate from each other) of the same variable. As a result, at the time of getting the value for a given variable, RobustO checks that the stored values have not been modified incorrectly by any type of interference. If any of the values were modified, RobustO fixes the modification in order to always keep copies with the correct value. It is important to maintain separate copies because the effect of the radiation is “regional”. In this way we reduce the effect that radiation can cause on the records as each copy is in a separate region from the other one.
With this exciting new library (released under license Boost 1.0, for commercial use), Taller Technologies continues its commitment to contributions to the free software community.