Designing Distributed Applications Using a Phase-Aware, Reversible System | IEEE Conference Publication | IEEE Xplore