The Use of Distributed Simulation for the Development of Distributed Software