ELTE logo ELTE Eötvös Loránd University
ANNALES Universitatis Scientiarum Budapestinensis de Rolando Eötvös Nominatae
Sectio Computatorica

Volumes » Volume 37 (2012)

https://doi.org/10.71352/ac.37.019

Rapid prototyping for distributed D-Clean using
C++ templates

Viktória Zsók and Zoltán Porkoláb

Abstract. Earlier we have designed two coordination languages, \(\sf{D}\)-\(\sf{Clean}\) and \(\sf{D}\)-\(\sf{Box}\) for
high-level process description and communication coordination of functional programs distributed over a cluster. \(\sf{D}\)-\(\sf{Clean}\) is the high level coordination language for functional distributed computations. The language coordinates the pure functional computational nodes required by language primitives, and it controls the dataflow in a distributed process-network. In order to achieve parallel features, \(\sf{D}\)-\(\sf{Clean}\) extends the lazy functional programming language \(\sf{Clean}\) with new language primitives. Every \(\sf{Clean}\) construct generates a \(\sf{D}\)-\(\sf{Box}\) expression. \(\sf{D}\)-\(\sf{Box}\) is an intermediate level language and describes in details the computational nodes hiding the low level implementation details and enabling direct control over the process-network. Practical experiences of the two language usage showed the difficulties of distributed program development, especially in testing and debugging. This paper aims to provide software comprehension application for a better way of understanding and utilizing the \(\sf{D}\)-\(\sf{Clean}\) language. Here we provide a new modeling approach of the coordination language elements and a new view of the \(\sf{D}\)-\(\sf{Clean}\) distributed system behaviour using \(\sf{C}\)++ templates. The strong type system of \(\sf{C}\)++ templates guarantees the correctness of the model. Using templates we can achieve impressive efficiency by avoiding run-time overhead.

Full text PDF
Journal cover