Design, verification and automatic implementation of correct-by-construction distributed transaction systems in Maude