An Executable Specification of Map-Join-Reduce Using Haskell.

Junqi Ren,Lei Liu,Feng Liu,Wenbo Zhou,Shuai Lu
DOI: https://doi.org/10.1109/access.2019.2891285
IF: 3.9
2019-01-01
IEEE Access
Abstract: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.
What problem does this paper attempt to address?