Sun Inner Circle: (權力核心) 電子報 - 適合商業與技術領袖。 Sun Inner Circle: (權力核心) 電子報 - 適合商業與技術領袖。

Java 技術大躍進,進入微形裝置的世界

Squawk 虛擬機將 Java 技術引進微型嵌入的應用程式之後,開發人員不再需要為小細節而煩惱。

尺寸不斷縮小而功能越來越強大的裝置,在市場上的商機正不斷成長中,主要原因是 1995 年 Java 技術問世以來,電腦平台的定義也不斷演進。數量龐大的計算裝置並非指桌上型電腦、筆記型電腦、伺服器或主機,而是每天使用的小型且資源有限的電子產品和小玩意。

Java這類微型嵌入裝置包括醫療設備、MP3 播放機、智慧卡、汽車的煞車系統、無線射頻辨識 (RFID) 標籤和其他產品,能夠執行特定的功能,也可以組成無限網路 (pervasive network) — 又稱為物聯網 (Internet of Things) — 我們能夠透過這個網路連結、溝通和分享資訊。

隨著傳統裝置和媒體之間的界線消失,微型嵌入的世界很可能成為開發人員下一個探索的先驅領域。

微型裝置具有處理能力,配備記憶體和儲存空間,通常以電池供應電源。然而開發此類裝置需要使用不同的工具、語言、資料庫和應用程式編程介面 (API),不但提高創新的困難度,也會延遲上市的時間。因此對於微型嵌入裝置而言,Java 技術 — 連同該技術的 API 標準語言和工具 —成為極具吸引力的開發工具。

 
Squawk 開發資源
Squawk 專案網站提供工具,可將 Java 植入微型嵌入裝置。您可連結至工程小組、資訊論壇、社群文件的維基系統、錯誤追蹤、開發提醒及其他。
» 現在連結

若要針對微型裝置的開發人員,將 Java 技術的魅力發揮到極致,有時必須在開發人員的裝置或開發人員選擇的標的物上,代其啟動或植入 Java 技術。對於許多開發人員而言,技術植入、除錯、和維護虛擬機 (VM) 的複雜性,向來是嵌入裝置創新和市場成長的一大障礙。

Squawk 專案擴大了 Java 技術的適用範圍
感謝 Eric Arseneau 和 Derek White 帶領的 Sun Labs 研究小組,開發人員能夠利用虛擬機將 Java 語言最佳化,以便符合小型裝置之需。新虛擬機稱之為 Squawk VM,擴大 Java 技術的適用範圍而使得更多裝置採用 Java 技術 — 除了現今常見的手機和 MP3 播放機之外,未來也將用在電動刮鬍刀和烤麵包機上。

Squawk VM 通過 Java 微型版 Information Module Profile (CLDC 1.1 IMP 1.0) 的認證。Squawk VM 提供開發人員的好處包括標準化 Java 語言,以及大家耳熟能詳的工具、資料庫和 API。利用 Squawk 和 Java 工具,能夠免除傳統嵌入式開發工作所面臨的許多難題。透過 Squawk,開發人員能夠利用簡易的 Java 打造應用程式,並針對微型嵌入平台目標所需之性能和必要的應用服務,產生自訂二進位封包,而所有工作的學習曲線幅度都非常小。

簡易性和擴展性能夠產生無限的創新
「這項技術將 Java 原有的優勢 — 尤其是創新和擴展性 — 引進嵌入式開發工作。」 Arseneau 表示,「目前因受制於專利工具的限制,嵌入式領域的開發人員難以學習和使用此類工具。我們希望將 Java 的簡易性、效率性和親和性,延伸到嵌入式開發領域,這樣程式人員就能夠使用 Java 工具和他們已經擁有的知識。」

