Distributed Haskell components
Implement support for distributed SCA/Tuscany components written in the Haskell functional programming language.
The project will give students an opportunity to innovate with programming models and different types of program composition: assembly of cooperating components in a distributed SCA composite, and (Haskell) function composition.
Using Haskell to implement SCA components should be particularly interesting as the Haskell functional programming model (idempotent functions, precisely defined inputs, outputs, and dependencies, no or precisely defined side effects) fits well the distributed SOA-type service / operation pattern.
Going one step further, the project could also use Haskell's lazy evaluation to delay/minimize invocations of remote components in a network for example, or show how easy it is to run distributed map/reduce functions using SCA Haskell components.
The project could integrate Haskell with the Tuscany SCA Java-based or SCA C++-based runtimes, depending on the student preference.
Tuscany SCA Native / C++
Tuscany SCA Java