重算用戶接口中的信號捕捉控件的制作方法
【專利說明】重算用戶接口中的信號捕捉控件
[0001]
[0002]“重算文檔”是示出各種數(shù)據(jù)源和數(shù)據(jù)宿并允許數(shù)據(jù)源和數(shù)據(jù)宿之間的聲明性變換的電子文檔。對于互連各種數(shù)據(jù)源和數(shù)據(jù)宿的任何給定一組變換,數(shù)據(jù)源的輸出可由數(shù)據(jù)宿消費(fèi),或數(shù)據(jù)源的輸出可在由數(shù)據(jù)宿消費(fèi)之前經(jīng)受變換。這些各種變換可被評估,造成遍及重算文檔來表示的一個(gè)或多個(gè)輸出。用戶可以添加、去除和編輯聲明性變換,而無需對編碼的深度知識。這樣的編輯自動(dòng)使得變換被重新計(jì)算,從而造成一個(gè)或多個(gè)輸出的變化。
[0003]重算文檔的特定示例是電子數(shù)據(jù)表文檔,它包括單元格的網(wǎng)格。任何給定單元格可能包括被求值以輸出在該單元格中顯示的特定值的表達(dá)式。表達(dá)式可以引用數(shù)據(jù)源,如一個(gè)或多個(gè)其他單元格或值。
[0004]常規(guī)上,重算文檔對于它們在其中操作的環(huán)境沒有功能依賴性。重算文檔同樣執(zhí)行,而不管文檔面向北方、南方、東方或西方,不管重算文檔周圍可觀察到的圖像和聲音,不管位置和海拔,不管天氣等。重算文檔只是還未被認(rèn)為是具有依賴于環(huán)境的功能性能。畢竟重算文檔僅僅是計(jì)算機(jī)內(nèi)的計(jì)算,各種各樣的虛擬世界,而環(huán)境是真實(shí)世界。
[0005]簡要概沐
[0006]本文所述的至少一些實(shí)施例涉及包括可響應(yīng)于接收到數(shù)據(jù)被重新配置來顯示的一個(gè)或多個(gè)可視化控件的重算用戶接口。該重算用戶接口還包括一個(gè)或多個(gè)信號捕捉控件,每個(gè)信號捕捉控件被配置成在檢測到對應(yīng)的事件之際捕捉對應(yīng)的環(huán)境信號。一個(gè)或多個(gè)聲明性變換的變換鏈被置于各種控件之間。信號捕捉控件所捕捉的環(huán)境信號的示例包括圖像、視頻、音頻、定向、生物測定數(shù)據(jù)、位置、天氣、或關(guān)于環(huán)境的任何其他信息。將此類信號捕捉控件結(jié)合在重算用戶接口中從而允許所捕捉的環(huán)境信號被結(jié)合在變換鏈的邏輯和其他數(shù)據(jù)中。本文所述的至少一些實(shí)施例還涉及允許創(chuàng)作這樣的重算用戶接口的創(chuàng)作工具。
[0007]該概述不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或基本特征,也不旨在被用來幫助確定所要求保護(hù)的主題的范圍。
[0008]附圖簡沐
[0009]為了描述可獲得以上記載的及其他好處和特征的方式,將參照附圖呈現(xiàn)各個(gè)實(shí)施例的更具體描述??梢岳斫猓@些附圖只描繪了示例實(shí)施例,并且因此不被認(rèn)為是對其范圍的限制,將通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋各實(shí)施例,在附圖中:
[0010]圖1抽象地例示出其中可采用本文描述的一些實(shí)施例的計(jì)算系統(tǒng);
[0011]圖2抽象地例示出示例重算用戶接口,它例示出帶有中介變換的若干數(shù)據(jù)源和數(shù)據(jù)宿,且被用作為解釋本文所述的更寬泛原理而提供的具體示例;
[0012]圖3例示出用于創(chuàng)作諸如圖2的重算用戶接口之類的重算用戶接口的創(chuàng)作用戶界面;
[0013]圖4例示出示例編譯環(huán)境,該示例編譯環(huán)境包括訪問變換鏈以及產(chǎn)生編譯代碼以及依賴關(guān)系鏈的編譯器;以及
[0014]圖5例示出用于編譯重算用戶接口的變換鏈的方法的流程圖;
[0015]圖6例示出其中可采用本發(fā)明的原理的環(huán)境,該環(huán)境包括構(gòu)造依賴于輸入數(shù)據(jù)的視圖合成的數(shù)據(jù)驅(qū)動(dòng)的合成框架(composit1n framework);
[0016]圖7例示出表示圖6的環(huán)境的一個(gè)示例的流水線環(huán)境;
[0017]圖8圖示地例示出圖7的流水線的數(shù)據(jù)部分的一實(shí)施例;
[0018]圖9圖示地例示出圖7的流水線的分析部分的一實(shí)施例;以及
[0019]圖10圖示地例示出圖7的流水線的視圖部分的一實(shí)施例。
[0020]詳細(xì)描沐
[0021]本文所述的實(shí)施例涉及包括響應(yīng)于接收到數(shù)據(jù)被重新配置來顯示的一個(gè)或多個(gè)可視化控件的重算用戶接口。該重算用戶接口還包括一個(gè)或多個(gè)信號捕捉控件,每個(gè)信號捕捉控件被配置成在檢測到對應(yīng)的事件時(shí)捕捉對應(yīng)的環(huán)境信號。一個(gè)或多個(gè)聲明性變換的變換鏈被置于各種控件之間。信號捕捉控件所捕捉的環(huán)境信號的示例包括圖像、視頻、音頻、定向、生物測定數(shù)據(jù)、位置、天氣、或關(guān)于環(huán)境的任何其他信息。將此類信號捕捉控件結(jié)合在重算用戶接口中從而允許所捕捉的環(huán)境信號被結(jié)合在變換鏈的邏輯和其他數(shù)據(jù)中。本文所述的至少一些實(shí)施例還涉及允許創(chuàng)作這樣的重算用戶接口的創(chuàng)作工具。將參考圖1來描述對計(jì)算系統(tǒng)的一些介紹性討論。然后將參考后續(xù)附圖描述包括信號捕捉控件的重算用戶接口。
[0022]計(jì)算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。例如,計(jì)算系統(tǒng)可以是手持式設(shè)備、電器、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、大型機(jī)、分布式計(jì)算系統(tǒng)或甚至常規(guī)上不被認(rèn)為是計(jì)算系統(tǒng)的設(shè)備。在本說明書以及權(quán)利要求書中,術(shù)語“計(jì)算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個(gè)物理有形的處理器以及其上能具有可由處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的物理有形的存儲(chǔ)器。存儲(chǔ)器可以采取任何形式,并可以取決于計(jì)算系統(tǒng)的性質(zhì)和形式。計(jì)算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個(gè)組分計(jì)算系統(tǒng)。
[0023]如圖1所示,在其最基本的配置中,計(jì)算系統(tǒng)100通常包括至少一個(gè)處理單元102和存儲(chǔ)器104。存儲(chǔ)器104可以是物理系統(tǒng)存儲(chǔ)器,該物理系統(tǒng)存儲(chǔ)器可以是易失性、非易失性、或兩者的某種組合。術(shù)語“存儲(chǔ)器”也可在此用來指示諸如物理存儲(chǔ)介質(zhì)這樣的非易失性大容量存儲(chǔ)器。如果計(jì)算系統(tǒng)是分布式的,則處理、存儲(chǔ)器和/或存儲(chǔ)能力也可以是分布式的。如本文中所使用的,術(shù)語“可執(zhí)行模塊”或“可執(zhí)行組件”可以指可以在計(jì)算系統(tǒng)上執(zhí)行的軟件對象、例程或方法。此處所描述的不同組件、模塊、引擎以及服務(wù)可以實(shí)現(xiàn)為在計(jì)算系統(tǒng)上執(zhí)行的對象或進(jìn)程(例如,作為分開的線程)。
[0024]在隨后的描述中,參考由一個(gè)或多個(gè)計(jì)算系統(tǒng)執(zhí)行的動(dòng)作描述了各實(shí)施例。如果這樣的動(dòng)作是以軟件實(shí)現(xiàn)的,則執(zhí)行動(dòng)作的相關(guān)聯(lián)計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器響應(yīng)于已經(jīng)執(zhí)行了計(jì)算機(jī)可執(zhí)行指令來引導(dǎo)計(jì)算系統(tǒng)的操作。例如,這樣的計(jì)算機(jī)可執(zhí)行指令可以在形成計(jì)算機(jī)程序產(chǎn)品的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上實(shí)現(xiàn)。這樣的操作的示例涉及對數(shù)據(jù)的操縱。計(jì)算機(jī)可執(zhí)行指令(以及被操縱的數(shù)據(jù))可被存儲(chǔ)在計(jì)算系統(tǒng)100的存儲(chǔ)器104中。計(jì)算系統(tǒng)100還可包含允許計(jì)算系統(tǒng)100例如通過網(wǎng)絡(luò)110與其他消息處理器通信的通信信道108。計(jì)算系統(tǒng)100還包括顯示器112,顯示器112可被用于向用戶顯示視覺表不。
[0025]本文中描述的各實(shí)施例可包括或利用專用或通用計(jì)算機(jī),該專用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本文中描述的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種顯著不同的計(jì)算機(jī)可讀介質(zhì):計(jì)算機(jī)存儲(chǔ)介質(zhì)和傳輸介質(zhì)。
[0026]計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的任何其他有形介質(zhì)。
[0027]“網(wǎng)絡(luò)”被定義為使得電子數(shù)據(jù)能夠在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其它電子設(shè)備之間傳輸?shù)囊粋€(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可以包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼裝置并可被通用或?qū)S糜?jì)算機(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合應(yīng)當(dāng)也被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0028]此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動(dòng)傳輸?shù)接?jì)算機(jī)存儲(chǔ)介質(zhì)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可以在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中被緩沖,然后最終被傳輸至計(jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)。因而,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。
[0029]計(jì)算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時(shí)使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動(dòng)作。更具體而言,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。
[0030]本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。
[0031]在本說明書以及權(quán)利要求書中,“重算用戶接口”是用戶可與之交互的且出現(xiàn)于其中存在一個(gè)或多個(gè)數(shù)據(jù)源和一個(gè)或多個(gè)數(shù)據(jù)宿的環(huán)境中的接口。此外,存在一組變換,每個(gè)變換可被聲明性地定義在一個(gè)或多個(gè)數(shù)據(jù)源與一數(shù)據(jù)宿之間。例如,一個(gè)數(shù)據(jù)源的輸出被饋入變換,變換的結(jié)果然后被提供給數(shù)據(jù)宿,從而潛在地導(dǎo)致對用戶的可視化中的某種改變。
[0032]變換是“聲明性的”,意義在于用戶無需具體的編碼知識就能編寫定義變換的聲明。由于變換被聲明性地定義,用戶可改變聲明性變換。作為響應(yīng),重算被執(zhí)行,導(dǎo)致可能不同的數(shù)據(jù)被提供給數(shù)據(jù)宿。
[0033]重算用戶接口的一種經(jīng)典示例是電子數(shù)據(jù)表文檔。電子數(shù)據(jù)表文檔包括單元格網(wǎng)格。最初,單元格是空的,從而電子數(shù)據(jù)表程序的任一單元格都具有成為數(shù)據(jù)源或數(shù)據(jù)宿的可能性,