| 開発者 | マイクロソフト |
|---|---|
| 初登場 | 2009年5月8日 |
| 安定版リリース | コミュニティ テクノロジー プレビュー
/ 2009 年 5 月 8 日 |
| プラットフォーム | x86、x86-64、Itanium |
| OS | Windows XP Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 |
| ライセンス | クローズドソース |
| Webサイト | DevLabs の Axum |
Axum(以前のコードネームはMaestro)は、アクターモデルに基づいたドメイン固有の 並行 プログラミング言語であり、 2009年から2011年にかけてMicrosoft [1]によって積極的に開発されていました。[2]これは、 Cのような構文を使用する.NET共通言語ランタイムに基づくオブジェクト指向言語であり、ドメイン固有言語であるため、並行性に適したソフトウェアアプリケーションの部分的な開発を目的としています。しかし、並行コンポーネントの順次部分のために汎用プログラミング言語(C#など)に切り替える必要がないように、汎用構造が十分に含まれています。[1]
Axum でのプログラミングの主なイディオムはAgent (またはActor ) で、これは他の Agent と並行して実行される分離されたエンティティです。[3] Axum の用語では、これは別々の分離ドメインで実行されるエージェントと呼ばれます。[3]ドメイン内でインスタンス化されたオブジェクトは、他のドメインから直接アクセスすることはできません。[4]エージェントは疎結合されており (つまり、エージェント間の依存関係の数は最小限です)、メモリなどのリソースを共有しません ( C#や同様の言語の共有メモリモデルとは異なります)。代わりに、メッセージ パッシングモデルが使用されます。[3]エージェントを調整したり、エージェントに別のエージェントのリソースを要求させたりするには、明示的なメッセージをエージェントに送信する必要があります。Axum はこれを容易にするためにChannelsを提供します。
チャネルは、エージェントインスタンス間の通信のための方向性のある経路とみなすことができます。チャネルオブジェクトのメンバー関数は、エージェントインスタンスにバインドされた後、そのインスタンスとの通信に使用できます。チャネルには、エージェントにデータを送信したり、エージェントからデータを受信したりするために使用されるキューである入力ポートと出力ポートが含まれています。エージェント間の通信を調整するために、Axum では各チャネルに通信用のユーザー定義プロトコルを持たせることができます。プロトコルは、ステートマシンとして定義されます。[5]チャネルを介して送信されるデータは、オプションで、特定の定義済みスキーマに準拠するように制限できます。コンパイラとランタイムは、スキーマへの準拠を強制します。[6]内部的には、スキーマは、プロパティと副作用のないメソッドのみを含むシリアル化可能な.NETクラスに変換されます。 [7]
Axum プロジェクトは、 Microsoft Visual Studioとの統合が機能するプロトタイプの状態に達しました。[8] Microsoft は Axum のCTP を一般に公開していましたが、 [9]これはその後削除されました。Microsoft は Axum をプロジェクトにしないことを決定しましたが、[2] Axum の背後にあるアイデアの一部は、.Net 4.5 の TPL データフローで使用されています。
参考文献
- ^ ab 「Maestro: 並行プログラミングのためのマネージドドメイン固有言語」。Channel 9。 2009年4月7日時点のオリジナルよりアーカイブ。2009年4月16日閲覧。
- ^ ab 「アクスム州」。ニクラス・グスタフソン。2011 年 2 月 28 日に取得。
- ^ abc Philips Joshua。「他のモデルについても忘れてはいません。本当です!」MSDNブログ。2009 年 5 月 8 日時点のオリジナルよりアーカイブ。2009年 4 月 16 日閲覧。
- ^ Niklas Gustafsson. 「Maestro での分離」。MSDNブログ。2009 年 5 月 8 日時点のオリジナルよりアーカイブ。2009年 4 月 16 日閲覧。
- ^ Niklas Gustafsson. 「チャネル」。MSDNブログ。2009 年 4 月 26 日時点のオリジナルよりアーカイブ。2009 年 4 月 16 日閲覧。
- ^ Joshua Philips. 「Axum」. Lang.NET プレゼンテーション。2009 年 4 月 21 日時点のオリジナルよりアーカイブ。2009 年 4 月 20 日閲覧。
{{cite web}}: CS1 メンテナンス: 不適切 URL (リンク) - ^ Niklas Gustafsson. 「Axum のオブジェクト」。MSDNブログ。2009 年 4 月 26 日時点のオリジナルからアーカイブ。2009年 4 月 20 日閲覧。
- ^ 「Axum: Microsoft の並列プログラミング パズルのもう 1 つのピース」。CNetブログ。2009 年 4 月 17 日時点のオリジナルよりアーカイブ。2009 年 4 月 16 日閲覧。
- ^ 「Axum」。MSDN DevLabs。2009 年 5 月 11 日時点のオリジナルよりアーカイブ。2009 年 5 月 9 日閲覧。
外部リンク
- プログラマーガイド
