The list of assignments proposed for Google Summer of Code 2010
Assignment 1 - Software Transactional Memory implementation for Groovy
STM is one of the promising concepts that aim to enable developers to write safe concurrent code. Several promising open source JVM-based implementations have appeared recently - (http://multiverse.codehaus.org/overview.html, http://code.google.com/p/deuce/, http://akkasource.org/). As an initial part of the assignment the existing options should be investigated in order to build a suitable STM strategy for the GPars project. A second part of the assignment would be to implement a Groovy wrapper around the chosen solution, integrating smoothly STM into Groovy and the GPars library as well as providing an intuitive API or a set of DSLs.
Assignment 2 - Evolve the Dataflow Concurrency engine
The main focus of this assignment is to work on the already existing GPars dataflow concurrency implementation and further evolve it to encompass a full dataflow engine, with emphasis on intuitive and consistent API, high performance and smooth interoperability with the other GPars concepts.
Assignment 3 - Document the GPars concurrency concepts
With the gradually increasing adoption of GPars and concurrent programming in general among mainstream developers, we've been constantly hitting the knowledge and terminology barrier, which prevents developers from fully leveraging the powerful concurrency concepts and leaves them with only partial awareness of the available options and their best use. The GPars project would greatly benefit from clear and understandable documentation, including a set of topical tutorials, how-to's as well as an improved User Guide and code samples. Writing these documents as well as coming up with good ways to communicate the principles and their practical use to the GPars users is the main focus of this assignment.