The State of Axum

Those who have followed this blog will have noticed that it’s been a long time since we posted anything new about Axum, and the time has come to state publicly that which may have been clear to some but not others, that we’re not currently pursuing productization. We have seriously examined the possibility of releasing…

12

“The rumors of my death have been greatly exaggerated!”

Thus quipped the great writer Mark Twain after a newspaper supposedly prematurely published his obituary, and it seems oddly relevant to Axum right now. In this post on the Axum Forum, an Axum fan asks whether the language effort is dead or not. Let me say that it is more a question of hibernation than…

6

The Mechanics of Messaging in Axum

This article is in response to some great commentary from someone writing under the screen name “sylvan” over on the Channel 9 site: This is pretty cool, but I think the semantics are overly complicated. I couldn’t say that I know of a better way of doing it off hand, but I feel that there…

8

The First Axum Bits Are Now Available

  It gives me great pleasure to announce the availability of our Axum technology preview at the MSDN DevLabs site. I have been working on this project off and on for several years, and for the last 18 months or so, I’ve had good company from Artur Laksberg and Josh Phillips. It has been a long…

13

Asynchrony

We rarely speak of parallelism when discussing Axum, because you very rarely think about it when designing or writing an Axum application. Instead, you write a bunch of components which are all single-threaded and have them send messages to each other asynchronously; efficient use of parallel hardware comes from running many Axum agents simultaneously. In…

2

Empty / Full Storage

Axum has a couple of storage modifiers not found in most other languages (although several languages incorporate futures and / or promises, similar concepts). Axum has three modifiers that are useful mostly with concurrent algorithms, for synchronization between agents within a domain or between interleave branches within an agent. For inter-domain synchronization, channels remain the…

10

Distributing an Axum Application

Note: a variant of this text also appears in the Axum Programmer’s Guide, which will be distributed with the upcoming CTP. Axum has great support for writing distributed applications. In fact, one of the reasons for taking such a hard line on isolation is so that domains can interact locally or remotely with no change…

5

Objects in Axum

When we talk about Axum as a programming language, we make the point that it is not an object-oriented language, but that it is still object-aware. What do we mean by this, and is it really true that you cannot define objects with Axum? What we mean is that the core concept of Axum is…

29

Channels

Disclaimer:  The Maestro project has been renamed.  While referred to in this article as ‘Maestro’, moving forward the project is referred to with codename ‘Axum’. Given a programming model such as Maestro, where components are strictly isolated from each other, we have to ask how components communicate with each other. Clearly, without some form of…

9

Isolation in Maestro

Disclaimer:  The Maestro project has been renamed.  While referred to in this article as ‘Maestro’, moving forward the project is referred to with codename ‘Axum’. Copied from ‘Concurrently Speaking’  As noted in the Dr Dobb’s article, Maestro is primarily about establishing isolation domains so that we can cut down on the number of undocumented dependencies…

11