• 沒有找到結果。

Chapter 2 Background and Related Works

2.2 相關研究文獻

2.2.1 XUL (XML User-interface Language)

XUL[11][34]是跨平台(cross-platform)的使用者介面描述語言,一開始是為了使

Mozilla 這個瀏覽器,能夠更容易且快速地開發,而被創造出來的。是一種 以XML 為基礎的使用者介面描述語言,所以具備了 XML 所有的特性與能 力。因此,在XUL 文件中也可以嵌入其他類型的 XML 語言,例如:XHTML、

MathML...[39]等等。

使用XUL,可以去描述大部份圖形化的使用者介面元件,例如:

- 與輸入資料相關的 Text Field' checkbox' textbox...等等。

- 工具列(toolbar)、按鈕(button)。

- 選單(menu)、選單列(menu bar)、跳出式選單(pop up menu)。

- 樹狀結構(tree)、表格(table)。

- 鍵盤快速鍵(keyboard shortcuts)。

- 其他……。

2.2.2 UIML (User Interface Markup Language)

UIML[8][23][31][32]是一個以 XML 為基礎的使用者介面描述語言。是一種位於

抽象層級(abstract level)的使用者介面描述語言,可用來描述任何一種裝置平 台上的使用者介面。因為是以XML 為基礎的使用者介面描述語言,所以具 備了XML 所有的特性與能力。因此,在 UIML 文件中也可以嵌入其他類型 的XML 語言,例如:XHTML、MathML...等等。

UIML 的設計目標(理念):

- 所描述出來的使用者介面跟目的端的裝置平台無關(device independence) - 減少裝置平台上的使用者介面開發時間。

- 將使用者介面部份和邏輯運算部份分開。

- 非專業的程式設計師也能容易地開發使用者介面。

- 能快速地開發出(描述出)使用者介面的雛型。

- 能有效率地透過網路下載使用者介面。

- 安全機制的加強。

- 具有擴充能力。

2.2.3 XForms

在一般的網頁應用程式中(web application),均是透過〝Form〞這個使用者 介面來跟使用者作互動。使用者在Form 中輸入資料,然後資料透過網路被 送 server 端作進一步的處理,然後將處理過後的資訊再透過網路,回傳到 client 端的瀏覽器上顯示出來.。XForms[33]對這樣子的機制提出更進一步的 想法。XForms 希望在網頁中,〝Form〞這樣子的一個使用者介面能:

- 提供更豐富的使用者介面元件。

- 需要使用者提供資料的部份,能夠跟其顯示方式區分開來。也就是說,

〝Form〞這個使用者介面能夠以不同的呈現方式呈現,但都提供相同的 使用者介面語意。

- 使用者所輸入的資料,能夠以 XML 的格式儲存並送出。

- client 端和 server 端彼此間的網路傳輸次數能夠減少。

XForms 是一種 XML 的應用,所以擁有 XML 所有的特性,相對的,也必須 遵守 XML 所有的規範,因此,在 XForms 也可以嵌入其他類型的 XML 語 言,例如:XHTML。XForms 所代表的是〝下一世代網頁應用程式的使用者 介面〞。XFroms 將這樣的使用者介面分成三個部份(參考圖 2-4):

1. XForms model

〝Form〞這個使用者介面的語意,包含需要使用者提供資料的部份。

2. instance data

將使用者輸入的資料,儲存成XML 格式。

3. user interface

〝Form〞這個使用者介面呈現的方式。

[圖 2-4 XForms Model]

2.2.4 JavaML

JavaML[9][37]是以XML 為基礎,以 XML 的方式來描述一份 Java 的原始程式 碼。JavaML 是被設計用來幫助軟體工程的分析。

傳統程式設計師寫程式的方式,是以純文字的方式加上程式設計師自己的運 算邏輯來完成的。以軟體工程的角度,當我們要去分析這一份純文字程式碼 的結構時,需要經過一連串複雜的前置處理,包括語彙分析(lexical analysis)、

語法分析(syntax analysis)、語意分析(semantic analysis),也有可能需要產生 AST(abstract syntax tree)來做分析。在每一個前置階段也都可以搭配不同的 分析工具,來完成所需要的分析工作,但花費的成本不低,結果也未必能滿 意。

因此JavaML 便產生,提供以不同的角度來做軟體工程的分析。首先針對 Java 語言,將Java 的原始程式碼表示成 XML 文件,然後利用 XML 本身具有結 構化的特性,以及現存很多XML 相關的工具,來完成所需要做的軟體分析 工作,這樣的一個過程,所需的成本較低,也往往能獲得較佳的結果。

