簡介
AmbientTalk是對面向移動計算的一個範例。移動硬體(如手機)大多配備了無線網路,允許它在它的環境與附近的設備。然而,由於無線網路連線是不穩定的(基本上是:當設備移動的無線覆蓋範圍,連線滴),網路故障發生更加頻繁,比傳統網路。面向環境的編程範式的基本假設是,語言應該納入網路故障,在他們的編程模型的核心,而不是當作“例外”。
比利時布魯塞爾自由大學Tim Van Cutsem的試驗性語言AmbientTalk――以環境為導向的編程,它與傳統的分散式計算方式有兩個方面的主要區別,其一,它不依於中央網路,其二,它基於網路連線是不穩定的和無法預知的。
特點
它採用一個純粹的並發事件驅動框架,對演員的成立。
它放棄的RPC的異步,非阻塞的訊息傳遞抽象的青睞。由於系統會自動斷開緩衝這樣的訊息,而訊息接收者,程式設計師可以從臨時網路故障的抽象默認情況下。
它具有內置對象程式語言構造,發現在當地特設網路。同行等服務發現建成的語言。
它採用基於原型的編程(根據計畫,自我和Smalltalk)後的原則,建立一個動態的面向對象的核心語言。核心語言支持的反射鏡,提供廣泛的元對象協定的訪問,從自身內部的語言擴展。
語言的語法派生主要從“大括弧”家庭語言,但它從Smalltalk keyworded訊息的語法混合以及。這一點,連同AmbientTalk輕量級塊語法,使您可以輕鬆地建立自己的控制結構。像許多其他的動態和功能性語言,AmbientTalk擁抱來表達高階,功能模式塊。
目前實施的AmbientTalk擁抱作為一個平台的JVM。它很容易為AmbientTalk方案使用Java庫,它很容易使用Java對象作為嵌入式腳本語言!AmbientTalk。這種互動是安全的:即使當AmbientTalk對象是“暴露”給JVM,JVM的執行緒可以在不違反並發約束AmbientTalk的角色模型。