Distributed Applications Implemented in Maude with Parameterized Skeletons [chapter]

Adrián Riesco, Alberto Verdejo
2007 Lecture Notes in Computer Science  
Algorithmic skeletons are a well-known approach for implementing parallel and distributed applications. Declarative versions typically use higher-order functions in functional languages. We show here a different approach based on object-oriented parameterized modules in Maude, that receive the operations needed to solve a concrete problem as a parameter. Architectures are conceived separately from the skeletons that are executed on top of them. The object-oriented methodology followed
more » ... s nesting of skeletons and the combination of architectures. Maude analysis tools allow to check at different abstraction levels properties of the applications built by instantiating a skeleton. Most interesting computer systems today, as well as those of the future, are distributed in nature, including the Internet, cellular and PDA communications, biological and bio-tech computations, international trade, multi-national corporate databases, and multi-user games. The main goal of a distributed computing system is to connect users and resources in a transparent, open, and scalable way. Ideally this arrangement is drastically more fault tolerant and more powerful than many stand-alone computer systems. Parallel algorithms divide the problem into subproblems, pass them to many processors and collect the results back together at the end. An algorithmic skeleton [3, 14] is an abstraction shared by a range of applications which can be executed in a parallel way. The aim is to obtain generic schemes that allow parallel programming where the user does not have to handle low level features like communication and synchronization. A skeleton can be executed on different architectures/topologies. However, there is often a most suitable architecture for each skeleton that takes advantage of the task distribution specified by it. In our implementation we have opted Research supported by MEC Spanish project DESAFIOS (TIN2006-15660-C02-01) and Comunidad de Madrid program PROMESAS (S0505/TIC/0407).
doi:10.1007/978-3-540-72952-5_6 fatcat:ey2qcmfqtzhubeub2mihjf5y3y