Share on Facebook Share on Twitter Email
Answers.com

Axum

 
Wikipedia: Axum (programming language)
Axum
Developer(s) Microsoft Corporation
Initial release May 8, 2009
Stable release Community Technology Preview / 2009-05-08; 3 months ago
Operating system Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Platform x86, x86-64 and Itanium
Development status Active
Type Programming Language
Website Axum at DevLabs

Axum (previously codenamed Maestro) is a domain specific concurrent programming language, based on the Actor model, being developed by Microsoft.[1] 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.[2] In Axum parlance, this is referred to as the agents executing in separate isolation domains;[2] objects instantiated within a domain cannot be directly accessed from another.[3] Agents are loosely-coupled (i.e., the number of dependencies between agents is minimal) and do not share resources like memory (unlike the shared memory model of C# and similar languages); instead a message passing model is used.[2] 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 queues which are used to send data to an agent or receive data from one. To co-ordinate the communication between agents, Axum allows each channel to have a user-defined protocol for communication. The protocol is defined as a state machine.[4] The data sent over a channel can be optionally restricted to conform to a certain pre-defined schema. The compiler and runtime will enforce the conformance with the schema.[5] Under the hood, a schema is translated into a serializable .NET class that contains only properties and side effect-free methods.[6]

Axum is currently a prototype with working Microsoft Visual Studio integration.[7] Microsoft has made a CTP of Axum available to the public. However, it has not been decided if and when it will be released as a supported product.[8]

References

External links


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 
Learn More
Aksum (town of northern Ethiopia)
Ezana
Roots Tonic Meets Bill Laswell (2006 Album by Roots Tonic/Bill Laswell)

Which allowed Axum to remain free in returning a favor? Read answer...
Why did Muslim empires not try to take over Axum? Read answer...
What Christian sect became part of the culture of Egypt Axum? Read answer...

Help us answer these
What is the religion for axum?
What was axums race?
Rise of Axum?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Axum (programming language)" Read more