just FYI, it looks like boost provides a to_string function for uuids (lexical cast not needed)

in any case, if simulations are run as separate instances, how do we guarantee no (or very small chance of) collision of uuids?