dbo:abstract |
Axum (previously codenamed Maestro) is a domain-specific concurrent programming language, based on the Actor model, that was under active development by Microsoft between 2009 and 2011. 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. 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. In Axum parlance, this is referred to as the agents executing in separate isolation domains; objects instantiated within a domain cannot be directly accessed from another. 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. 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. 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. Under the hood, a schema is translated into a serializable .NET class that contains only properties and side effect-free methods. The Axum project reached the state of a prototype with working Microsoft Visual Studio integration. Microsoft had made a CTP of Axum available to the public, but this has since been removed.Although Microsoft decided not to turn Axum into a project, some of the ideas behind Axum are used in in .Net 4.5. (en) |
dbo:developer |
dbr:Microsoft |
dbo:latestReleaseDate |
2009-05-08 (xsd:date) |
dbo:latestReleaseVersion |
Community Technology Preview |
dbo:license |
dbr:Closed_source |
dbo:releaseDate |
2009-05-08 (xsd:date) |
dbo:thumbnail |
wiki-commons:Special:FilePath/Axum_Banner.png?width=300 |
dbo:wikiPageExternalLink |
http://download.microsoft.com/download/B/D/5/BD51FFB2-C777-43B0-AC24-BDE3C88E231F/Axum%20Programmers%20Guide.pdf http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx |
dbo:wikiPageID |
22433033 (xsd:integer) |
dbo:wikiPageLength |
7679 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID |
1119640769 (xsd:integer) |
dbo:wikiPageWikiLink |
dbr:Message_passing dbr:.NET_Framework dbc:Concurrent_programming_languages dbr:Common_Language_Runtime dbr:Object-oriented_programming dbr:Concurrent_programming dbr:Closed_source dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbc:Object-oriented_programming_languages dbr:Windows_7 dbr:Windows_Server_2003 dbr:Windows_Server_2008 dbr:Windows_Vista dbr:Windows_XP dbr:Domain-specific_language dbr:File:Axum_Banner.png dbr:Actor_model dbr:Itanium dbr:State_machine dbc:.NET_programming_languages dbr:Microsoft dbr:Microsoft_Visual_Studio dbr:Shared_memory_(interprocess_communication) dbr:X86 dbr:X86-64 dbr:Community_Technology_Preview dbr:Serialization dbr:Programming_language dbr:Class_(computing) dbr:Queue_(data_structure) dbr:TPL_Dataflow |
dbp:developer |
dbr:Microsoft |
dbp:latestReleaseDate |
2009-05-08 (xsd:date) |
dbp:latestReleaseVersion |
dbr:Community_Technology_Preview |
dbp:license |
dbr:Closed_source |
dbp:logo |
150 (xsd:integer) |
dbp:name |
Axum (en) |
dbp:operatingSystem |
dbr:Windows_7 dbr:Windows_Server_2003 dbr:Windows_Server_2008 dbr:Windows_Vista dbr:Windows_XP |
dbp:platform |
x86, x86-64 and Itanium (en) |
dbp:released |
2009-05-08 (xsd:date) |
dbp:website |
http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx |
dbp:wikiPageUsesTemplate |
dbt:Common_Language_Infrastructure dbt:Infobox_programming_language dbt:Multiple_issues dbt:Notability dbt:Primary_sources dbt:Reflist dbt:Short_description dbt:Release_date |
dct:subject |
dbc:Concurrent_programming_languages dbc:Object-oriented_programming_languages dbc:.NET_programming_languages |
gold:hypernym |
dbr:Language |
rdf:type |
owl:Thing dbo:Language schema:Language wikidata:Q315 wikidata:Q9143 yago:Abstraction100002137 yago:ArtificialLanguage106894544 yago:Communication100033020 yago:Language106282651 yago:ProgrammingLanguage106898352 dbo:ProgrammingLanguage |
rdfs:comment |
Axum (previously codenamed Maestro) is a domain-specific concurrent programming language, based on the Actor model, that was under active development by Microsoft between 2009 and 2011. 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. (en) |
rdfs:label |
Axum (programming language) (en) |
owl:sameAs |
freebase:Axum (programming language) wikidata:Axum (programming language) https://global.dbpedia.org/id/4URdX |
prov:wasDerivedFrom |
wikipedia-en:Axum_(programming_language)?oldid=1119640769&ns=0 |
foaf:depiction |
wiki-commons:Special:FilePath/Axum_Banner.png |
foaf:homepage |
http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx |
foaf:isPrimaryTopicOf |
wikipedia-en:Axum_(programming_language) |
foaf:name |
Axum (en) |
foaf:page |
http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx |
is dbo:wikiPageDisambiguates of |
dbr:Axum_(disambiguation) |
is dbo:wikiPageWikiLink of |
dbr:List_of_concurrent_and_parallel_programming_languages dbr:List_of_C-family_programming_languages dbr:List_of_programming_languages dbr:Concurrent_computing dbr:List_of_CLI_languages dbr:Actor_model dbr:Axum_(disambiguation) dbr:Implicit_parallelism |
is foaf:primaryTopic of |
wikipedia-en:Axum_(programming_language) |