2.2.5 Adaptive User Interface for Mobile Devices

[1]

提出一個以mobile agent 為基礎的系統架構,在這個架構上的所有裝置(包括 桌上型電腦,行動裝置...等等),其使用者介面都可以靠遊走於這個架構上 的mobile agent 自動轉換產生。使用 XUL 來描述使用者介面,mobile agent 負責依據不同的情況,將XUL 轉換成適當的使用者介面呈現:

- 當使用者所使用的裝置的運算能力夠強,且能執行 Java 程式時(例如:

Java 手機或 PDA),mobile agent 會遊走到該裝置上,並啟動使用 jXUL 這個中介軟體(middleware),將 XUL 轉換成 Java Swing 的使用者介面,

並執行起來。

- 當使用者所使用的裝置的運算能力夠強,但不能執行 Java 程式時(例如:

沒有JVM 的 PDA),mobile agent 會遊走到該裝置上,並使用 XSLT 的轉 換技術,將XUL 轉換成 HTML 或 WML 的使用者介面,並執行起來。

- 當使用者所使用的裝置的運算能力不夠強時(當然也不能執行 Java 程式,

例如:WAP 手機),mobile agent 不會遊走到該裝置上,而是停留在整個 架構中的某台主機上,當做 proxy 來被該裝置使用,該裝置透過網路將 該mobile agent 所轉換好的使用者介面(例如:WML),下載到裝置本身 並執行起來。

2.2.6 Developing Adaptable User Interfaces for Component-based Systems

[3]

Component-based system 是由很多個 software component 所組成的,這篇論 文是特別針對其中具有使用者介面的software component 而提出的。當兩個 以上具有使用者介面的 software component 需要組合起來,形成一個新的 software component 時,這時候便需要考慮這些來自不同 software component 的使用者介面,在組合後,新的software component 的整體使用者介面是否 適合或具有一致性?

這篇論文提出aspect-oriented component engineering 的方式,來完成新的使 用者介面適性化(adaptation),也就是使來自不同 software component 的使用 者介面能夠適當地組合起來,並且具有一致性。在這篇論文中也歸納出四種 使用者介面適性化的類型(extension、composition、reconfiguration、adaptation to user, role and subtask),幫助做更好的適性化的調整。

.

2.2.7 Mobile Adaptive Application for Ubiquitous Collaboration in Heterogeneous Environments

[4]

在異質環境中要進行協同作業,例如甲員工使用桌上型電腦,乙員工使用 PDA,甲乙兩員工要使用同一種應用程式去共同完成一件工作。首先要克服 的便是應用程式呈現的問題,也就是該應用程式的使用者介面在不同裝置上 的呈現問題,因此應用程式的使用者介面需要被轉換。

這篇論文提出一個架構來解決這樣子的問題(參考圖 2-5):

- 在 server 端以 XML 文件來描述應用程式的兩個部份:使用者介面和資 料 (真實資料只有一份,且儲存在 server 端)。

- 在 server 端一開始利用 XML 描述的使用者介面和資料,是以一般性 (generic)的方式描述。

- 在轉換的過程中,使用者介面和資料這兩部份原本的 XML 描述,會再 以XML 的方式針對目的裝置做更準確的表達(device-specific)。

- 最後目的裝置會將之前所產生的 XML 文件轉換成真正可以執行的應用 程式。

經過以上的處理,同樣的應用程式變可以產生不同的使用者介面,在異質環 境中也可以完成協同作業了。

[圖 2-5 User interface data flow (top row) and application data flow (bottom row) result in the application.]

2.2.8

可適性的行動應用程式開發平台 [29]

(An Adaptive Mobile Application Development Framework)

這篇論文提出一個可適性的行動應用程式開發平台,稱為 ART(Adaptive Remote Terminal)。該平台是一 client-server,並且分層的架構,讓程式設計 人員可以快速的發展行動應用程式。基本的概念是將使用者介面與程式邏輯 分開(在這篇論文中利用 XUL 來做使用者介面的描述,使用 Java 語言來描 述程式邏輯),利用桌上型電腦強大的運算能力與手持裝置的便利性,透過 網路將兩者的優點結合並發揮出來。簡單來說就是延伸了手持裝置的計算能 力。

ART 可以方便的新增通訊協定和使用者環境,除了達到可適性的目的外,

也減少了程式開發與移植的功夫。

Chapter 3 XML-based Mobile Application