AmbientTalk ベルギー、ブリュッセル大学のソフトウェア言語研究所で開発された実験的なオブジェクト指向の分散プログラミング言語です。この言語は、主にモバイルアドホックネットワークに配備されたプログラムの作成を対象としています。
AmbientTalkは、新しい言語機能やプログラミング抽象概念を試して、断続的な接続性と少ないインフラストラクチャを示す非常に不安定なネットワークで実行する必要があるソフトウェアの構築を容?にするリサーチプラットフォームです。
言語の並行処理機能はアクターモデルに基づいており、Eプログラミング言語の影響を強く受けています。言語のオブジェクト指向機能は、Smalltalk(ブロッククロージャ、キーワード?きメッセージ)やSelf(プロトタイプベースのプログラミング、委任)などの言語に影響を与えます。最後に、この言語には、SchemeとPicoに触発された機能的なコアがあります。
AmbientTalkのメインストリーム言語との主な違いは次のとおりです。
·アクターに基づいた純粋なイベント駆動型並行性フレームワークを採用しています。· RPC抽象化を放棄し、非同期の非ブロッキングメッセージパッシングを優先します。メッセージの受信者が切断されている間、システムはそのようなメッセージを自動的にバッファーするので、プログラマーはデフォルトで一時的なネットワーク障害から抽象化することができます。
·オブジェクトにローカルなアドホックネットワークで互いに発見するための組み込みプログラミング言語構造を持っています。ピアツーピアサービスの発見は言語に組み込まれています。
·プロトタイプベースのプログラミングの原則に基づいて作成された動的なOOカーネル言語を特長としています。カーネル言語は、広範なメタオブジェクトプロトコルへのアクセスを提供するミラーを使用したリフレクションをサポートし、言語をその内部から拡張することができます。
·言語の構文は、主に中括弧のファミリーから派生していますが、Smalltalkのキーワードによるメッセージング構文にも含まれています。これは、AmbientTalkの軽量ブロック構文と共に、独自の制御構造を簡?に構築することを可能にします。· AmbientTalkの現在の実装では、JVMをプラットフォームとして採用しています。 AmbientTalkプログラムではJavaライブラリを使用するのは簡?ですが、JavaオブジェクトでAmbientTalkを組み込みスクリプト言語として使用するのは簡?です。この相互作用は安全である。すなわち、AmbientTalkオブジェクトが「公開されている」場合でも、 JVMスレッドは、AmbientTalkのアクターモデルの並行性制約に違反することはできません。
AmbientTalkは、J2SE、J2ME、接続デバイス構成(CDC)、およびAndroid 2.1プラットフォームで動作します。
アプリケーションの詳細:
コメントが見つかりません