An Axiomatic Approach to Reversible Computation