(1.東華大學 信息科學與技術學院, 上海 201620; 2.上海工程技術大學 電子電氣工程學院, 上海 201620)
摘 要:任務計算是一種針對用戶如何與設備和服務進行交互的新模式,用戶可以只關注需要完成的任務,而不必考慮如何去完成。主動任務發現是任務計算的核心,它依賴于上下文,并能自動組合相應的服務完成規定的操作。在構建任務計算模型的基礎上,描述了一種基于上下文依賴的主動任務發現模式,分析了主動任務的結構模型,提出了一種發現任務并執行任務的算法,并通過一個智能教室的應用環境說明了該算法的具體應用。
關鍵詞:普適計算; 上下文依賴; 主動任務; 任務發現
中圖分類號:TP393 文獻標志碼:A
文章編號:10013695(2009)03084303
Contextaware active task discovery for pervasive computing
HUANG Runcai1,2, ZHOU Jiliang1, SUN Daoqing1, CAO Qiying1
(1.College of Information Science Technology, Donghua University, Shanghai 201620, China; 2.College of Electrical Electronic Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)
Abstract:Task computing is mainly involved with how to interact with equipment and services for users. In such new model, user can only concern with the task need to be completed, without having to consider how to complete it. Active task discovery is the key to task computing, which depends on context and automatically relats the corresponding services to complete the given operation. Based on task computing model, this paper presented a new contextaware active task discovery model and analyzed the active task computing model. Finally, raised a good algorithm for discovering and executing task and demonstrated application of the algorithm in an intelligent classroom environment.
Key words:pervasive computing; contextaware; active task; task discovery
任務計算(task computing, TC)是一種針對用戶如何與設備和服務進行交互的新模式,用戶可以只關注需要完成的任務,而不必考慮如何去完成。近年來,任務計算模式被認為是普適計算環境下的首選計算模式[1]。任務計算在用戶真正想做的和環境中有效的設備/服務之間建立關聯。與傳統的個人計算模式相比,任務計算對非專業用戶來說表現出了諸多的優點,可節約所有用戶的時間和精力,特別適合包含很多互連設備的普適計算環境[2]。
普適計算是一個近年來出現且很有挑戰的研究領域。在普適計算中,大量的計算設備嵌入在環境中,對用戶是不可見的,用戶甚至很少需要留意它們,但是它們需要協作并有助于用戶任務的完成。在普適計算環境下,用戶經常會通過一組傳感器、隱身服務器和移動設備來提供大量復雜的服務資源,而這卻為建立普適計算系統帶來了兩個挑戰:如何通過理解用戶行為來滿足用戶的需求;如何利用現有服務和資源來實現這些目標活動。普適計算的特點決定了它應該從面向技術型轉向面向用戶型,系統應能發現用戶的意圖并自動補充用戶未關注的所有技術細節,幫助用戶從一組特定任務中選取合適的任務,主動完成任務的執行[3]。
上下文信息來自多種資源,是普適計算下對任務計算的支撐及環境因素。早期對上下文感知的研究僅僅集中在敏感型信息方面,目前大多數研究內容已經拓展到豐富的上下文模型,包括敏感的、靜態的、用戶供給的以及來自最有用的信息,每種類型的信息均表現出了各自的特點[4]。比如敏感性信息通常是動態的,甚至是噪聲和感知錯誤,而用戶供給的信息開始是可靠的,但是容易過期。任務計算依賴于上下文,主動任務的發現更是依據上下文信息來作出相應的決策,因此,上下文信息對任務計算及主動任務的發現起到了決定性作用[5]。
1 上下文依賴的主動任務模型
任務計算是面向用戶的結構,它使得終端用戶能在開放的、動態的、具有豐富網絡連接的分布式環境中輕松地完成復雜的任務,這種環境中擁有大量的應用、設備和服務。任務計算為用戶提供很多與普適環境進行交互的方式,利用語義Web作為其核心技術,如OWL (Web ontology language)和OWLS。在每個環境中,設備、系統、應用等功能也虛擬為服務,通過服務發現機制(如UPnP),TC客戶端發現這些服務,并獲取它們的OWLS文件作為語義服務描述。利用這些OWLS文件,TC客戶端能使終端用戶及時操作(組合、執行、發布)這些服務[6]。
上下文相關的任務建模方法通過抽象化任務來實現從既定目標的服務中分離出相關項的邏輯關系。由于以下原因,此方法能更好地滿足人們的需求和偏好[7]:
a)任務描述模型能比早期研究中的面向服務模型更好地實現任務的需求和偏好;
b)任務和服務的分離增加了改變任務時的靈活性,改變任務無須改變服務,反之亦然;
c)對用戶隱藏了普適環境下構建嵌入式服務的復雜性。
如上所述,任務與當前的上下文環境聯系緊密,這意味著任務是高度上下文相關的,并且在模型定義時就應當獲取這種關系。因此,這一模型適用于智能空間環境的開發,實現滿足用戶需求和偏好的復雜認知任務(如智能教室、智能家居等)。在這一點上,此模型與早期TC研究中更為直接的計算任務恰恰相反。
1.1 普適環境中的任務
在與普適計算系統進行交互的過程中,用戶通常會涉及到執行任務,而這些任務是通過用戶對自身的需求以及對普適環境中信息的分析而形成的。然而,任務的精確完成和任務的本質在很大程度上受到了實際環境上下文信息(如位置、時間)以及用戶對上下文信息認知程度的影響。本文稱此任務模型為上下文依賴的任務模型。按照先前對上下文的定義,本文所考慮的情況或實體是指在特定環境下連接特定用戶和特定任務的關系,如圖1所示。
在圖1中,列舉了一個依賴于當前上下文(包括用戶狀態)的任務及基本執行情況,但同時上下文經常決定著將要執行的確切任務,并且它在某個特定任務的整個執行期間都將保持動態活躍狀態。
1.2 任務的分解
在建立上下文環境任務概念的合理性基礎上,將概括這一概念以覆蓋更廣范圍的任務描述。例如從廣義上來講一個任務可以被定義為課堂教學,從狹義上來講可以定義為教師講授。同樣,如何應用不同任務的上下文信息將由任務本身來決定。因此任務的實際范圍是由其使用目的來定義的,為了概括,再定義一組相關任務集合,在層級關系中,它們對于上下文信息的依賴性如圖2所示。
在圖2中,為了闡明上下文依賴的任務(如任務課堂教學)可以通過任務1(如教師講解)和任務2(如學生聽講)等分解來得到提煉。而任務1則可以通過任務1.1(如課件講解)和任務1.2(如板書講解)來得到進一步的提煉。在低層是實際任務,這些任務不能再被分解了,例如任務1.1.1(如翻動課件)和任務1.1.2(如播放動畫)。如圖2所示,層級中有三種類型的任務,即整體通用任務(根節點)、任務組成部分(中間節點)和原子任務(葉節點)。另外,個體任務的相關上下文也可以通過任務層級來進行定義。當然,一個任務的上下文相關性也同樣可以應用于這個任務的所有子任務。因此,在圖2中,上下文1(如在講臺上)與任務1相關,也與任務1的所有子任務相關。同樣,上下文1.1(如使用課件)和上下文1.2(如接觸黑板)與任務1.1、任務1.2以及它們的子任務都分別相關。應當注意到,一個任務的上下文可以被應用到其子任務,但反之則不成立,因此,上下文1.1.1(如操作鼠標)只與任務1.1.1相關,而與任務1.1(課件講解)無關。總之,當一個任務被分解為更多目標任務時,相關上下文也會相應地變得更為具體,這是由于子任務自動繼承了其父任務的上下文環境。
1.3 主動任務的模型分析
通過先前所述的上下文相關任務層級概念來對任務進行建模并建立任務之間的關系,每個任務可以進一步分解成為一組子任務(在有組成任務的情況下),或者在原子任務的情況下,可以分解為一組連續活動[8]。一個任務可以由以下詞匯進行描述:
a)TaskID(TI)任務標志號。普適計算應用中惟一任務標志。
b)Taskname(TN)任務名稱。區分任務的字符串,應當容易被用戶理解。
c)TaskinitiatorID(TII)任務的發起者標志號。標志一個任務的發起者,用于鑒別和記錄發起者的合法身份,一般只有初始任務才需要此參數。
d)TaskexecutorID(TEI)任務的執行者標志號。標志一個正在執行的任務實體執行者,用于記錄特定任務的操作歸屬。
e)Taskcontext(TC)任務上下文。在執行任務前必須滿足的先決條件或上下文信息。包括兩種上下文信息:(a)用戶認知上下文信息(如行為知識、情緒狀態、心理條件等);(b)與物理環境相關的信息,如位置、時間、天氣、基礎設施(如用于計算、通信的周邊資源),還有就是物理狀態(如噪聲、光線、壓力等),這些信息可以作為給定任務的參數。
f)Task priority(TP)優先級。決定了運行時任務執行、暫停、重新調度的輕重緩急程度。當任務具有相同的優先級時,那么它們的相對重要程度將由各自的父任務的優先級決定。
g)Task hierarchy (TH)任務級別。標志一個子任務在復雜任務中的分解層次,必要時可以組合還原成原始任務或匯總分析原始任務的總體執行結果,符合普適計算環境的分布式特性。
h)Taskactivity(TA)任務主動特性。是任務定義中的重要組成部分。任務主動性扮演著兩種角色,即主動發現任務所需的資源和服務和有序組織引導任務執行的步驟。
i)TaskstartTime(TST)任務開始時間。記錄任務開始執行的時間點,便于任務的管理和建立任務日志。
j)TaskendTime(TET)任務結束時間。記錄任務執行結束的時間點,以及任務開始時間共同記錄任務的執行時間參數。
總之,據上所述,每個任務定義由10元組成。例如任務1.1的定義如下:
T1.1=(TI1.1, TN1.1, TII1.1, TEI1.1, TC1.1, TP1.1, TH1.1, TA1.1, TST1.1, TET1.1)
2 主動任務的發現機制
2.1 任務的主動特性分析
任務主動特性(TA)的主要目的是通過連接基本資源和服務間的關系來建立組合任務或原子任務[9]。任務的主動特性可通過以下方式進一步分解定義:
a)TaskactivityID(TAI)任務主動特性編號。主動特性的惟一標志,與TaskID相同。
b)Taskactivityname(TAN)任務主動特性名稱。區分不同主動特性,便于用戶理解。
c)Parenttask(PT)父任務。描述不同任務間的關系,特別是父—子任務之間的關系。
d)Taskactivityrequirement(TAR)主動能夠任務需求。表示必需的資源、服務(抽象化的軟件或設備)。應當注意到需求域與任務模型中的上下文域是非常不同的,原因有兩個:(a)上下文描述了任務的周圍環境(如什么),而需求則描述了實現任務所需的資源(如如何);(b)上下文包括了當前環境下所有相關方面的信息,而需求則只包括了環境下相關資源的特定描述。從某種角度上來說,上下文比需求更具通用性。
e)Taskactivityprocedure(TAP)主動任務過程。根據任務是組合任務還是原子任務,此域可以包括兩個不同的值的集合。在原子任務的情況下,過程域包括一系列動作,通過與自動化設備或軟件相關的某些服務來執行這些動作。另一方面,如果TC屬于組合任務,那么此域則將包括葉子任務信息[12]。
通過上述描述,任務主動特性定義如下:
任務主動特性號:1.1
任務主動特性名:教師講授
父任務名:智能課堂
需求:燈光、攝像、計算機、音響、投影、智能板、智能筆
過程:
begin {
(a) 學生刷卡進教室,實現自動考勤;
(b)教師刷卡自動打開多媒體教學設備;
(c)智能攝像系統根據上下文信息在教師、學生、課件、板書中主動切換;
(d)語音系統根據位置上下文主動調節教師、學生的錄音音量和效果;
(e)智能板書自動記錄教師的板書存入文檔;
(f)智能板書系統主動判斷教師板書上下文,及時自動消隱先前板書;
(g)根據課件播放上下文信息,教室燈管自動調節;
}end
通常,一個TA由五元組構成,如上述任務1.1的任務主動性定義如下:
TA1.1= (TAI1.1, TAN1.1, PT1.1, TAR1.1, TAP1.1)
2.2 主動任務的發現
一個合適的任務僅由其相關的上下文信息就可以決定,這便是上下文依賴的主動任務。下面兩種智能教學的例子在一定程度上可以說明這個問題[10]。
情況一 當主講教師拿起智能筆時,智能系統根據上下文信息,主動轉入教師板書狀態,智能板進入工作狀態,攝像系統轉向智能板,燈光自動調節,智能板錄入系統開啟……
情況二 當教師準備提問,語音系統和攝像系統根據教師狀態的上下文信息,自動判斷進入學生錄音和攝像狀態,主動完成任務之間的切換,投影系統可適當進入休眠狀態以便有效保護設備。
因此,在給定上下文信息的前提下,主動任務發現涉及到從整個任務定義中識別出相關任務的過程。通過上述提出的任務模型,可以主動發現任務,并有效及時地完成任務。其主要思路就是將上下文參數與從環境和用戶的上下文中提取的動態值進行匹配。為了表示這一過程,可以把每個上下文定義為一個上下文元組,如TC=〈tc1,tc2,…,tcn〉,tc1…tcn是上下文屬性的集合[11]。在實際系統中,將會周期性地對上下文元組值進行采樣。在這些元組中,不同任務可能有許多類型的屬性值,如字符串、數值和布爾型數值。每種類型的屬性值有其各自計算方法,通用概括如下:
定義1 sim(e(tci), e′(tci))=︱e(tci-e′(tci))︱/max(tci)。其中:tci表示上下文屬性;e(tci)是期望值;e′(tci)是實際值;max(tci)表示e(tci)值與e′(tci)值之間的最大差值。
很明顯,對于任何屬性tci,sim(v(tci),v′(tci))的取值為[0,1]。上下文屬性的相似度是指所有賦值屬性的相似度的組合。進一步考慮這種情況,如果不同屬性對于整個上下文相似度的作用不同,可以引入屬性權重的概念,例如位置和時間的權重可以比其他屬性權重高。上下文相似度表示如下:
定義2 sim(T(tc),T′(tc))=∑jWj×sim(e(tcj)),e′(tcj))。其中:∑jWj=1。sim(T(tc),T′(tc))的取值是[0,1],當取值為0時表示精確匹配;當取值為1時表示不匹配。
2.3 主動任務的執行
前面討論了主動任務的模型,并就模型進行了分析。接下來將集中討論任務執行的步驟,而任務執行的過程域是主動任務特性的一個重要部分。對于原子任務,主動任務特性中的過程域將包含一個或多個離散的動作步驟。這些步驟決定了任務執行過程中動作的執行順序,以及執行過程中的離散事件的執行順序。從概念上講,過程可以被認為是有限的狀態之間的轉換,每個狀態對應于任務執行過程中的一個步驟或執行過程中可能發生的事件。事件可以產生于外部用戶或內部設備、傳感器或軟件,因此,過程可以被定義為狀態之間的有向非循環轉換圖。在轉換圖中,節點表示原始動作,兩個節點間的弧表示兩者間的時間依賴。
總之,圖3為不同上下文相關任務模型部件間的關系圖。第一列表為任務集合,第二列表為通過上下文信息獲取的當前任務,第三列表為相應的任務上下文,最后一列表為任務執行的實際過程(如動作)。主動任務的完成,依賴于上下文信息的獲取,系統自動根據上下文信息,判斷即將執行的任務,并為即將執行的任務分配資源。
3 結束語
本文提出了一種適合主動任務計算(ATC)的新型上下文相關任務模型。此主動任務模型所關注的焦點是如何根據用戶核心目標和需求來進行建模,而不是大量復雜的基本系統服務。另外,由于此模型對于上下文信息相當敏感,它能夠描述大量使用上下文層級描述的任務,并能夠根據運行時的物理環境和用戶上下文信息來發現動態任務。除此之外,通過將任務上下文作為任務模型的組成部分,此模型能解決特定任務需要基本服務的問題。相信此模型更具通用性,可以支持更廣領域的任務計算應用。這種主動任務的計算模式特別適合智能空間等領域的應用。在此基礎上,可以進一步就主動任務的調度算法開展深入研究。