views:

591

answers:

2

Is there any good implementation of actors concurrency model for .net/c#?

I have to optimize a c# routine and i think that actors model fits perfectly as a solution for my problem. Unfortunately i have experience only with scala implementation.

+2  A: 

I don't know of any implementations for C#, but there's a whole new programming language based on the Actor model by Microsoft. It's called Axum:

Axum (previously codenamed Maestro) is a domain specific concurrent programming language, based on the Actor model, being developed by Microsoft. It is an object-oriented language based on the .NET Common Language Runtime using a C-like syntax which, being a domain-specific language, is intended for development of portions of a software application that is well-suited to concurrency. But it contains enough general-purpose constructs that one need not switch to a general-purpose programming language (like C#) for the sequential parts of the concurrent components.

Anton Gogolev
Thanks for your answer. Axum seems interesting but at first sight i think a c# option would fit better to my problem.
Borba
+3  A: 

You should have a look at MS Concurrency & Coordination Runtime (CCR) and the Decentralized Software Services (DSS). You find it here: http://www.microsoft.com/ccrdss/

These frameworks would allow you develop loosely coupled services that fulfill most of the actor-approach requirements.

Axum would be the best fit, unfortinately it's still in some sort of alpha/beta phase. I use it for my research and must say that the general direction is great and it has enormous potential.

Not C# but C++ is Microsoft's Asynchronous Agents Library which gives you all the features that you need. http://msdn.microsoft.com/en-us/library/dd492627%28VS.100%29.aspx

Have a good look at http://msdn.microsoft.com/en-us/concurrency/default.aspx there are a lot of changes in the upcoming .Net 4 / VS 2010 releases!

Hope it helps!

alex25
and I found this here: http://code.google.com/p/retlang/
alex25
thanks for your comprehensive answer.
Borba