Description
Algorithmic skeletons are a well-known approach for implementing distributed applications. Declarative versions typically use higher-order functions in functional languages. We show here a different approach based on 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 facilitates nesting of skeletons and the combination of architectures. Maude analysis tools allow to check properties of the applications built by instantiating a skeleton at different abstraction levels.
Papers:
Maude Specifications and Samples
Configuration
Buffered sockets
Common infrastructure
Star architecture
Ring architecture
Centralized ring architecture
Sequential implementations
Replicated workers skeleton
Replicated workers with fixed data
Systolic ring skeleton
Branch & Bound
Divide & Conquer
Pipeline