Squawk VM 幾乎完全以 Java 技術寫成,原始靈感來自於 Squeak 專案 ,該專案的虛擬機以 Smalltalk 語言寫成。Squawk VM 提供一個有趣的平台,讓我們能夠做一些 Java VM 方面的研究。但隨著時間的過去,昇陽研究人員發現,利用 Java 建置 Java 的話,能夠提供非虛擬機開發人員一種更簡單的機制 ,讓開發人員藉此了解如何將 Java 植入新平台。

由於微型嵌入裝置和傳統電腦硬體的特性不同,因此 Squawk 和傳統 Java 虛擬機也有幾個不同點。最重要的差異之一是 Squawk 能夠用來編輯和最佳化虛擬機的核心元件、其他 Java元件、以及預編 (AOT) 位元程式碼。此外 Squawk 還能夠即時 (JIT) 編譯位元程式碼。

Squawk VM 的設計目的在於,讓開發人員能夠在單一虛擬機上使用多項應用程式,甚至能夠將正在作業的應用程式轉移到另一項裝置上。

「Squawk 虛擬機提供符合小足跡規定的 Java,透過該虛擬機,不需經過作業系統,即可直接在中央處理器上執行應用程式。」 Arseneau 說明。由於小型裝置不需要額外資源來支援一般用途的作業系統,因此開發人員不需實驗網路通訊協定等低階服務的各種執行狀態,此類服務通常含在作業系統內。結果不但減少經常費用的開支,同時也提升了應用程式的表現。

Squawk 找到小型裝置的切入點
Squawk VM 的設計目的在於,讓開發人員能夠在單一虛擬機上使用多項應用程式,甚至能夠將正在作業的應用程式轉移到另一項裝置上,結果應用程式能夠在新裝置上,從中斷之處繼續作業。透過 Squawk VM 即可在單一虛擬機上使用多項應用程式,並且更精簡地呈現副檔名為 「.class」 的檔案,因此更能夠善加利用小型裝置的有限資源。

關於轉移作業中應用程式的功能,有一項有趣的案例:當一項裝置發現電池電力不足時,能夠就近找尋電力更高的裝置,以便在電池電力耗盡之前,將正在作業的程式轉移至該項裝置。

在 Sun Labs 的 SPOT (小型可程式化物件技術) 無線感測裝置上加裝 Squawk VM 的首批商業化實施方案,其中之一展示了上述各項功能。昇陽 SPOT 硬體平台屬於小型無線裝置,以電池供應電力,需要編程語言和工具,而 Squawk VM 能夠提供作業系統和軟體應用平台。

模擬器能夠提高開發人員的生產力
Squawk VM 可在所有常見桌上型電腦平台執行,對開發人員而言,此一功能等同提供模擬器的機制。為了提高開發人員的生產力,Squawk 還提供模擬支援。透過桌上型電腦執行 Squawk 的功能,開發人員能夠迅速建立該裝置的模擬器,以便在實際部署前測試應用程式。

例如,Arseneau 指著研究人員的昇陽 SPOT 硬體作業,「桌上型電腦加上虛擬 SPOT 後,不須存取任何硬體,即可移動物件和快速轉換。」 他表示,「這項彈性有助於開發人員縮短上市的時間,我們也能夠累積更豐富的開發經驗。」

由於微型嵌入裝置的記憶體容量通常不足以載入機上 (on-device) 類別檔案 (class file),因此 Squawk 採用分離式虛擬機架構,由桌上型電腦執行類別載入 (class loading),機上執行的工作則如下圖所示:

分離式虛擬機架構

分離式虛擬機途徑是指利用開發人員的桌上型電腦,盡可能提早一次完成絕大部分的工作,而非該裝置開機或啟動時才開始工作,此途徑有助於減少該裝置執行 Java 所需資源的數量。Java 技術擁有嚴密的安全模型,必須加以保留,但可能需要大量資源。開發人員利用桌上型電腦執行作業也有附加利益。

分離式虛擬機架構意指桌上型電腦能夠執行一次性密碼,因此當二進位指令束送達該裝置時,各項物件已經預先計算過了,此舉有助於確保該裝置利用可用之資源,以便盡可能地維持執行效率。Arseneau 表示,提高此執行效率亦有助於開發人員設計更小型、功能更強大的電子工具。

