本公開總體上針對用于用來產(chǎn)生、使用和管理針對產(chǎn)品和其他項目的數(shù)據(jù)的多領域(multi-domain)系統(tǒng)(例如液壓、氣動、熱學、電氣和/或機械系統(tǒng))、計算機輔助設計(cad)、計算機輔助工程(cae)、可視化、和制造系統(tǒng)、產(chǎn)品數(shù)據(jù)管理(pdm)系統(tǒng)、產(chǎn)品生命周期管理(plm)系統(tǒng)、應用生命周期管理系統(tǒng)(alm)和類似系統(tǒng)(在本文中被總體稱為產(chǎn)品系統(tǒng))的建模和分析的仿真軟件。
背景技術:
產(chǎn)品系統(tǒng)可以包括促進仿真多領域系統(tǒng)的特征。這樣的產(chǎn)品系統(tǒng)可以受益于改進。
技術實現(xiàn)要素:
各種公開的實施例包括處理系統(tǒng)和方法,所述處理系統(tǒng)和方法可被用來促進經(jīng)由具有定量(quantitative)修剪和排序的設計空間探索來生成表示多領域系統(tǒng)的功能操作的組件模型解決方案。
在一個示例中,一種處理系統(tǒng)可以包括至少一個處理器。所述至少一個處理器可以被配置成針對要被產(chǎn)生的系統(tǒng)而確定與具有功能模型端口的功能模型相對應的組件模型解決方案的集合。所述組件模型解決方案可以包括至少部分基于仿真組件的組件端口與功能模型的功能模型端口之間的對應性通過所述至少一個處理器的操作從至少一個組件庫中選擇的仿真組件。此外,所述至少一個處理器可以被配置成從所述集合中選擇組件模型解決方案的子集,所述組件模型解決方案具有與針對功能模型確定的行為一致的針對每個組件模型解決方案確定的行為。而且,所述至少一個處理器可以被配置成基于針對每個組件模型解決方案的行為與彼此和/或針對功能模型確定的行為的比較來確定所述子集的組件模型解決方案相對于彼此的多個排序。此外,所述至少一個處理器可以被配置成促使顯示設備輸出來自所述多個排序中的最高排序的組件模型解決方案的視覺表示,其中所述視覺表示在視覺上描繪形成組件模型解決方案的仿真組件。
在另一示例中,一種方法可以包括通過至少一個處理器的操作實施的各種動作。這樣的方法可以包括針對要被產(chǎn)生的系統(tǒng)而形成與具有功能模型端口的功能模型相對應的組件模型解決方案的集合。所述組件模型解決方案可以包括至少部分基于仿真組件的組件端口與功能模型的功能模型端口之間的對應性通過所述至少一個處理器的操作從至少一個組件庫中選擇的仿真組件。該方法還可以包括從所述集合中選擇組件模型解決方案的子集,所述組件模型解決方案具有與針對功能模型確定的行為一致的針對每個組件模型解決方案確定的行為。此外,該方法可以包括基于每個組件模型解決方案的行為與彼此和/或針對功能模型確定的行為的比較來確定所述子集的組件模型解決方案相對于彼此的多個排序。此外,該方法可以包括促使顯示設備輸出具有來自所述多個排序中的最高排序的組件模型解決方案的視覺表示,其中所述視覺表示在視覺上描繪形成組件模型解決方案的仿真組件。
另外的示例可以包括編碼有可執(zhí)行指令(諸如存儲設備上的軟件組件)的非瞬時計算機可讀介質,所述可執(zhí)行指令當被執(zhí)行時促使至少一個處理器實施該描述的方法。
前述內(nèi)容已經(jīng)相當廣泛地概述了本公開的技術特征,以使得本領域技術人員可以更好地理解接下來的詳細描述。將在下文中描述形成權利要求主題的本公開的附加特征和優(yōu)點。本領域技術人員將會認識到他們可以容易地使用所公開的概念和具體實施例作為用于修改或設計用于實施本公開的相同目的的其他結構的基礎。本領域技術人員還將認識到這樣的等效構造不脫離本公開的其最廣泛形式的精神和范圍。
在進行下面的詳細描述之前,闡述可遍及該專利文檔使用的某些詞或短語的定義可能是有利的。例如,術語“包括”和“包含”以及其派生詞意指包括而非限制。單數(shù)形式“一”、“一個”、和“該”旨在也包括復數(shù)形式,除非上下文以其他方式明確指出。此外,如本文中使用的術語“和/或”指代并包括相關聯(lián)的所列出的項目中的一個或多個的任何和所有可能組合。術語“或”是包括性的,意指和/或,除非上下文以其他方式明確指出。短語“與…相關聯(lián)”和“與之相關聯(lián)的”以及其派生詞可以意指包括、被包括在內(nèi)、與…互連、包含、被包含在內(nèi)、連接到…或與…連接、耦合到…或與…耦合、可與…通信、與…協(xié)作、交錯、并置、接近于、綁定到…或與…綁定、具有、具有…屬性等等。
而且,盡管術語“第一”、“第二”、“第三”等等在本文中可被用來描述各種元件、功能或動作,但是這些元件、功能或動作不應該被這些術語限制。相反,這些數(shù)字形容詞被用來與彼此區(qū)分不同的元件、功能或動作。例如,在不背離本公開的范圍的情況下,第一元件、功能或動作可以被稱為第二元件、功能或動作,并且類似地,第二元件、功能或動作可以被稱為第一元件、功能或動作。
此外,諸如“處理器被配置成”實施一個或多個功能或過程之類的短語可以意指處理器被操作地配置成或被可操作地配置成經(jīng)由軟件、固件和/或有線電路實施功能或過程。例如,被配置成實施功能/過程的處理器可以與執(zhí)行被編程為促使處理器實施該功能/過程的軟件/固件的處理器相對應,以及/或者可以與具有可用于由處理器執(zhí)行以實施該功能/過程的存儲器或存儲設備中的軟件/固件的處理器相對應。還應該注意,“被配置成”實施一個或多個功能或過程的處理器還可以與被特別制造或“連線”以實施該功能或過程的處理器電路(例如asic或fpga設計)相對應。此外,在被配置成實施多于一個功能的元件(例如處理器)之前的短語“至少一個”可以與每個都實施功能的一個或多個元件(例如處理器)相對應,并且還可以與分別實施一個或多個不同功能中的不同功能的元件(例如處理器)中的兩個或更多個相對應。
術語“鄰近”可以意指:元件相對較近但是不與另外的元件接觸;或者該元件與另外的部分接觸,除非上下文中以其他方式明確指出。
遍及該專利文檔提供針對某些詞和短語的定義,并且本領域普通技術人員將會理解這些定義應用于這樣定義的詞和短語的先前以及將來使用的許多(如果不是大多數(shù)的話)實例。盡管某些術語可以包括各種各樣的實施例,但是所附權利要求可以明確地將這些術語限制到具體實施例。
附圖說明
圖1圖示促進生成表示多領域系統(tǒng)的功能操作的排序的組件模型解決方案的示例系統(tǒng)的功能框圖。
圖2圖示在視覺上以樹結構表示的設計空間擴展的示例。
圖3圖示具有修剪的節(jié)點/分支的設計空間擴展樹結構的示例。
圖4圖示在利用排序的組件模型解決方案進行修剪之后的設計空間擴展樹結構的示例。
圖5圖示具有折疊/展開的太陽能板的衛(wèi)星結構的示例。
圖6圖示功能模型的示例。
圖7圖示仿真組件庫的示例。
圖8圖示在視覺上被表示為樹結構的組件模型解決方案的集合。
圖9圖示用于組件模型解決方案的仿真組件和相關聯(lián)連接的示例。
圖10圖示在修剪之后的組件模型解決方案的集合。
圖11圖示排序的組件模型解決方案的集合。
圖12圖示促進生成表示多領域系統(tǒng)的功能操作的排序的組件模型解決方案的示例方法的流程圖。
圖13圖示其中實施例可以被實現(xiàn)的數(shù)據(jù)處理系統(tǒng)的框圖。
具體實施方式
現(xiàn)在將參考附圖來描述關于用于生成組件模型的系統(tǒng)和方法的各種技術,其中相同附圖標記遍及全文表示相同元件。下面討論的附圖以及被用來在本專利文檔中描述本公開的原理的各種實施例僅以說明的方式并且不應該以任何方式解釋成限制本公開的范圍。本領域技術人員將會理解,可以以任何適當布置的裝置來實現(xiàn)本公開的原理。要理解,被描述為由某些系統(tǒng)元件實施的功能可以由多個元件來執(zhí)行。類似地,例如,元件可以被配置成執(zhí)行被描述為由多個元件實施的功能。將參考示例性非限制實施例來描述本申請的許多創(chuàng)新教導。
參考圖1,圖示促進生成組件模型解決方案的示例處理系統(tǒng)100。該處理系統(tǒng)100可以包括至少一個處理器102,其被配置成執(zhí)行來自被處理器訪問的存儲器的至少一個應用軟件組件104。該應用軟件組件可以被配置(即編程)為促使該處理器實施本文所述的各種動作和功能。例如,所述應用軟件組件104可以包括仿真和分析工具(諸如西門子lms想象實驗室amesim和/或systemsynthesis(系統(tǒng)合成))或促進表示多領域系統(tǒng)的操作的仿真模型的設計的任何其他工具的模塊和/或與該模塊相對應。
所述應用軟件組件104可以包括一個或多個軟件組件(在本文中也被稱為模塊),其促進生成指定用于實施功能模型設計的不同組件集(例如電氣、機械組件)的若干候選仿真。用于特定功能模型設計的這樣的候選仿真在本文中被稱為組件模型解決方案。
例如,所述應用軟件組件104可以包括設計樹擴展模塊122、設計樹修剪模塊124和設計樹排序模塊126,其促進這樣的組件模塊解決方案的生成、修剪和排序。然而,應該認識到,由分離的軟件組件/模塊實施的本文描述的特征可以由較少的軟件組件/模塊和/或單個軟件組件/模塊來實施。而且,由單個所述軟件組件/模塊實施的特征可以由彼此通信的兩個或更多軟件組件/模塊來實施。
在示例實施例中,設計樹擴展模塊122可以被配置成促使處理器102從數(shù)據(jù)存儲區(qū)110訪問仿真組件106的一個或多個庫。這樣的數(shù)據(jù)存儲區(qū)110可以與存儲器、文件系統(tǒng)、數(shù)據(jù)庫、存儲設備、服務器、應用或可操作用來存儲和提供對仿真組件和功能模型的訪問的任何其他組件中的一個或多個相對應。
所訪問的仿真組件106可以與仿真關聯(lián)于流體、熱力學、電學、機電、機械、信號處理和計算機的單獨的物理組件的可重新使用的軟件程序以及用于冷卻系統(tǒng)、空氣調(diào)節(jié)、內(nèi)燃機、航空航天和其他物理系統(tǒng)的應用庫相對應。仿真組件的示例包括仿真電動機、電阻器、變壓器、電池、活塞、內(nèi)燃機、熱交換器、泵、閥、齒輪、凸輪和/或具有可以經(jīng)由軟件建模的行為的其他物理組件的操作的軟件程序。這樣的仿真組件還可以包括仿真軟件組件和應用的操作的可重新使用軟件程序。此外,在一些示例中,本文描述的仿真組件可以與它們本身可用于構建期望的系統(tǒng)的一個或多個部分的可重新使用的軟件組件相對應。
西門子lms想象實驗室amesim軟件/工具例如包括可由設計樹擴展模塊122訪問的數(shù)千個專用仿真組件的庫。然而,應該理解,可以從一個或多個其他仿真軟件/工具(諸如mathworkssimulink)或提供對物理組件的操作進行建模的仿真組件庫的任何其他工具訪問仿真組件。
而且,應該認識到,設計樹擴展模塊122的示例實施例可操作用來詢問已知和/或先前未知的仿真組件庫以確定:可用的各種類型的仿真組件;可將這樣的仿真組件連接到一起的方式;每個仿真組件的相關聯(lián)行為;和/或仿真/軟件工具之間的協(xié)同仿真能力。
在一個示例實施例中,設計樹擴展模塊122所訪問的仿真組件可以符合強類型端口系統(tǒng)。這樣的端口系統(tǒng)可以與組件的具體輸入/輸出接口(被稱為端口)112相對應,其接收輸入并提供代表與組件的功能操作相關聯(lián)的信號或功率的轉移的數(shù)據(jù)的輸出。提供這樣的強類型仿真組件的仿真軟件/工具(諸如西門子lms想象實驗室amesim)可以使得設計者能夠將一個組件的輸入端口連接到另一組件的輸出端口以形成系統(tǒng)的仿真多組件模型。當被仿真軟件/工具執(zhí)行時,系統(tǒng)的這樣的組件模型能夠提供與這樣的系統(tǒng)的真實世界實現(xiàn)方式一致的操作數(shù)據(jù)(即行為)。
例如,用于馬達的仿真組件可以包括輸入端口,其表示接收代表電能(ee)的流動的數(shù)據(jù)的組件的接口。這樣的仿真馬達組件還可以包括輸出端口,其表示提供代表由仿真馬達的軸提供的所得到的旋轉機械能(rme)的數(shù)據(jù)的接口。此外,仿真馬達組件可以包括編程,其基于代表電功率的流動的輸入數(shù)據(jù)計算代表軸的動態(tài)旋轉的數(shù)據(jù)。
為了手動設計描繪具有這樣的仿真馬達的系統(tǒng)的示例組件模型,仿真軟件/工具可以被設計者用來手動指定仿真馬達和其他仿真組件之間的連接。所得到的組件模型指定仿真組件集以及它們彼此間的相應連接。然后組件模型可以被存儲在數(shù)據(jù)存儲區(qū)中并由仿真工具執(zhí)行以便分析所設計的系統(tǒng)的行為。
例如,可以設計組件模型,其指定:仿真電池的電能輸出端口被連接到仿真馬達的電能輸入端口;以及仿真馬達的旋轉輸出端口被連接到仿真泵的旋轉輸入端口。而且,應該注意,仿真軟件/工具可以被配置成不允許仿真電池的電能輸出端口被連接到仿真泵的轉子輸入端口,因為端口類型不是相同類型。
如本文所使用的,強類型端口系統(tǒng)與仿真組件庫相對應,其中它們相應的輸入和輸出端口接收并輸出跨多個組件一致的預定格式的數(shù)據(jù)。因此,諸如仿真馬達之類的電子設備可以包括用于接收代表電能的數(shù)據(jù)的輸入端口,而仿真電池包括用于輸出代表電能的數(shù)據(jù)的輸出端口,所有這些數(shù)據(jù)具有描述組件的電能的有關電氣特性(例如電壓、電流)的相同預定格式。強類型端口格式的示例包括:線性端口、旋轉端口、繩索(rope)端口、信號端口、流端口、電氣端口、熱端口、磁端口、meca2d端口(用于運送2d位移、速度、加速度、力矩、力)、和地球數(shù)據(jù)通訊端口(geocom)(用于傳送蒸發(fā)器和冷凝器的幾何數(shù)據(jù))或定義針對發(fā)射功率或信號的輸入/輸出的數(shù)據(jù)的任何其他類型的端口。
在示例實施例中,設計樹擴展模塊122還可以被配置成促使處理器102從數(shù)據(jù)存儲區(qū)110訪問一個或多個功能模型108。這樣的功能模型與基于模型的系統(tǒng)工程定義相對應,該基于模型的系統(tǒng)工程定義對應于期望系統(tǒng)的功能框圖。該功能模型可以表示描述期望或可容許行為族的動詞-名詞函數(shù)曲線圖的行為對應物。
在示例實施例中,功能模型108可以在不指定組件的情況下描繪定義系統(tǒng)將實施的各種功能的塊(例如經(jīng)由框)。功能模型還可以包括功能模型的塊之間的鏈接(例如經(jīng)由線),其示出塊的輸入/輸出端口114之間的連接。這樣的輸入/輸出端口可以指定在構成功能模型的功能塊之間的功率和信號的傳輸。
例如,功能模型108可以由設計者使用通用流程圖工具(諸如microsoftvisio)或能夠生成塊(與功能相對應)和框之間的鏈接(與符合前述嚴格端口類型系統(tǒng)的端口的連接相對應)來生成。此外,可以由建模軟件/工具(諸如西門子lms想象實驗室系統(tǒng)合成)或使得用戶能夠以符合嚴格端口類型系統(tǒng)的方式圖形地繪制用于期望系統(tǒng)的功能需求的其他工具來生成功能模型108。
在示例實施例中,設計樹擴展模塊122可操作成訪問先前存儲在數(shù)據(jù)存儲區(qū)(例如microsoftvisio文件)中的功能模塊并且根據(jù)該模塊確定定義期望系統(tǒng)的各種功能和該功能的端口之間的連接。此外,所述應用軟件組件104可操作成訪問存儲在功能模型中的附加數(shù)據(jù),諸如定義針對功能模型的約束和/或期望行為的數(shù)據(jù)。
設計樹擴展模塊122的示例實施例可以被配置成利用功能模型108中的功能的端口類型與(庫128中可用的)仿真組件106的端口類型之間的對應性,以便確定可以能夠實施在功能模型中定義的功能的(從庫訪問的)仿真組件。此外,設計樹擴展模塊122可操作成確定與來自組件庫128的仿真組件106相關聯(lián)的行為元數(shù)據(jù)(例如文本功能描述130)和/或組件本身,其可用來選擇能夠履行功能模型108所指定的功能的組件。
利用這些仿真組件(經(jīng)由端口類型和可選文本描述數(shù)據(jù)選擇的)以及功能之間的連接和由功能模型指定的其他數(shù)據(jù),設計樹擴展模塊122可操作成實施設計空間擴展以便確定不同組件模型解決方案116的集合146。這樣的組件模型解決方案均包括仿真組件集,所述仿真組件集被配置成(即經(jīng)由其端口有線連接在一起)實施由功能模型108針對要被生成的系統(tǒng)指定的功能。
應該注意,用于仿真組件106的庫的端口系統(tǒng)的軟件實現(xiàn)方式可能與在功能模型108中使用的端口系統(tǒng)不同,這取決于在示例實施例中使用的功能建模軟件和組件庫。然而,只要端口系統(tǒng)至少部分地彼此同構,設計樹擴展模塊122的示例實施例就可以將每個端口系統(tǒng)與彼此比較和/或(例如基于關鍵詞)確定組件庫和功能模型之間的對應端口類型之間的相互關系,以便從庫中選擇與功能模型一致的仿真組件。
下面的算法(“算法1”)描述由設計樹擴展模塊122實施的基于端口結構和可選文本功能描述的設計空間的擴展:
算法1:設計空間擴展
輸入具有來自端口類型集
抽象組件庫
輸出組件模型解決方案
算法1返回組件模型解決方案
圖2圖示將算法1的結果描繪為樹結構202的設計樹擴展200的示意性示例。在該示例中,樹結構的節(jié)點204對應于組件,并且分支206對應于組件模型解決方案116。
參考回圖1,如先前所討論的,應用軟件組件104還可以包括設計空間修剪模塊124。這樣的設計空間修剪模塊124可以被配置成選擇(由設計空間擴展模塊122確定的)組件模型解決方案116的子集(即修剪的)集合132,其具有與針對功能模型108確定的行為一致(例如兼容)的針對每個組件模型解決方案確定的行為。換言之,設計空間修剪模塊124可以被配置成修剪掉(pruneout)不適當?shù)慕M件模型解決方案116。下面的算法(“算法2”)描述可由設計空間修剪模塊124實施的對不適當?shù)纳傻慕鉀Q方案的基于行為的修剪:
算法2:行為設計空間修剪
輸入組件模型解決方案
行為功能模型
輸出組件模型解決方案
算法2可以被配置成確定集合
例如,算法2可以被配置成確定在每個組件模型解決方案中的仿真組件的類型和描述所固有的(集合146中的)每個組件模型116解決方案的各種行為數(shù)據(jù)136。例如,如下面將更詳細描述的,所選的仿真組件的類型可能僅允許運動的某個數(shù)量的自由度。因此,如果功能模型108指定需要運動的最小數(shù)目的自由度的行為數(shù)據(jù)134,則所描述的設計空間修剪模塊124可以修剪掉不滿足該所需的閾值的組件模型解決方案以形成經(jīng)修剪的集合132。
而且,例如,算法2可以執(zhí)行(集合146中的)每個組件模型解決方案以便定量每個解決方案的行為
此外,某些形式的功能模型可以包括定義對于基于功能模型的系統(tǒng)的期望行為
還在(如先前所討論的)該示例中,所述設計空間修剪模塊124可以被配置成與仿真軟件/工具(例如amesim、modelica、或simulink)對接以促使工具執(zhí)行每個組件模型解決方案并提供關于組件模型解決方案的操作的可定量操作行為數(shù)據(jù)136。然后可以將每個組件模型解決方案的可定量行為數(shù)據(jù)與功能模型的期望的所確定的可定量行為數(shù)據(jù)相比較以便修剪掉不一致的組件模型解決方案。
在示例實施例中,示例功能“verifybehavioralinclusion”(在算法2中)可以被配置成將每個組件模型解決方案116的行為數(shù)據(jù)136與功能模型108的行為數(shù)據(jù)134相比較并且遞送可用于修剪掉不適當?shù)哪P徒鉀Q方案的數(shù)據(jù)。這樣的數(shù)據(jù)例如可以與二進制結果相對應并且可以由取決于表達行為
圖3圖示描繪其中已經(jīng)基于來自算法2的結果修剪掉若干節(jié)點302的從算法1得到的樹結構202的設計空間修剪300的示意性示例。
參考回圖1,如先前所討論的,應用軟件組件104還可以包括設計空間排序模塊126。這樣的設計空間排序模塊126可以被配置成基于針對相應組件模型解決方案確定的行為136與針對功能模型確定的行為134之間的兼容性的相應等級來確定針對經(jīng)修剪的子集132(即經(jīng)修剪的集合)的組件模型解決方案中的至少一些相對于彼此的多個排序138。
下面的算法(“算法3”)描述可以由設計空間排序模塊126實施的基于行為的排序:
算法3:行為設計空間排序
輸入組件模型解決方案
輸出組件模型解決方案的有序列表
在示例實施例中,基于行為的修剪(算法3)的副產(chǎn)物可以包括行為數(shù)據(jù)134,所述行為數(shù)據(jù)134可以被用來將經(jīng)修剪的組件模型解決方案彼此進行比較?;谶@些比較,算法3提供標識的可行解決方案的排序138。這樣的排序可以與組件模型解決方案的有序列表l相對應,該有序列表l是按照每個組件模型解決方案與功能模型的期望行為相對應得多好來定序的。組件的這樣的排序列表可以被用來標識用于為新系統(tǒng)的設計作基礎的最佳候選解決方案。在其他實施例中,這樣的排序可以對應于與每一個組件模型解決方案相關聯(lián)地存儲的得分。
在示例實施例中,針對每個組件模型解決方案的行為數(shù)據(jù)136與針對功能模型的期望行為數(shù)據(jù)134之間的比較可以經(jīng)由例如l2增益和/或均方根誤差(rmse)而計算為定量行為得分。因此,在算法3中,示例功能“calculatebehavioralscore”可以被配置成返回針對(經(jīng)修剪的集合132中的)每一個組件模型解決方案的實值排序138,該實值排序138描述與理想預期行為的接近度。例如,該實值排序138可以以某個尺度,其中1.0的得分表示與功能模型的理想行為的完美匹配,而0.0的得分表示理想行為的上界或下界,或絕對最小/最大可接受行為。然后按其各自的實值排序來對組件模型解決方案分類。
在另一示例實施例中,排序138可以基于相應組件模型解決方案使由功能模型指定的特定可定量行為(例如,諸如功率輸出、熱量、速度、效率)最大化或最小化得多么好。因此,在算法3中,示例功能“calculatebehavioralscore”可以被配置成確定排序得分集,其中組件模型基于要被最小化或最大化的可定量行為的幅度而被排序為有序集。
例如,如果功能模型的期望行為是使引擎的功率輸出最大化,則五個經(jīng)修剪的組件模型解決方案的假設集合可以基于來自其仿真執(zhí)行的其所得到的功率輸出而用1到5的得分來排序(其中1對應于最高功率輸出)。還應該認識到,可以基于若干不同類型的期望行為(例如最大化功率和最小化燃料消耗)來對組件排序。因此,組件模型解決方案的最終有序排序可以基于針對每個行為的單獨排序的復合得分。
圖4圖示描繪在從算法2修剪之后的樹結構202的設計空間排序400的示意性示例,其中已經(jīng)經(jīng)由所描繪的排序得分402將分支(即組件模型解決方案)相對于彼此進行了排序。在該示例中,較低排序(諸如為1的排序得分)對應于比具有較高數(shù)值得分的其他組件模型解決方案更緊密近似功能模型的行為的組件模型解決方案。然而,在替代實施例中,用于排序的其他類型的得分和次序可以被用于說明用于組件模型解決方案的排序。
示例算法組合基于結構的設計空間擴展與基于行為的分支修剪和節(jié)點排序。設計空間擴展模塊122實施算法1以便建立預先未知的設計空間。所得到的組件模型解決方案116的集合可以具有它們遵循相同接口的性質,這使得能夠在相同上下文中按照語法來使用它們。然而,為了在該集合中選取最好或更好的解決方案,設計空間修剪模塊124實施算法2以便考慮組件模型解決方案與功能模型相比的行為,以使得選取有助于整個系統(tǒng)的預期行為的適當仿真組件集。然后,設計空間排序模塊126實施算法3以便向設計空間擴展樹節(jié)點分配排序(例如數(shù)值得分),以便比較各組件模型解決方案的整體行為并對其排序,這可基于不同時域和建模范式。
為了使得用戶能夠操作所述應用軟件組件104,所述處理系統(tǒng)100可以包括至少一個顯示設備118(諸如顯示屏)和至少一個輸入設備120。例如,處理器可以被包括作為pc、筆記本計算機、工作站、服務器、平板電腦、移動電話或任何其他類型的計算系統(tǒng)的部分。顯示設備例如可以包括lcd顯示器、監(jiān)視器和/或投影儀。輸入設備例如可以包括鼠標、指針、觸摸屏、觸摸板、繪圖板、軌跡球、按鈕、鍵區(qū)、鍵盤、游戲控制器、攝像機、捕獲運動姿勢的運動感測設備、或能夠提供本文描述的輸入的任何其他類型的輸入設備。而且對于諸如平板電腦之類的設備而言,處理器102可以被集成到包括觸摸屏的外殼中,該觸摸屏用作輸入和顯示設備二者。此外,應該認識到,一些輸入設備(諸如游戲控制器)可以包括多個不同類型的輸入設備(模擬棒、d墊和按鈕)。
而且,應該注意,本文描述的處理器可以位于遠離本文描述的顯示器和輸入設備的服務器中。在這樣的示例中,所述顯示設備和輸入設備可以被包括在客戶端設備中,所述客戶端設備通過有線或無線網(wǎng)絡(其可以包括互聯(lián)網(wǎng))與服務器(和/或在服務器上執(zhí)行的虛擬機)通信。在一些實施例中,這樣的客戶端設備例如可以執(zhí)行遠程桌面應用或者可以對應于實施與服務器的遠程桌面協(xié)議的門戶設備,以便將輸入從輸入設備發(fā)送到服務器并且從服務器接收視覺信息來通過顯示設備進行顯示。這樣的遠程桌面協(xié)議的示例包括teradici的pcoip、microsoft的rdp和rfb協(xié)議。在這樣的示例中,本文描述的處理器可以對應于在服務器的物理處理器中執(zhí)行的虛擬機的虛擬處理器。
應該認識到,所述應用軟件組件104的示例實施例可操作成促使顯示設備118輸出圖形用戶接口(gui)140,其顯示由算法1-3提供的數(shù)據(jù)的視覺表示。例如,應用軟件組件104可以包括可視化模塊142,其生成gui和/或提供用于更新gui的信息以便提供組件模型解決方案132的經(jīng)修剪的集合以及其所得到的排序138的可視化144。此外,可視化模塊142可以通過gui提供關于解決方案和/或功能模型的所確定的行為的定量信息。此外,可視化模塊可以通過gui提供具有最高排序的組件模型解決方案的視覺表示,其在視覺上描繪包括該組件模型解決方案的仿真組件。而且,可視化模塊可以通過gui提供針對組件模型解決方案的所確定的排序的視覺表示。此外,可視化模塊可以對來自輸入設備的輸入作出響應以便配置和執(zhí)行所述設計空間擴展模塊122、設計空間修剪模塊124和設計空間排序模塊126。
如本文所使用的,最高排序可以對應于表示與最高排序相關聯(lián)的組件模型解決方案具有更接近于功能模型的期望行為或者最大化或最小化功能模型的指定行為的定量行為的排序(例如得分)。在示例實施例中,工程師可以將較高或最高排序的組件模型解決方案用作設計結構對象模型(例如經(jīng)由cad軟件的3dcad模型)的框架,其描繪具有與組件模型解決方案相對應的物理組件的布置的結構。該結構對象模型可以在數(shù)據(jù)存儲區(qū)110或另一數(shù)據(jù)存儲區(qū)中(諸如在cad文件和/或plm數(shù)據(jù)庫中)被存儲為cad數(shù)據(jù)和/或產(chǎn)品數(shù)據(jù)(指定部分數(shù)據(jù))。
所述應用軟件組件和/或其他軟件應用可以基于存儲在cad數(shù)據(jù)和/或產(chǎn)品數(shù)據(jù)中的結構來實施各種功能。這樣的功能可以包括(基于cad數(shù)據(jù)和/或產(chǎn)品數(shù)據(jù))生成指定可用于構建結構的特定組件(以及其數(shù)量)的工程制圖和/或材料清單(bom)。這樣工程制圖和/或bom可以經(jīng)由打印機打印在紙上,以電子表格(諸如microsoftexcel文件或acrobatpdf文件)生成,經(jīng)由顯示設備顯示,以電子郵件傳達,存儲在數(shù)據(jù)存儲區(qū)中或以其他方式以能夠被個人和/或機器用來構建與所設計的結構相對應的產(chǎn)品的形式生成。此外,應該認識到,諸如3d打印機之類的機器可以使用代表對象模型(在鑒于仿真結果而被cad軟件修改之前或之后)的數(shù)據(jù)以根據(jù)對象數(shù)據(jù)產(chǎn)生物理結構(例如部分)。
可用于基于組件模型解決方案來設計3d模型的cad軟件的示例可以包括:可從西門子產(chǎn)品生命周期管理軟件有限公司得到(得克薩斯州的普萊諾)的nx應用套件和/或可用于生成cad模型的任何其他軟件。在示例實施例中,所述應用軟件組件104的所有或部分可以被包括在這樣的應用套件中或者與這樣的應用套件包括在一起。
為了進一步描述所述實施例的特征,圖5圖示可經(jīng)由本文描述的系統(tǒng)和方法仿真的機電結構500的示例。在該示例中,結構500對應于具有太陽能板504的衛(wèi)星502。在該示例中,這樣的結構具有太陽能板504在打開位置506和關閉位置508之間展開/折疊的行為需求。衛(wèi)星設計問題由其中需要展開四對太陽能板(總共八個太陽能板)來捕獲太陽能的機電和控制問題構成。應該認識到,這樣的太陽能板是通過接頭連接的機械體;該接頭由電動機來驅動;并且利用來自源的電能對該電動機供電。
為了發(fā)起這樣的設計,設計者/工程師可能首先開發(fā)與針對衛(wèi)星502的操作的該方面(和其他方面)的設計需求相對應的功能模型。圖6圖示用于示例衛(wèi)星502的這樣的功能模型600的示例。例如可以利用諸如microsoftvisio之類的設計工具或能夠生成功能模型的其他工具來開發(fā)這樣的功能模型。
在該示例中,功能模型使用動詞-名詞非正式功能描述來在視覺上表示該模型。該示例中的功能模型還指定諸如自由度之類的設計約束。而且,在該示例中,功能模型可以指定與每個功能相關聯(lián)的可容許行為的數(shù)學公式。
如圖6中所示,這樣的功能模型600可以包括指定期望要被實施的功能的若干個塊602。例如,塊604指定將化學能轉換成電能的功能。對于這樣的功能,塊604包括輸入端口606,其具有訪問化學能的端口類型。此外,塊604包括輸出端口608,其具有提供電能的端口類型。在該示例中,輸出端口608(其提供電能)被示為連接到另外的塊612的輸入端口610,其指定用于傳送電能的功能。而且在該示例中,輸入端口606(其訪問化學能)被示為連接到另外的塊616的輸入端口614,其指定用于存儲化學能的功能。該功能模型的其他塊同樣經(jīng)由其各自的輸入和輸出端口連接在一起。
如可以認識的,可以通過在一個或多個不同領域(例如電氣、機械、液壓領域)中的各種不同類型的組件的多個不同組合來實施這樣的設計需求。圖7中圖示可被本文描述的系統(tǒng)和示例用來生成用于功能模型600的組件模型解決方案的仿真組件的示例庫700。該示例中的庫700示出在西門子lms想象實驗室amesim工具中可得到的仿真組件的分類的示例。然而,如先前所討論的,示例應用軟件組件104可以能夠訪問來自由其他仿真軟件提供的庫的仿真組件或來自若干不同庫和/或工具的仿真組件。
如先前所討論的,設計空間擴展模塊122可操作成生成與行為功能模型在行為上一致(例如兼容)的組件模型解決方案的集合。為了完成這一點,所述設計空間擴展模塊122可以被配置成遍及庫700搜索具有與功能模型600所指定的輸入和輸出端口一致的輸入和/或輸出端口的仿真組件。
此外,示例設計空間擴展模塊122可以可選地使用與庫中的仿真組件相關聯(lián)的文本描述(或其他元數(shù)據(jù))來確定幫助使仿真組件與功能設計中指定的功能相關的組件的行為。例如,塊618指定用于將電能轉換成旋轉機械能(rme)的功能,所述設計空間擴展模塊122可以不僅基于塊618的輸入和輸出端口的類型而且還基于具有文本描述的仿真組件來搜索和/或選擇能夠履行該功能的仿真組件,所述文本描述具有設計空間擴展模塊122已知為與旋轉功能匹配和/或與該旋轉功能有關的詞。例如,庫中的仿真組件的文本描述“轉動接頭”中的詞“轉動”可以由設計空間擴展模塊122基于模塊可訪問的相關的功能上有關的詞的查找表而確定為與詞“旋轉”有關?;谠摯_定的相關性(以及輸入/輸出端口對應性),設計空間擴展模塊122可以針對至少一個組件模型解決方案的部分選擇轉動接頭的仿真組件,其履行該功能以將電能轉換成旋轉機械能。
圖8圖示被組織為樹結構802(諸如圖2中示出的通用樹結構)的組件模型解決方案804的部分集合800的示例,該樹結構802可以由示例設計空間擴展模塊122基于圖中示出的功能模型600的部分和包括在圖7中示出的庫700中的仿真組件中的至少一些來確定。這樣的組件模型解決方案804可以與行為功能模塊600在行為上一致。
為了幫助理解組件模型解決方案的廣度,圖1中示出的先前描述的可視化模塊142可操作成促使gui140顯示這樣的樹結構802。應該認識到,候選組件模型解決方案可以共享相同組件中的一些。因此,所生成的樹結構的形式可以由可視化模塊基于將用于兩個或更多解決方案的冗余組件放置在共同較高等級分支中的算法來生成,該共同較高等級分支分叉成描繪在各組件模型解決方案之間不同的組件的兩個或更多較低分支。
圖9圖示與圖8中示出的樹結構的分支之一相對應的組件模型解決方案900的示例。該組件模型解決方案900的一個或多個視覺表示可以由可視化模塊142來生成并經(jīng)由gui140來顯示。例如,組件模型解決方案900可以在視覺上被描繪為列表視圖902和/或作為連接視圖904。在這里,列表視圖以樹節(jié)點906的形式列出分類(例如接頭驅動器、接地端、主體),該樹節(jié)點906包含仿真組件908的一個或多個實例。組件模型解決方案的連接視圖904指定仿真組件經(jīng)由其各自的輸入/輸出端口彼此連接的方式。
在示例實施例中,與所生成的組件模型解決方案和功能模型相對應的數(shù)據(jù)被饋送到設計空間修剪模塊124(實施算法2)。使用仿真組件,算法2驗證候選解決方案對預期或期望功能行為的行為包含(behavioralinclusion)并且修剪該樹的不滿足這些需求的分支。圖10圖示在先前描述的設計空間修剪模塊124已評估組件模型解決方案且已標識要被修剪掉的解決方案之后的樹結構802(其可以被可視化模塊142在視覺上輸出)的示例1000。
在這里,設計空間修剪模塊124已經(jīng)基于與約束不一致的解決方案的特性和與功能模型相關聯(lián)的其他參數(shù)修剪掉候選組件模型解決方案。例如,設計空間修剪模塊124可以被配置成確定每個候選組件模型解決方案所具有的自由度的數(shù)目,并且修剪掉樹結構802中的具有較少的確定的自由度數(shù)目的分支。在這點上,圖10示出從候選列表去除萬向接頭分支1002、滑動接頭分支1004和2d主體分支1006。衛(wèi)星的功能行為需要三個維度并且解決方案的2d主體族僅提供兩個維度;因此去除整個2d主體分支1006。類似地,太陽能板的展開功能需要六個自由度被約束(見圖6中的約束620),并且解決方案的萬向接頭1002和滑動接頭1004族僅提供四個受約束的自由度;因此這兩個分支也被修剪。
在修剪之后,設計空間排序模塊126可以關于每個解決方案的行為多么緊密地近似功能模型的行為來對剩余的組件模型解決方案排序。圖11圖示(修剪之后的)五個組件模型解決方案1102、1104、1106、1108、1110以及其相應的排序1112、1114、1116、1118、1110的示例1100。
在該示例中,基于展開的次數(shù)和電能消耗的行為來對組件模型解決方案排序。用于對解決方案進行排序的這些具體行為可以由功能模型來指定和/或由用戶通過使用應用軟件組件104的gui140經(jīng)由對輸入設備120的輸入來提供。
在這里,與針對其他四個解決方案的這些確定的行為相比,第五解決方案1102具有關于展開次數(shù)和電能消耗的行為的最高排序。在這些示例中,各種解決方案具有不同類型和/或數(shù)量的組件。例如,最高排序的解決方案1102僅具有兩個電池組件,而最低排序的解決方案1110具有八個電池。
在該示例中,由功能模型和/或經(jīng)由來自用戶的輸入來指定要最小化的特定行為(即展開次數(shù)和電能消耗)。因此,用于每一個組件模型解決方案的每一個底層數(shù)學模型可以被執(zhí)行,并且結果被分析以確定對解決方案排序所需的相應展開次數(shù)和電能消耗。
然而,應該認識到,其他功能模型可以被設計有與定義功能模型的理想或期望行為的一個或多個功能相關聯(lián)的具體理想數(shù)學公式。因此,在其他示例中,設計空間排序模塊(實施算法3)可以可替代地或另外將所執(zhí)行的組件模型解決方案的行為與由功能模型的底層數(shù)學公式定義的功能模型的行為相比較,以便為排序作基礎。
現(xiàn)在參考圖12,圖示并描述各種示例方法。盡管該方法被描述為按順序執(zhí)行的一系列動作,但是要理解該方法不會被順序次序所限制。例如,某些動作可以以與本文所述的不同的次序來發(fā)生。此外,一個動作可以與另一動作同時發(fā)生。而且,在一些實例中,并非所有動作都被要求以實施本文所述的方法。
重要的是要注意,盡管本公開包括在全功能系統(tǒng)和/或一系列動作的上下文中的描述,但是本領域技術人員將會認識到本公開的機制和/或所述動作的至少部分能夠以包含在處于各種各樣形式中的任一種的非瞬時機器可用、計算機可用或計算機可讀介質內(nèi)的計算機可執(zhí)行指令的形式來分發(fā),并且本公開等同地適用,不管被用來實際上實施該分發(fā)的指令或數(shù)據(jù)承載介質或存儲介質的特定類型如何。非瞬時機器可用/可讀或計算機可用/可讀介質的示例包括:rom、eprom、磁帶、軟盤、硬盤驅動器、ssd、閃速存儲器、cd、dvd和藍光盤。計算機可執(zhí)行指令可以包括例程、子例程、程序、應用、模塊、庫、執(zhí)行線程等等。更進一步地,方法的動作的結果可以被存儲在計算機可讀介質中、顯示在顯示設備上等等。
現(xiàn)在參考圖12,圖示促進生成表示多領域系統(tǒng)的功能操作的排序的組件模型解決方案的方法1200。該方法可以在1202處開始,并且該方法可以包括通過至少一個處理器的操作而實施的若干動作。
這些動作可以包括動作1204,其針對要被產(chǎn)生的系統(tǒng)而形成與具有功能模型端口的功能模型相對應的組件模型解決方案的集合。在這里,該組件模型解決方案可以包括通過至少一個處理器的操作至少部分基于仿真組件的組件端口與功能模型的功能模型端口之間的對應性而從至少一個組件庫中選擇的仿真組件。
而且,該方法可以包括從該集合中選擇組件模型解決方案的子集的動作1206,所述組件模型解決方案具有與針對功能模型確定的行為一致的針對每個組件模型解決方案確定的行為。此外,該方法可以包括動作1208,其基于每個組件模型解決方案的行為與彼此和/或針對功能模型確定的行為的比較來確定針對該子集的組件模型解決方案相對于彼此的多個排序。
此外,該示例方法可以包括動作1210,其促使顯示設備輸出具有來自多個排序中的最高排序的組件模型解決方案的視覺表示,其中該視覺表示在視覺上描繪形成組件模型解決方案的仿真組件。在1212處該方法可以結束。
應該認識到,該方法1200可以包括先前關于處理系統(tǒng)100討論的其他動作和特征。例如,該方法可以包括通過實施具有集合中每個組件模型解決方案的仿真來確定針對每個組件模型解決方案的定量行為。在一些示例中,可以通過至少一個處理器的操作至少部分基于各組件模型解決方案的所確定的定量行為與彼此的比較來實施確定多個排序的動作1208。
而且,在一些示例實施例中,該方法可以包括確定針對功能模型的定量行為,并且可以通過至少一個處理器的操作至少部分基于功能模型的定量行為與組件模型解決方案的定量行為之間的比較來實施確定多個排序的動作1210。
此外,該方法的示例實施例可以包括基于線性或非線性微分方程系統(tǒng)(ode)和/或微分代數(shù)方程系統(tǒng)(dae)來確定針對每個組件模型解決方案和/或功能模型的定量行為。而且,確定多個排序的動作1210可以包括基于針對每個組件模型解決方案確定的定量行為相對于針對功能模型確定的定量行為的l2增益和/或rmse來確定與針對子集的組件模型解決方案的多個排序相對應的數(shù)值得分。
該方法的示例實施例還可以包括確定與來自仿真組件的至少一個庫的仿真組件相關聯(lián)的文本功能描述和/或仿真組件本身的動作??梢赃M一步基于所確定的文本描述和由功能模型指定的功能之間的對應性來從至少一個組件庫中針對組件模型解決方案進一步選擇仿真組件。
此外,該方法的示例實施例可以包括執(zhí)行cad應用軟件組件以及利用該cad應用軟件組件來響應于通過至少一個輸入設備的操作接收到的輸入而生成系統(tǒng)的cad模型。這樣的cad模型可以描繪與具有最高排序的組件模型解決方案的仿真組件相對應的物理部分的布置。然后可以將與cad模型相對應的cad數(shù)據(jù)存儲在數(shù)據(jù)存儲區(qū)中。
如先前所討論的,針對基于所生成的組件模型解決方案的結構的對象模型可以作為cad數(shù)據(jù)和/或產(chǎn)品數(shù)據(jù)被存留到cad文件和/或plm數(shù)據(jù)存儲區(qū)。然后可以基于cad數(shù)據(jù)或產(chǎn)品數(shù)據(jù)來實施與生成工程制圖和/或bom相關聯(lián)的動作。此外,該方法可以包括個體基于工程制圖和/或bom來手動構建結構。此外,這樣的動作可以包括機器(諸如3d打印機)基于cad數(shù)據(jù)來構建結構(或結構的一部分)。
如先前所討論的,可以由一個或多個處理器來實施與這些方法相關聯(lián)的動作(除了諸如手動構建結構的動作之類的任何所述手動動作之外的)。(一個或多個)這樣的處理器可以被包括在一個或多個數(shù)據(jù)處理系統(tǒng)中,例如,其執(zhí)行可操作用來促使這些動作被所述一個或多個處理器實施的軟件組件。在示例實施例中,這樣的軟件組件可以包括與例程、子例程、程序、應用、模塊、庫、執(zhí)行線程等等相對應的計算機可執(zhí)行指令。此外,應該認識到,可以在軟件環(huán)境/語言/框架中編寫軟件組件和/或通過軟件環(huán)境/語言/框架來產(chǎn)生軟件組件,該軟件環(huán)境/語言/框架諸如java、javascript、python、c、c#、c++或能夠產(chǎn)生被配置成實施本文描述的動作和特征的組件和圖形用戶接口的任何其他軟件工具。
圖13圖示其中實施例可以被實施為例如plm的多領域仿真和模型設計工具的一部分的數(shù)據(jù)處理系統(tǒng)1300(也被稱為計算機系統(tǒng))和/或通過軟件或以其他方式可操作配置成執(zhí)行如本文描述的過程的其他系統(tǒng)的框圖。所描繪的數(shù)據(jù)處理系統(tǒng)包括可連接到一個或多個橋/控制器/總線1304(例如北橋、南橋)的至少一個處理器1302(例如cpu)??偩€1304中的一個例如可以包括一個或多個i/o總線,諸如快速pci總線。在所描繪的示例中還被連接到各種總線的可以包括主存儲器1306(ram)和圖形控制器1308。該圖形控制器1308可以被連接到一個或多個顯示設備1310。還應該注意,在一些實施例中一個或多個控制器(例如圖形、南橋)可以與cpu一起集成(在相同芯片或管芯上)。cpu架構的示例包括ia-32、x86-64和arm處理器架構。
連接到一個或多個總線的其他外設可以包括通信控制器1312(以太網(wǎng)控制器、wifi控制器、蜂窩控制器),其可操作成連接到局域網(wǎng)(lan)、廣域網(wǎng)(wan)、蜂窩網(wǎng)絡和/或其他有線或無線網(wǎng)絡1314或通信設備。
連接到各種總線的另外的組件可以包括一個或多個i/o控制器1316,諸如usb控制器、藍牙控制器和/或專用音頻控制器(連接到揚聲器和/或麥克風)。還應該認識到,各種外設可以被連接到usb控制器(經(jīng)由各種usb端口),所述各種外設包括輸入設備1318(例如鍵盤、鼠標、觸摸屏、軌跡球、游戲手柄、攝像機、麥克風、掃描儀、運動感測設備)、輸出設備1320(例如打印機、揚聲器)或可操作成提供輸入或從數(shù)據(jù)處理系統(tǒng)接收輸出的任何其他類型的設備。此外,應該認識到被稱為輸入設備或輸出設備的許多設備不僅提供與數(shù)據(jù)處理系統(tǒng)的通信的輸入而且還接收與數(shù)據(jù)處理系統(tǒng)的通信的輸出。此外,應該認識到連接到i/o控制器1316的其他外設硬件1322可以包括被配置成與數(shù)據(jù)處理系統(tǒng)進行通信的任何類型的設備、機器或組件。
連接到各種總線的附加組件可以包括一個或多個存儲控制器1324(例如sata)。存儲控制器可以被連接到存儲設備1326,諸如一個或多個存儲驅動器和/或任何相關聯(lián)的可移除介質,其可以是任何適當?shù)姆撬矔r機器可用或機器可讀存儲介質。示例包括非易失性設備、易失性設備、只讀設備、可寫入設備、rom、eprom、磁帶儲存器、軟盤驅動器、硬盤驅動器、固態(tài)驅動器(ssd)、閃速存儲器、光盤驅動器(cd、dvd、藍光)以及其他已知的光學、電學或磁性存儲設備驅動器和/或計算機介質。而且在一些示例中,諸如ssd之類的存儲設備可以被直接連接到i/o總線1304,諸如快速pci總線。
根據(jù)本公開的實施例的數(shù)據(jù)處理系統(tǒng)可以包括操作系統(tǒng)1328、軟件/固件1330和數(shù)據(jù)存儲區(qū)1332(其可以被存儲在存儲設備1326和/或存儲器1306上)。這樣的操作系統(tǒng)可以采用命令行接口(cli)殼(shell)和/或圖形用戶接口(gui)殼。gui殼容許多個顯示窗口被同時呈現(xiàn)在圖形用戶接口中,其中每個顯示窗口提供到不同應用或到相同應用的不同實例的接口。圖形用戶接口中的光標或指針可以由用戶通過定點設備(諸如鼠標或觸摸屏)來操縱。光標/指針的位置可以被改變和/或諸如點擊鼠標按鈕或觸摸觸摸屏之類的事件可以被生成以致動期望的響應??梢栽跀?shù)據(jù)處理系統(tǒng)中使用的操作系統(tǒng)的示例可以包括microsoftwindows、linux、unix、ios和android操作系統(tǒng)。而且,數(shù)據(jù)存儲區(qū)的示例包括數(shù)據(jù)文件、數(shù)據(jù)表、關系數(shù)據(jù)庫(例如oracle、microsoftsql服務器)、數(shù)據(jù)庫服務器、或者能夠存儲可被處理器檢索的數(shù)據(jù)的任何其他結構和/或設備。
通信控制器1312可以被連接到網(wǎng)絡1314(不是數(shù)據(jù)處理系統(tǒng)1300的一部分),如本領域技術人員所已知的其可以是任何公用或私用數(shù)據(jù)處理系統(tǒng)網(wǎng)絡或網(wǎng)絡的組合(包括因特網(wǎng))。數(shù)據(jù)處理系統(tǒng)1300通過網(wǎng)絡1314與諸如服務器1334(也不是數(shù)據(jù)處理系統(tǒng)1300的一部分)之類的一個或多個其他數(shù)據(jù)處理系統(tǒng)進行通信。然而,替代數(shù)據(jù)處理系統(tǒng)可以與實現(xiàn)為分布式系統(tǒng)的部分的多個數(shù)據(jù)處理系統(tǒng)相對應,其中與若干數(shù)據(jù)處理系統(tǒng)相關聯(lián)的處理器可以通過一個或多個網(wǎng)絡連接的方式進行通信并且可以共同執(zhí)行描述為由單個數(shù)據(jù)處理系統(tǒng)執(zhí)行的任務。因此,要理解,當提到數(shù)據(jù)處理系統(tǒng)時,可以跨分布式系統(tǒng)中組織的經(jīng)由網(wǎng)絡彼此通信的若干個數(shù)據(jù)處理系統(tǒng)實現(xiàn)這樣的系統(tǒng)。
此外,術語“控制器”意指控制至少一個操作的任何設備、系統(tǒng)或其部分,無論這樣的設備是以硬件、固件、軟件還是它們中的至少兩個的某個組合來實現(xiàn)的。應該注意,與任何特定控制器相關聯(lián)的功能可以是集中式的或分布式的,無論是本地的還是遠程的。
此外,應該認識到,數(shù)據(jù)處理系統(tǒng)可以被實現(xiàn)為虛擬機架構中的虛擬機或云環(huán)境。例如,處理器1302以及相關聯(lián)的組件可以對應于在一個或多個服務器的虛擬機環(huán)境中執(zhí)行的虛擬機。虛擬機架構的示例包括vmwareesci、microsofthyper-v、xen和kvm。
本領域普通技術人員將會認識到,專用于數(shù)據(jù)處理系統(tǒng)的硬件可能因為特定實施方式而變化。例如,在該示例中的數(shù)據(jù)處理系統(tǒng)1300可以對應于計算機、工作站和/或服務器。然而,應該認識到,數(shù)據(jù)處理系統(tǒng)的替代實施例可以被配置有對應或替代的組件,諸如以移動電話、平板電腦、控制器板或任何其他系統(tǒng)的形式,所述任何其他系統(tǒng)可操作成處理數(shù)據(jù)且實施本文描述的與數(shù)據(jù)處理系統(tǒng)、計算機、處理器和/或本文討論的控制器的操作相關聯(lián)的功能和特征。所描繪的示例僅為了解釋的目的而提供并且不意味著暗示關于本公開的架構限制。
如本文所使用的,術語“組件”和“系統(tǒng)”意圖涵蓋硬件、軟件、或硬件和軟件的組合。因此,例如,系統(tǒng)或組件可以是過程、在處理器上執(zhí)行的過程、或處理器。此外,組件或系統(tǒng)可以被定位在單個設備上或分布在若干個設備上。
而且,如本文所使用的,處理器對應于經(jīng)由硬件電路、軟件和/或固件配置成處理數(shù)據(jù)的任何電子設備。例如,本文所述的處理器可以對應于能夠在數(shù)據(jù)處理系統(tǒng)中處理數(shù)據(jù)的微處理器、cpu、fpga、asic或任何其他集成電路(ic)或其他類型的電路(其可以具有控制器板、計算機、服務器、移動電話和/或任何其他類型的電子設備的形式)中的一個或多個(或組合)。
為了簡單和清晰,本領域技術人員將會認識到,本文沒有描繪或描述適合于供本公開使用的所有數(shù)據(jù)處理系統(tǒng)的完全結構和操作。作為替代,僅描繪和描述了對本公開來說唯一的或理解本公開所必要的那樣多的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)1300的構造和操作的剩余部分可以符合本領域中已知的各種當前實現(xiàn)方式和實踐中的任一個。
盡管已經(jīng)詳細描述了本公開的示例性實施例,但是本領域技術人員將會理解,在不脫離本公開的其最寬廣形式的精神和范圍的情況下,可以作出對本文公開的各種修改、替代、變化和改進。
本申請中的描述都不應該被視為意味著任何特定元素、步驟、動作或功能是必須被包括在權利要求范圍中的必要元素:專利主題的范圍僅由授權的權利要求來限定。此外,這些權利要求都不旨在調(diào)用35usc§112(f),除非確切詞“用于…的裝置”之后是分詞。