From Action Systems to Distributed Systems (The Refinement Approach)