Squawk 以縮小尺寸及提高功能性為目標
Arseneau 與小組成員還在努力加強 Squawk 的性能,希望執行 Squawk 的裝置能夠逐步縮小尺寸,開發人員能夠將 Java 技術運用在更多裝置上。目前 Squawk 需要 512K快閃記憶體,但工作持續進行之後,將可實現 Arseneau 的目標,到時執行 Squawk 只需要 16K 快閃記憶體。

「我們還增加了許多即時功能,」 Arseneau 表示,「也就是說,裝置能夠更精確地回應即時輸入,將更多時間留給重要的應用程式,例如驅動伺服系統。對於汽車的防鎖死煞車系統等裝置而言,此種功能性極為重要。」

在另外一個案例中,Squawk 被植入 LEGO MINDSTORM NXT (樂高機器人) 平台,兒童可以利用這個教育性平台設計和打造機器人,並可設定機器人執行各種動作。LEGO MINDSTORM NXT (樂高機器人) 平台是樂高和麻省理工學院媒體實驗室合作的結晶,因此 Squawk 專案成員必須和 LEGO MINDSTORMS NXT 小組配合。此專案最後可簡化及提升樂高的編程能力,並且釋放所有年齡兒童的想像力。

昇陽的承諾之一是支援 Java 技術的普遍化,微型嵌入裝置採用 Java 技術後,開發人員即可存取 Squawk VM 的完整原始碼,並運用 Java、CLDC 和 IMP 標準,迅速建立 Java VM。Arseneau 希望透過開放原始碼的 Squawk,讓開發人員有機會將 Squawk 和 Java 植入多種平台 (參見邊欄)。

「透過開放原始碼的 Squawk,能夠進一步落實我們擴大 Java 版圖的策略,盡可能在多種微型嵌入裝置採用 Java 技術。」
Eric Arseneau, Sun Labs

開放原始碼能夠帶來大商機
去年昇陽開放 Java 微型版的原始碼,Squawk 等專案因此得以運用經其他裝置驗證有用的代碼。結果 Squawk 迅速符合 Java 的規範 — 這可不是芝麻綠豆的小事,必須通過昇陽要求的將近 11,000 項測試,才能夠獲得 Java 編程語言的認證。

「透過開放原始碼的 Squawk,能夠進一步落實我們擴大 Java 版圖的策略,盡可能在多種微型嵌入裝置採用 Java 技術。」 Arseneau 說明,「開發人員處理僅會少量製造的原型裝置時,可用 Squawk 執行可能不會有其他考量的應用程式。Java 猶如支撐的骨幹,能夠激發出驚人的創新,為開發人員帶來下一個大商機。」

除了 Java 技術的普遍性所帶來的創新應用程式之外,Squawk VM 的可用性也使得開發人員能夠更輕鬆地探索和研究新的可能性,因此縮短了新產品上市的時間。目前超過 10 億支手機已經採用 Java 技術。

然而 Arseneau 認為行動性只是小型裝置的冰山一角。「手機可能有一人一機的限制,」 他表示,「如果開始將日常使用的所有電子產品也包括在內的話,則可能性無窮無盡。」

Arseneau 預期未來數年內,嵌入領域將開發並推出無數的新裝置。「我們已經在接洽研發項目頗為奇妙的一些人 — 例如將感測器置入眼鏡,以便偵測和移除灰塵,或是在機車安全帽內安裝某項裝置,以便在意外發生時撥 911。」 他表示,「我們認為 Java 技術應該會以同樣的方式來提升微型嵌入應用程式,如同該項技術促進通用運算力的成長一樣。」

 
聯絡我們 關於Sun 新聞 活動 人才招募 隱私權 使用條款 註冊商標 Copyright 1994-2008 Sun Microsystems, Inc.