Gruple
Summary
Description
Gruple is concurrent/parallel programming library written in Groovy, providing simple programming models for complex multi-threaded tasks. It is complementary to the gpars project. At its core, Gruple provides an in-process tuplespace abstraction to enable a JavaSpaces-style programming model for communication and coordination among threads. Thanks to Groovy, Gruple's pattern matching is far superior to any Java TS implementation. A remote implementation allowing coordination among distributed processes is planned for a future release. In addition, a thread- and event-based actor DSL on top of the TS abstraction is planned in order to allow anonymous actors. This will enable far greater scalability of actor systems than the current schemes of addressing a message directly to a known and existing actor. The current release implements an in-memory tuplespace, with basic operations (put, get, and take.) See the Overview page for an introduction to the project, and the TuplespaceUsage page for documentation. Also be sure to try the Demos Transactions are currently in development. See the Project Roadmap for other planned features. Number of Developers: 1 Maturity of Project: First complete code commit, Oct 2, 2009. Used by External Parties: no information available. The site has visitors on a regular basis, but I do not know if anyone is using it. I get queries about it from others interested in concurrency/parallel programming, but these are usually theoretical conversations about complementary work. The project does not have a high profile as I have not much skill in evangelizing (I can't afford to speak at conferences, etc.) Competitors: - gpars is a complementary project, not really competition, though you could call it that if you like. It is hosted at Codehaus and is a concurrent programming toolkit. There is some talk of merging at least part of Gruple with gpars if migration to Codehaus does not work out. - Java implementations of tuple spaces, e.g. JavaSpaces, GigaSpaces, Blitz. Semispace is the most interesting competitor because it strives for transparency between local and remote space programming as Gruple aims to do. It is written in Java and relies on Terracotta. It does not have the kind of pattern-matching power of Gruple -For anonymous, self-organizing actors, there is no competition. It was the impetus for the project--to create a new concurrent/parallel programming model. Actors in languages like Scala and Erlang are named. You can only send a message to an actor whose name/address you know and that is currently active. In Gruple, you will essentially send a message to any actor suited to receive and act on it. This will scale *much* better than previous models. Note that the documentation on the Wiki refers to the latest SVN code, not the bundled download. There is only one tiny difference, namely the name of the space manager has been renamed to Spaces from SpaceService. I hope all that helps. The current repository is SVN, so I will need to convert to use Git. I've been told it is possible/straightforward.
-
- Key:
- GRUPLE
Issues: Unresolved
Issues: 30 Day Summary
Issues: 0 created and 0 resolved