The Map-Join-Reduce programming model effectively supports the join operation among different heterogeneous data sets by adding the Join module and processes the multiway joining directly. In this paper, we propose a rigorous description of the Map-Join-Reduce that performs as an executable specification. First, this paper briefly introduces the differences between the Map-Join-Reduce and the MapReduce. Then, we use Haskell to specify each module of the Map-Join-Reduce programming model and analyze the structure and function of each module. Finally, we test the specification by analyzing an example of the mall sales records. The executable specification contributes to helping the developers to unscramble the relationship between the MapReduce and the Map-Join-Reduce, which may serve as a basis for further development of the theory of related programming model design. Furthermore, the most important function of an executable specification is guaranteeing the target informal or semi-formal model with interesting properties. This paper is a forward step to prepare for verifying related properties and, even, providing verified prototypes. INDEX TERMS Cloud computing, executable specification, programming model.