A Deterministic Notation for Cooperating ProcessesDeterministic parallel FortranDistributed Snapshots: Determining Global States of Distributed SystemsReasoning about program composition