In this thesis, we are interested in the ReactiveML language, which extends ML with constructs inspired from synchronous languages. The idea of these languages is to divide the execution of a program into a succession of discrete logical instants. It results in a deterministic model of concurrency that can be compiled to sequential imperative code. The main application domain of ReactiveML is discrete simulation, for instance of sensor networks. We focus here on the problem of large scale simulation that raises two questions: can we program such simulations easily and modularly? can we execute them efficiently? We answer the first question by proposing an extension of the synchronous model called reactive domains. It allows the creation of local instants, invisible from the outside. It enables temporal refinement, that is, to replace an approximate model of a system with a more detailed version without changing its external behavior. We describe the formal semantics of this construct as well as static analyses, presented as type-and-effect systems, to ensure the soundness of programs in the extended setting. Our second contribution is several parallel implementations of the language to allow the scaling of simulations. We first describe an implementation based on threads communicating by shared memory and using work stealing, and then a second one based on processes communicating by message passing.