Semantics-preserving translations between linear concurrent constraint programming and constraint handling rules