Axum (programming language)

Source: Wikipedia, the free encyclopedia.
Axum
Community Technology Preview
/ May 8, 2009 (2009-05-08)
Closed source
WebsiteAxum at DevLabs

Axum (previously codenamed Maestro) is a

concurrent programming language, based on the Actor model, that was under active development by Microsoft[1] between 2009 and 2011.[2] 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.[1]

The main idiom of programming in Axum is an Agent (or an Actor), which is an isolated entity that executes in parallel with other Agents.

shared memory model of C# and similar languages); instead a message passing model is used.[3]
To co-ordinate agents or having an agent request the resources of another, an explicit message must be sent to the agent. Axum provides Channels to facilitate this.

Channels can be regarded as a directional pathway to communicate between agent instances. The member functions of a Channel object, after it has been bound to an agent instance, can be used to communicate with it. A Channel contains input and output ports, which are

class that contains only properties and side effect-free methods.[7]

The Axum project reached the state of a prototype with working

CTP of Axum available to the public,[9]
but this has since been removed. Although Microsoft decided not to turn Axum into a project,[2] some of the ideas behind Axum are used in TPL Dataflow in .Net 4.5.

References

External links