Building reliable distributed applications involving multiple concerns such as security, fault-tolerance or real-time properties still remains a challenge. A \provably correct" formal approach, i.e., using a carefully designed model with a well-deened semantics and an implementation that strictly conforms to the model, brings obvious beneets in terms of reliability and clean design. In this paper, by using the notion of domain to capture partitions in a distributed system, we illustrate that approach on a case-study by showing the diierent formalization steps from model design to implementation. We present a simple distributed programming model called dcp that extends Pict with primitives for remote interaction. dcp makes the distribution of resources explicit while keeping network communications transparent to the programmer. We formalize its implementation in the form of an abstract machine and implement it using standard distributed system technology by integrating seamlessly a distributed runtime with the jonathan object platform which provides support for network transparent communications.