本公開涉及模擬器領域。更特別地,本公開涉及用于執(zhí)行分布式模擬的可配置模擬器。
背景技術:商務航空公司和空軍使用飛行模擬器來訓練其飛行員以面對各種類型的情況。因為每種飛機都有其特殊性,因此飛行模擬器通常被構建成在一種類型或者相近類型的飛機上來鍛煉飛行員。飛行模擬器分為幾組組件,每組組件對應于飛機的一種特定功能。例如,第一組組件用于模擬顯示器上顯示的信息;第二組組件用于模擬飛機的運動;第三組組件用于模擬電子電路;另一組組件用于模擬液壓回路等。該幾組組件由一個或者幾個處理器集中控制。因此,需要用于執(zhí)行分布式模擬的可配置的模擬器。
技術實現(xiàn)要素:根據第一方面,本公開提供了用于執(zhí)行分布式模擬的可配置的模擬器。模擬器包括至少一個模擬控制器和多個可配置的模塊卡。模擬控制器包括輸入/輸出單元,用于從多個可配置的模塊卡接收廣播消息,并將帶有配置參數(shù)的廣播響應消息發(fā)送至多個可配置的模塊卡;以及用于從多個可配置的模塊卡中的一個可配置的模塊卡接收帶有測試結果的測試通知,并將帶有重新配置參數(shù)的重新配置請求發(fā)送至多個可配置的模塊卡中的至少一個可配置的模塊卡。模擬控制器還包括處理器,用于基于模擬器預定義的配置來確定多個可配置的模塊卡的配置參數(shù);以及用于基于之前確定的配置參數(shù)且基于測試結果來確定多個可配置的模塊卡中的至少一個可配置的模塊卡的重新配置參數(shù)。每個可配置的模塊卡包括可配置的輸入/輸出單元和電源,該可配置的輸入/輸出單元包括多個可配置的輸入端和輸出端,該電源包括多個可配置的電源電路。每個卡還包括至少一個處理器,用于產生由可配置的輸入/輸出單元發(fā)送至模擬控制器的廣播消息?;谟煽膳渲玫妮斎?輸出單元接收的廣播響應消息,處理器還執(zhí)行輸入/輸出配置代碼,以配置可配置的輸入/輸出單元的多個輸入端和輸出端?;谟煽膳渲玫妮斎?輸出單元接收的廣播響應消息,處理器進一步執(zhí)行電源配置代碼,以配置電源的多個電源電路?;谟煽膳渲玫妮斎?輸出單元接收的重新配置請求,處理器執(zhí)行輸入/輸出配置代碼,以重新配置可配置的輸入/輸出單元的多個輸入端和輸出端?;谟煽膳渲玫妮斎?輸出單元接收的重新配置請求,處理器還執(zhí)行電源配置代碼,以重新配置電源的多個電源電路。處理器進一步執(zhí)行模擬代碼來實現(xiàn)模擬器的功能。所執(zhí)行的模擬代碼基于以下中的一個來確定:由可配置的輸入/輸出單元接收的廣播響應消息或者重新配置請求。在特定的方面,幾個可配置的模塊卡的處理器執(zhí)行實現(xiàn)模擬器的特定功能的幾個分布式的子功能的模擬代碼。在另一個特定的方面,配置可配置的輸入/輸出單元的多個輸入端和輸出端包括執(zhí)行輸入端和輸出端的網絡配置。在另一個其他的特定方面,配置可配置的輸入/輸出單元的多個輸入端和輸出端包括確定哪些輸入端和輸出端與至少一個其他模擬組件交換數(shù)據。在又一個特定的方面,配置電源的多個電源電路包括確定以下中的至少一個:由特定的電源電路提供給電子元件的電力的特定的電流強度和特定的電壓。在另一個特定的方面,模擬器的功能包括幾個子功能,并且配置可配置的輸入/輸出單元的多個輸入端和輸出端包括確定哪些輸入端和輸出端用于接收和發(fā)送與特定的子功能相關的數(shù)據。附圖說明本公開的實施例將以僅參考附圖實例的方式進行描述,其中:圖1是可配置模塊卡的方框圖;圖2是根據第一方面的包括圖1中的幾個可配置模塊卡的可配置的模擬器的方框圖;圖3是根據另一方面的包括圖1中的幾個可配置的模塊卡的可配置模擬器的方框圖;圖4是根據另一方面的圖1中的可配置的模塊卡的方框圖;圖5示出了根據又一方面的用于操作包括圖1中的多個可配置的模塊卡的可配置的模擬器的方法;以及圖6示出了包括圖1中的幾個可配置模塊卡的示例性飛行模擬器。具體實施方式通過閱讀以下以只參考附圖的實例給出的對本文中的說明性實施例的非限制性的描述,上述和其他特征將變得更加顯而易見。相似的數(shù)字代表各個圖中的相似特征。本公開的各個方面大體上解決了具有用于執(zhí)行模擬的多個計算組件的模擬器的一個或者多個問題。在本公開中提及的模擬器可被用于不同的模擬目的。例如,第一種類型的模擬器可以由車輛的模擬器組成,如飛機模擬器、陸地車輛模擬器、船只模擬器、地鐵模擬器,礦業(yè)模擬器或者核電站模擬器。模擬器是復雜的系統(tǒng),通常包括多個組件。第一種類型的組件由計算組件組成,該計算組件包括用于執(zhí)行特定的模擬軟件(模擬軟件和模擬代碼在本發(fā)明中互換使用)的處理器。計算組件通常接收數(shù)據、通過特定的模擬軟件來處理接收到的數(shù)據以產生新的數(shù)據、并傳輸新的數(shù)據。計算組件可能還能夠與一個或者幾個專用硬件組件進行交互,該專用硬件組件如傳感器、機械致動器、氣動執(zhí)行器、液壓致動器、顯示器、開關、燈、電氣元件等。計算組件可以從專用硬件組件接收數(shù)據和/或者向專用硬件組件發(fā)送命令(例如,從傳感器接收數(shù)據和向致動器發(fā)送致動命令)。計算組件還可以彼此相互交換數(shù)據以執(zhí)行且同步模擬。模擬器通常作為用于實現(xiàn)模擬器的多個功能的多個子系統(tǒng)來實施。每個子系統(tǒng)包括多個計算組件和多個專用硬件組件。計算組件由一個或者幾個專用實體來集中控制,所述專用實體具有執(zhí)行控制軟件的處理器。計算組件通常由專用卡來實現(xiàn),每個專用卡具有被設計為實現(xiàn)模擬器的特定功能或者子功能的特定電子元件。此外,每個專用卡可僅能夠執(zhí)行存儲在特定卡的存儲器中的專用的軟件。因此,當這樣的專用卡不能正常操作時,唯一的選擇就是修復專用卡(可能中斷模擬)或者用完全是同一類型的專用卡(其可能不能立即獲得或者可能很貴)替換該專用卡。本公開介紹了可配置的模塊卡,其可以配置成起到上述的幾個計算組件的作用。因此,模擬器不再依賴于多個專用卡,所述多個專用卡由可配置的模塊卡的實例來替換??膳渲玫哪K卡包括幾個可配置的電子元件(比如,可配置的輸入/輸出單元、可配置的電源)。由特定的可配置的模塊卡執(zhí)行的模擬軟件也是可配置的??膳渲玫哪K卡由具有執(zhí)行配置和控制軟件的處理器的一個或者多個專用實體進行配置和控制。因此,當實現(xiàn)模擬器的關鍵功能的特定的可配置的模塊卡工作不正常時,模擬器的另一個可配置的模塊卡可以被重新配置以代替有缺陷的卡來實現(xiàn)關鍵功能。圖6示出了示例性的飛行模擬器600,該飛行模擬器600包括模擬控制器610和幾個可配置的模塊卡(631、632、641、642、652、661和671)??膳渲玫哪K卡分層地實現(xiàn)飛行模擬器600的兩個示例性子系統(tǒng)(發(fā)動機620和起落架650)。在之后的描述中將更詳細的描述圖6??膳渲玫哪K卡現(xiàn)在參考圖1,描述了用于模擬器中的可配置的模塊卡100。卡100包括板10和安裝在板上的處理器20。盡管圖1中示出了單個處理器20,但是卡100可以包括幾個并行地運行的處理器,這在本領域中是眾所周知的。此外,每個處理器可以是單核或者多核處理器。至少一個處理器可以執(zhí)行模擬代碼或者模擬代碼的一部分以實現(xiàn)模擬器的功能。模擬器的功能的實例包括但不局限于:模擬顯示器上顯示的信息、模擬飛機的運動、模擬飛機的電子電路、模擬飛機的液壓回路、模擬心跳、模擬身體機能、和/或者已知的任何其他類型的模擬規(guī)程。卡100還包括安裝在板10上并且與處理器20進行電子通信的存儲器30。盡管圖1中示出了單個存儲器30,但是卡100還可以包括幾個存儲器或者幾組存儲器。卡100上存在的每個存儲器可以專用于卡100的單個處理器或者可以由卡100的幾個處理器共享???00還包括可配置的輸入/輸出(I/O)單元40。由處理器20執(zhí)行的模擬代碼可以通過可配置的I/O單元40來接收??膳渲玫腎/O單元40包括多個可配置的輸入端和輸出端。出于說明目的,圖1中示出的可配置的I/O單元40包括可配置的輸入端41、可配置的輸出端42和可配置的輸入端/輸出端43??膳渲玫妮斎攵?1能夠從未在圖1中示出的一個或者幾個其他組件接收數(shù)據??膳渲玫妮敵龆?2能夠向未在圖1中示出的一個或者幾個組件傳送數(shù)據。可配置的輸入/輸出端43能夠與一個或者幾個組件110交換(傳送或者接收)數(shù)據??膳渲玫腎/O單元40還可以包括一個或者幾個開關。例如,圖1中示出的可選開關44。開關44完成以下中的至少一個:對可配置的輸入/輸出端43和其他模擬組件110之間交換的信號進行切換、復用和解復用。只要可配置的I/O單元40與板10的大小和形狀相容且與其他電子元件在板10上所留下的空間相容,那么可配置的I/O單元40就可以包括任意數(shù)量的可配置的輸入端和輸出端??膳渲玫腎/O單元40中的每個可配置的輸入端和輸出端能夠與單個或者與多個其他的模擬組件進行通信,比如,例如:面板、電子設備、傳感器、發(fā)動機和致動器和/或者任何類型的飛機或者車輛的導航、航空電子設備等。當處理器20執(zhí)行模擬代碼來實現(xiàn)模擬器的功能時,處理器20可以處理由可配置的I/O單元40從其他組件接收的數(shù)據,并產生由可配置的I/O單元40發(fā)送到其他組件的數(shù)據。可配置的I/O單元40的可配置的輸入端和輸出端根據一種或者幾種類型的通信協(xié)議為卡100提供通信能力。例如,可配置的I/O單元40可以包括至少一個以太網板用于通過以太網協(xié)議接收/傳送數(shù)據??蛇x擇地或者同時地,可配置的I/O單元40可以包括模擬的或者數(shù)字的輸入/輸出、串行輸入/輸出、USB輸入、以太網輸入、用于通過Wi-Fi協(xié)議接收/傳送數(shù)據的無線保真(Wi-Fi)板、控制器局域網總線、I2輸入/輸出??膳渲玫腎/O單元40還可以包括高清多媒體接口(HDMI)板,用于將視頻(和音頻)數(shù)據傳送到屏幕。其他類型的輸入端和輸出端可以基于與卡100交換數(shù)據的各種類型的其他模擬組件(如110)由可配置的I/O單元40來實現(xiàn)??膳渲玫腎/O單元40還發(fā)送廣播消息和接收廣播響應消息。廣播消息可以由可配置的I/O單元40的不同的輸出來發(fā)送,且廣播響應消息可以由可配置的I/O單元40的不同的輸入來接收。另外,不同的通信協(xié)議可以被用于發(fā)送廣播消息和接收廣播響應消息。在一個特定的方面,可配置的I/O單元40具有用于發(fā)送廣播消息的預定義輸出端和用于接收廣播響應消息的預定義輸入端。在圖1中示出的實施例中,通過輸入/輸出端43發(fā)送廣播消息120和接收廣播響應消息121??蛇x地,廣播消息120可以通過輸出端42進行發(fā)送,而廣播響應消息121可以通過輸入41進行接收。在另一個實施例中,廣播消息120可以通過可配置的I/O單元40的以太網板進行發(fā)送,且廣播響應消息121可以通過可配置的I/O單元40的Wi-Fi板進行接收??蛇x地,廣播消息120可以通過可配置的I/O單元40的Wi-Fi板進行發(fā)送,且廣播響應消息121可以通過可配置的I/O單元40的以太網板進行接收。當卡100在被制造/在使用前預配置時,預定義輸出端和預定義輸入端可以被永久地存儲在存儲器30中。在卡100啟動時,處理器20可以執(zhí)行永久地存儲在存儲器中30的引導程序。引導程序包括通過存儲的預定義輸出端發(fā)送廣播消息120,以及通過存儲的預定義輸入端接收廣播響應消息121。在特定的實施例中,廣播消息120包括配置請求、卡100的標識(如,序列號)和預定義輸入端的標識(如,以太網或者互聯(lián)網協(xié)議(IP)地址)。廣播消息120由配置組件接收。配置組件基于卡100的標識來確定配置參數(shù)。之后,配置組件通過被發(fā)送到預定義輸入端的廣播響應消息121,將配置參數(shù)傳送至卡100。配置組件可以基于很多可能的變化(例如,所需要的替換卡、所要求的處理能力、待執(zhí)行的模擬、物理I/O能力等)來確定配置參數(shù)。配置參數(shù)可以包括其他可配置的模塊卡的清單,卡100必須與其通信以執(zhí)行模擬。例如,配置參數(shù)可以包括卡及其相對應的子功能的清單,使得卡100在執(zhí)行模擬時,通過從清單中識別由特定的卡來執(zhí)行特定的子功能,可以直接與其他的卡進行通信。配置參數(shù)還可以包括專用硬件組件的清單,卡100必須與其通信以執(zhí)行模擬。圖1中示出的其他模擬組件110中的一個模擬組件可以實現(xiàn)配置組件。由于卡100沒必要知道配置組件,所以使用廣播消息120。通過以廣播模式發(fā)送消息120,卡100確保消息120由配置組件(以及由其他實體)接收。配置組件接收廣播消息120、確定其為預期接收者、處理廣播消息120并返回廣播響應消息121???00還包括總線50,其與可配置的I/O單元40、與板10的至少一個處理器20、以及與板10的至少一個存儲器30電連接??偩€50在它們之間提供電子數(shù)據交換。例如,處理器20通過總線50讀取存儲器30中的數(shù)據,處理數(shù)據,并通過總線50將處理的數(shù)據傳送到可配置的I/O單元40(用于通過可配置的I/O單元40的輸出進一步地傳輸?shù)搅硪粋€模擬組件)。類似地,處理器20通過總線50從可配置的I/O單元40接收數(shù)據(由可配置的I/O單元40的輸入從另一個模擬組件接收的數(shù)據),處理數(shù)據,并通過總線50將處理的數(shù)據傳送到存儲器30用于存儲于其中。輸入/輸出(I/O)配置代碼(在圖1中沒有示出)存儲在存儲器30中。I/O配置代碼通過處理器20執(zhí)行,以基于接收到的廣播響應消息121來配置可配置的I/O單元40的多個輸入端和輸出端(例如,41、42和43)??膳渲玫腎/O單元40的配置可以包括其輸入端和輸出端的網絡配置。網絡配置是本領域中所熟知的,而且取決于輸入端和輸出端的具體類型,并且取決于它們所支持的通信協(xié)議的具體類型。例如,以太網輸入/輸出的配置可以包括其IP地址的配置。Wi-Fi輸入/輸出的配置可以包括服務集標識符(SSID)和無線密鑰以及其IP地址的配置。在這些實例中,IP地址、SSID和無線密鑰是通過廣播響應消息121傳送到卡100的網絡配置參數(shù)。可配置的I/O單元40的配置可以包括其輸入端和輸出端的功能配置。例如,卡100的第一子功能與第一輸入端/輸出端相關聯(lián)。當執(zhí)行第一子功能時,與其他模擬組件(例如,110)交換的所有數(shù)據由第一輸入端/輸出端傳送和接收???00的另一個子功能與第二輸入端/輸出端相關聯(lián)。當執(zhí)行第二子功能時,與其他模擬組件交換的所有數(shù)據由第二輸入端/輸出端傳送和接收。例如,可配置的I/O單元40可以具有兩個視頻輸出。第一視頻輸出連接到受訓者的視頻屏幕,而第二視頻輸出連接到指導員的視頻屏幕。處理器20運行模擬軟件,其產生用于受訓者的特定視頻數(shù)據(第一子功能),以及產生用于指導員的特定視頻數(shù)據(第二子功能)。接收到的廣播響應消息121提供以下配置:用于受訓者的特定視頻數(shù)據應該通過第一視頻輸出進行傳送,而用于指導員的特定視頻數(shù)據應該通過第二視頻輸出進行傳送??蛇x地,可配置的I/O單元40的輸入端和輸出端的功能配置可以在于確定多個輸入端和輸出端內的哪些輸入端和輸出端將被用于與另一個模擬組件交換數(shù)據。參考之前的可配置的I/O單元40在其中具有兩個視頻輸出的實例,接收到的廣播響應消息121提供以下配置:被發(fā)送到第一屏幕(例如,受訓者的屏幕)的視頻數(shù)據應該通過第一視頻輸出進行傳送,而被發(fā)送到第二屏幕(例如,指導員的屏幕)的視頻數(shù)據應該通過第二視頻輸出進行傳送。廣播消息的參數(shù)的實例還包括:聲音數(shù)據、傳感器數(shù)據、飛機協(xié)議數(shù)據、車輛協(xié)議數(shù)據等???00還包括電源60。電源60接收輸入電源65的預定義電壓,且包括多個可配置的電源電路。出于說明目的,圖1示出的電源60包括兩個可配置的電源電路61和62。只要電源60與板10的大小和形狀相容,并且與其他電子元件在板10上所留下的空間相容,則電源60就可以包括任意數(shù)量的可配置的電源電路??膳渲玫碾娫措娐窞榭?00的一個或者幾個電子元件提供電力。此外,可配置的電源電路中的一些可配置的電源電路可以為一個或者幾個其他的模擬組件(例如,110)的電子元件提供電力。出于說明目的,圖1中示出的可配置的電源電路61為可配置的I/O單元40提供電力66,且可配置的電源電路62為處理器20提供電力67?;趯嵤﹥?yōu)先權或者電源60的能力或者由卡100供電的其他組件的電力需求,使用與輸入電源65具有相同電壓和電流的電力的組件,可以從輸入電源65直接接收電力,而不通過電源60,如在輸入電源65和I/O單元40之間由虛線示出。為了簡單起見,盡管未在圖1中示出,但是可配置的電源電路61和62也可以為總線50、存儲器30和其他模擬組件110提供電力??蛇x地,另外的可配置的電源電路可以用于為總線50、存儲器30和其他模擬組件110提供電力。例如,其他模擬組件110可以包括一個或者幾個用于顯示數(shù)據的屏幕,這些屏幕從供電單元60的至少一個可配置的電源電路接收電力。電源配置代碼(圖1中沒有示出)存儲在存儲器30中。電源配置代碼由處理器20執(zhí)行,以基于接收到的廣播響應消息121來配置電源60的多個電源電路(例如,61和62)。每個特定電源電路的配置可以由特定的電流強度(電壓與輸入電源65類似)、特定的電壓(電流強度與輸入電源65類似)、脈寬調制功率或者電流強度和電壓的特定組合組成,用于由特定的電源電路提供的電源。如果電源電路具有幾個輸出以用于為幾個實體提供電力,則每個電源輸出可以單獨進行配置。廣播響應消息121包括對電源60的每個可配置的電源電路的電源配置參數(shù)(例如,電流強度和/或電壓)。在圖1中示出的實施例中,相同的廣播消息120/廣播響應消息121中的一個或者兩個被用于配置可配置的I/O單元40和電源60。可選地,專用廣播消息/廣播響應消息可以用于分別地配置可配置的I/O單元40和電源60。電源60中的一個或者幾個電源電路可以具有默認配置,以允許卡100的正確操作直到接收到包含電源配置參數(shù)的廣播響應消息121。一些電源電路的默認配置可被接收到的電源配置參數(shù)覆蓋,同時一些電源電路的默認配置可以被保持。當卡100在被制造/在使用前預配置時,配置代碼(I/O配置代碼和電源配置代碼)可以被永久地存儲在存儲器30中。當卡100啟動時,在接收到廣播響應消息121之后,處理器30可以執(zhí)行配置代碼。配置代碼也可以在其他時刻被執(zhí)行:在卡100復位之后、在卡100故障(軟件或者硬件)之后需要完整的重新配置等。通過廣播響應消息121接收到的可配置的I/O單元40的配置參數(shù)和電源60的配置參數(shù)可以被永久地存儲在存儲器30中,以隨時可供配置代碼使用??蛇x地,最初配置代碼可以不在存儲器30中,而是從外部實體下載(例如,其他模擬組件110中的一個),并存儲在存儲器30中用于進一步地使用??膳渲玫腎/O單元40的預定義輸出端和預定義輸入端(例如,43)可以被用于執(zhí)行配置代碼的下載。廣播消息120/廣播響應消息121可以被用于此目的,或者可以使用專用于配置代碼的下載的額外的廣播消息/廣播響應消息。測試代碼(圖1中沒有示出)存儲在存儲器30中。由處理器20執(zhí)行測試代碼以為基于廣播響應消息121配置的可配置的I/O單元40的多個輸入端和輸出端產生測試信號。由處理器20執(zhí)行的測試代碼也可以為基于廣播響應消息121配置的電源60的多個電源電路產生測試信號。為可配置的I/O單元40的多個輸入端和輸出端產生的測試信號允許驗證輸入端和輸出端的操作符合通過廣播響應消息121所接收的配置參數(shù)。該驗證可以包括輸入端和輸出端的網絡配置的驗證。例如,測試信號可以允許確定特定的輸入或者特定的輸出分別地能夠以特定的吞吐量、以特定的延遲、以特定的丟包率等接收和傳送數(shù)據。該驗證也可以包括輸入端和輸出端與另一個模擬組件的網絡連接的驗證。同時地或者可選地,驗證還可以包括電壓狀態(tài)和電流狀態(tài)的持續(xù)驗證。為此目的,為電源60的多個電源電路產生的測試信號允許驗證電源電路的操作符合通過廣播響應消息121接收的配置參數(shù)。例如,測試信號可以允許確定特定的電源電路以額定電壓和/或者電流強度工作。類似于配置代碼,當卡100在被制造/在使用前預配置時,測試代碼可以被永久地存儲在存儲器30中??蛇x地,最初測試代碼可以不在存儲器30中,而是從外部實體下載(例如,其他模擬組件110中的一個),并存儲在存儲器30中用于進一步地使用。如果有幾個處理器安裝在板10上,則配置代碼和測試代碼可以由相同的處理器或者由不同的處理器來執(zhí)行。此外,測試代碼可以被分為由不同的處理器并行地操作來執(zhí)行的多個功能模塊。帶有多個可配置的模塊卡的可配置的模擬器現(xiàn)在同時參考圖1和圖2,描述了帶有多個可配置的模塊卡的可配置的模擬器200。模擬器200包括可配置組件210和多個可配置的模塊卡101、102、103和104。多個可配置的模塊卡101、102、103和104是先前參考圖1已經描述的可配置的模塊卡100的實例。盡管可配置的模塊卡100的四個實例已經在圖2中示出,但是模擬器200可以包括任意數(shù)量的這些卡。配置組件210包括輸入/輸出(I/O)單元211和處理器212。配置組件210可以包括額外的電子元件,如額外的處理器、至少一個存儲器、總線、供電單元,為了簡化并沒有在圖2中示出。配置組件210配置多個可配置的模塊卡101、102、103和104??膳渲玫哪K卡100的實例的配置先前參考圖1已經進行了描述。每個可配置的模塊卡(例如,101)發(fā)送廣播消息(在其可配置的I/O單元40的預定義輸出端上)到配置組件210。廣播消息由配置組件210的I/O單元211進行接收并傳送到處理器212。盡管圖2示出了各個I/O單元間的物理連接,但是其間的連接能夠是邏輯連接和/或無線連接。處理器212確定用于可配置的模塊卡(例如,101)的配置參數(shù),并將配置參數(shù)傳送到I/O單元211。I/O單元211將帶有配置參數(shù)的廣播響應消息發(fā)送到可配置的模塊卡(例如,101)。由可配置的模塊卡(例如,101)的可配置的I/O單元40的預定義輸入端接收廣播響應消息?;诮邮盏降膹V播響應消息,每個可配置的模塊卡(例如,101)的處理器20執(zhí)行其I/O配置代碼來配置其可配置的輸入/輸出單元40的多個輸入端和輸出端?;诮邮盏降膹V播響應消息,每個可配置的模塊卡(例如,101)的處理器20執(zhí)行其電源配置代碼來配置其電源60的多個電源電路。模擬器200可以包括多于一個配置組件210。例如,配置組件210可以負責配置可配置的模塊卡101和102,而另一個配置組件(圖2中沒有示出)可以負責配置可配置的模塊卡103和104。此外,可以由可配置的模塊卡100來實現(xiàn)配置組件。例如,可配置的模塊卡103可以由配置組件210進行配置,并為可配置的模塊卡104實現(xiàn)配置組件的功能。當模擬器200的可配置的模塊卡(例如,101)被配置時,其處理器20能夠執(zhí)行模擬代碼來實現(xiàn)模擬器200的功能。其可配置的I/O單元40能夠與至少一個其他的模擬組件交換(接收和發(fā)送)數(shù)據。執(zhí)行模擬代碼以實現(xiàn)模擬器200的功能包括處理由可配置的I/O單元40接收的數(shù)據并產生由可配置的I/O單元40發(fā)送的數(shù)據。由處理器20執(zhí)行的I/O配置代碼來確定用于交換特定類型的通信數(shù)據或者用于與特定的其他模擬組件通信的可配置的I/O單元40的特定的輸入端和輸出端。其他模擬組件可以由另一個可配置的模塊卡100組成或者由與可配置的模塊卡100不同的專用硬件組件220(例如,顯示器、燈、機械致動器等)組成。例如,如圖2所示,可配置的模塊卡101與可配置的模塊卡102交換數(shù)據。可配置的模塊卡102與可配置的模塊卡101和104交換數(shù)據。可配置的模塊卡103與可配置的模塊卡104以及專用硬件組件220交換數(shù)據。可配置的模塊卡104與可配置的模塊卡102和103交換數(shù)據。專用硬件組件(例如,220),如顯示器、燈、機械致動器,受一個或者幾個可配置的模塊卡(例如,103)控制。在這種情況下,它們之間所交換的數(shù)據包括由可配置的模塊卡(例如,103)的處理器20執(zhí)行的模擬軟件所產生的命令。該命令被發(fā)送到專用硬件組件(例如,220)來觸發(fā)代表了模擬的當前狀態(tài)的事件。這些事件可以包括:在顯示器上顯示數(shù)據、打開或者關閉燈、激活機械致動器(例如,去移動受訓者坐著的座位)、控制模擬式儀表(開動設備的儀表,比如,例如測高儀、泵浦表、壓力表等)。可選地,專用硬件組件(例如,220)可以由傳感器組成,并且在傳感器和一個或幾個可配置的模塊卡(例如,103)之間交換的數(shù)據存在于通過傳感器采集并發(fā)送到可配置的模塊卡的數(shù)據中。由可配置的模塊卡(例如,103)的處理器20執(zhí)行的電源配置代碼配置其供電單元60的電源電路,以將電力提供到可配置的模塊卡(例如,103)的電子元件(例如,處理器20、可配置的I/O單元40)。更具體地,配置包括確定提供至特定的電子元件的電源的至少一個特定的電流強度或者特定的電壓。此外,供電單元60的一些電源電路可以被配置為將電力提供至另一個實體的電子元件。例如,可配置的模塊卡103的供電單元60的一些電源電路可以被配置為將電力輸出至可配置的模塊卡104的電子元件或者輸出至專用硬件組件220的電子元件。具有分布式模擬功能的可配置的模擬器現(xiàn)在同時參考圖1和圖3,描述了包括用于執(zhí)行分布式模擬的多個可配置的模塊卡的可配置的模擬器300。模擬器300包括模擬控制器310和多個可配置的模塊卡101、102、103和104。多個可配置的模塊卡101、102、103和104是先前參考圖1已經描述的可配置的模塊卡100的實例。盡管可配置的模塊卡100的四個實例已經在圖3中示出,但是模擬器300可以包括任意數(shù)量的這些卡。模擬控制器310與圖2中示出的配置組件210相對應,但是具有用于管理分布式模擬和用于在適當?shù)臅r候重新配置可配置的模塊卡的額外的功能。模擬控制器310包括輸入/輸出(I/O)單元311和處理器312。模擬控制器310可以包括額外的電子元件,如額外的處理器、至少一個存儲器、總線、供電單元,為了簡化的目的并沒有在圖3中示出。模擬控制器310配置多個可配置的模塊卡101、102、103和104??膳渲玫哪K卡100的實例的配置先前參考圖1已經進行了描述。每個可配置的模塊卡(例如,101)發(fā)送廣播消息到模擬控制器310。廣播消息由模擬控制器310的I/O單元311接收并傳送到處理器312。處理器312確定可配置的模塊卡(例如,101)的配置參數(shù),并將配置參數(shù)傳送到I/O單元311。I/O單元311將帶有配置參數(shù)的廣播響應消息發(fā)送到可配置的模塊卡(例如,101)。由可配置的模塊卡(例如,101)的可配置的I/O單元40接收廣播響應消息?;谀M器的預定義配置來確定配置參數(shù)。例如,如圖3示出,模擬器300可以包括兩個子系統(tǒng)350和360。第一子系統(tǒng)350實現(xiàn)模擬器的第一功能,例如,模擬飛機的運動。第二子系統(tǒng)360實現(xiàn)模擬器的第二功能,例如,模擬顯示器上顯示的信息。功能可以被劃分為幾個子功能,并且模擬器的預定義配置確定哪些可配置的模塊卡實現(xiàn)哪些功能或者子功能。系統(tǒng)的實例包括:飛行控制、自動駕駛系統(tǒng)、導航系統(tǒng)、電源管理系統(tǒng)等。每個可配置的模塊卡(例如,101)的處理器20產生由其可配置的I/O單元40發(fā)送到模擬控制器310的廣播消息。基于由每個可配置的模塊卡(例如,101)的可配置的I/O單元40接收到的廣播響應消息(包括配置參數(shù)),每個可配置的模塊卡(例如,101)的處理器20執(zhí)行其I/O配置代碼來配置其可配置的輸入/輸出單元40的多個輸入端和輸出端。基于由每個可配置的模塊卡(例如,101)的可配置的I/O單元40接收到的廣播響應消息(包括配置參數(shù)),每個可配置的模塊卡(例如,101)的處理器20執(zhí)行其電源配置代碼來配置其電源60的多個電源電路。每個可配置的模塊卡(例如,101)的處理器20執(zhí)行模擬代碼來實現(xiàn)模擬器的功能,所執(zhí)行的模擬代碼基于由每個可配置的模塊卡(例如,101)的可配置的I/O單元40接收到的廣播響應消息(包括配置參數(shù))來確定。模擬代碼可以通過包括與模擬中涉及到的每個硬件組件和硬件子組件相關的標記來將硬件與軟件分離開。例如,對將要被使用的I/O單元40的輸入端/輸出端進行標記,而且參考的是在模擬代碼中的標記,而不是輸入端/輸出端自身。通過標記模擬中涉及的硬件組件和硬件子組件,并參考在模擬代碼中的標記,根據需要甚至在運行中或者動態(tài)地,使得通過簡單地將標記重新分配給其他硬件組件和硬件子組件,來修改模塊卡100以及模塊卡與其他組件之間的交互變得可能。當模擬器的特定功能被劃分為幾個子功能時,幾個可配置的模塊卡(例如,101和102,或者可選地,103和104)的處理器20執(zhí)行模擬代碼來實現(xiàn)模擬器的特定功能的幾個分布式的子功能。在圖3中示出的實例中,由第一子系統(tǒng)350執(zhí)行的模擬器的第一功能可以由兩個分布式的子功能組成,該兩個分布式的子功能由兩個可配置的模塊卡101和102的處理器20所執(zhí)行的模擬代碼分別實現(xiàn)。由第二子系統(tǒng)360實現(xiàn)的模擬器的第二功能可以由兩個分布式的子功能組成,該兩個分布式的子功能由兩個可配置的模塊卡103和104的處理器20所執(zhí)行的模擬代碼分別地實現(xiàn)。模擬器300可以包括多于一個模擬控制器。例如,模擬控制器310負責控制子系統(tǒng)350和360的可配置的模塊卡101、102、103和104;且另一個模擬控制器(在圖3中沒有示出)可以負責控制至少一個其他子系統(tǒng)(在圖3中沒有示出)的可配置的模塊卡。此外,模擬控制器可以由可配置的模塊卡100來實現(xiàn)。模擬器300還可以包括由模擬控制器的層次結構控制的系統(tǒng)和子系統(tǒng)的層次結構。例如,第二子系統(tǒng)360可以包括至少一個低層次的子系統(tǒng)365??膳渲玫哪K卡103可以實現(xiàn)類似于模擬控制器310的模擬控制器功能。因此,可配置的模塊卡103由模擬控制器310進行控制,并且控制低層次的子系統(tǒng)365的可配置的模塊卡(在圖3中沒有示出)。由可配置的模塊卡(例如,101)的處理器20執(zhí)行的模擬代碼可以最初存儲在可配置的模塊卡的存儲器30中。模擬代碼可以被劃分在實現(xiàn)模擬器的各種功能和子功能的軟件模塊中。因此,對應于通過接收到的廣播響應消息的配置參數(shù)所指明的功能或者子功能,處理器20可以選擇執(zhí)行特定的軟件模塊??蛇x地,特定的軟件模塊最初可以不存儲在存儲器30中,并且可配置的模塊卡(例如,101)可能需要去下載它,例如,從預定義的軟件服務器或者從模擬控制器310下載。正如前面參考圖1和圖2所提到的,可配置的模塊卡(例如,101)的可配置的I/O單元40能夠與至少一個其他模擬組件交換(接收和發(fā)送)數(shù)據。其他模擬組件可以由另一個可配置的模塊卡100組成。例如,可配置的模塊卡101和102交換由可配置的模塊卡101和102的處理器20執(zhí)行的模擬代碼所產生的數(shù)據。每個模塊卡101和102實現(xiàn)由子系統(tǒng)350所執(zhí)行的全局功能的分布式的子功能。數(shù)據交換能夠使得通過可配置的模塊卡101和102分別實現(xiàn)的子功能同步。同樣地,數(shù)據交換能夠使得由可配置的模塊卡103和104分別實現(xiàn)的子功能同步。每個模塊卡103和104實現(xiàn)由子系統(tǒng)360實現(xiàn)的全局功能的分布式的子功能。盡管在圖3中沒有示出,但是不同子系統(tǒng)的可配置的模塊卡(例如,102和103)也可以交換數(shù)據。其他模擬組件也可以由專用硬件組件320、321和322組成。專用硬件組件(如顯示器、燈、機械致動器)在一個或者幾個可配置模塊卡100的控制之下。在這種情況下,它們之間交換的數(shù)據由通過可配置的模塊卡100的處理器20執(zhí)行的模擬軟件所產生的命令組成。所述命令被發(fā)送到專用硬件組件來觸發(fā)代表模擬的當前狀態(tài)的事件??蛇x地,專用硬件組件可以由傳感器組成,并且在傳感器和一個或幾個可配置的模塊卡100之間交換的數(shù)據存在于通過傳感器采集并發(fā)送到可配置的模塊卡的數(shù)據中。在圖3中示出的實例中,由第一子系統(tǒng)350實現(xiàn)的功能模擬了飛機的運動,且由第二子系統(tǒng)360實現(xiàn)的功能模擬了顯示器上顯示的信息。專用硬件組件321是用于移動受訓者坐著的座位的機械致動器,該機械致動器由可配置的模塊卡101控制。專用硬件組件322是代表在飛機的運動期間發(fā)生的各種事件的一盞燈或者一組燈,其由可配置的模塊卡102來控制。專用硬件組件320是用于顯示數(shù)據的顯示器,其由可配置的模塊卡103和104同時進行控制。本領域的技術人員將理解的是,所述功能并不限于圖3中的實例,并且可以由本模塊卡實現(xiàn)其他的功能和子系統(tǒng),比如以下:車輛零部件、飛機零部件、航空電子設備、座艙面板、車輛面板等。在特定的方面,模擬控制器310的I/O單元311從多個可配置的模塊卡中的一個可配置的模塊卡(例如,101)接收帶有測試結果的測試通知。模擬控制器310的處理器312分析測試結果,確定可配置的模塊卡(例如,101)的操作狀態(tài),并基于測試結果和先前確定的配置參數(shù)來確定重新配置參數(shù)。例如,如果負責控制機械致動器321的可配置的模塊卡101工作不正常,則可以重新配置可配置的模塊卡102以控制致動器321??膳渲玫哪K卡102可以被重新配置以便只控制致動器321,或者可以被重新配置以同時地控制致動器321和燈322??蛇x地,其他子系統(tǒng)360的可配置的模塊卡(例如,104)可以被重新配置以控制致動器321。因此,重新配置參數(shù)可以影響一個或者幾個子系統(tǒng)(例如,350或者360)的一個或者幾個可配置的模塊卡(例如,102或者104)。模擬控制器310的I/O單元311向需要被重新配置的可配置的模塊卡(例如,102)發(fā)送帶有重新配置參數(shù)的重新配置請求。在可配置的模塊卡(例如,102)的可配置的I/O單元40接收到重新配置請求時,可配置的模塊卡的處理器20基于重新配置請求執(zhí)行輸入/輸出配置代碼以重新配置其可配置的I/O單元40的多個輸入端和輸出端。處理器20還基于重新配置請求執(zhí)行電源配置代碼以重新配置電源60的多個電源電路。處理器20進一步地執(zhí)行模擬代碼以實現(xiàn)模擬器的功能或者子功能,所執(zhí)行的模擬代碼將基于重新配置請求來確定。例如,可配置的模塊卡102的處理器20執(zhí)行模擬代碼來控制致動器321,而不是執(zhí)行先前執(zhí)行的用于控制燈322的模擬代碼?,F(xiàn)在參考圖6,描述了用于執(zhí)行分布式模擬的包括多個可配置的模塊卡的模擬器的實例。圖6示出了包括模擬控制器610和可配置的模塊卡(631、632、641、642、652、661和671)的層次結構的飛行模擬器600。飛行模擬器600包括用于模擬飛機的第一功能(如發(fā)動機)的第一子系統(tǒng)620。該子系統(tǒng)620包括用于分別地模擬飛機的左側發(fā)動機和右側發(fā)動機的兩個低層次子系統(tǒng)630和640??膳渲玫哪K卡631和632負責模擬左側發(fā)動機???31和632直接由模擬控制器610進行配置和控制。卡631和632控制幾個專用硬件組件:顯示器635、燈636(專用于左側發(fā)動機模擬),以及座艙致動器635(在左側發(fā)動機模擬和右側發(fā)動機模擬之間共享)??膳渲玫哪K卡641和642負責右側發(fā)動機的模擬???41和642直接由模擬控制器610進行配置和控制???41和642控制幾個專用硬件組件:顯示器645、燈646(專用于右側發(fā)動機模擬)和座艙致動器635(在左側發(fā)動機模擬和右側發(fā)動機模擬之間共享)。飛行模擬器600包括用于模擬飛機的第二功能(如起落架)的第二子系統(tǒng)650。該子系統(tǒng)650包括用于分別模擬飛機的左側輪子和右側輪子的兩個低層次子系統(tǒng)660和670??膳渲玫哪K卡652負責起落架子系統(tǒng)650的常見功能的模擬???52直接由模擬控制器610進行配置和控制???52控制幾個專用硬件組件:液壓回路655和電子電路656。模擬子控制器651負責子系統(tǒng)650的低層次子系統(tǒng)660和670的控制。模擬子控制器651直接由模擬控制器610進行配置和控制。模擬子控制器651可以與卡652交互以控制低層次子系統(tǒng)660和670。模擬子控制器功能651可以集成在卡652上。可配置的模塊卡661負責左側輪子的特定功能的模擬???61由模擬子控制器651進行配置和控制???61控制幾個專用硬件組件:燈665(專用于左側輪子的模擬)和座艙致動器657(在左側輪子模擬和右側輪子模擬之間共享)??膳渲玫哪K卡671負責右側輪子的特定功能的模擬???71由模擬子控制器651進行配置和控制???71控制幾個專用硬件組件:燈675(專用于右側輪子的模擬)和座艙致動器657(在左側輪子模擬和右側輪子模擬之間共享)。帶有集成的測試能力的可配置的模擬器現(xiàn)在同時回顧圖1和圖3,在另一方面,模擬器300包括集成的測試能力。模擬控制器310管理由多個可配置的模塊卡(101、102、103和104)在其控制下所執(zhí)行的一系列的測試,并集中測試結果。在一個實施例中,可配置的模塊卡(例如,101)具有自動測試能力。它們自動地執(zhí)行一系列的測試,并將測試結果報告給模擬控制器310。由可配置的模塊卡(例如,101)的處理器20執(zhí)行測試(測試代碼的執(zhí)行),并且測試結果通過測試通知被傳送給模擬控制器310。測試通知由處理器20通過聚集測試結果而生成,并由可配置的模塊卡(例如,101)的可配置的I/O單元40進行傳送。模擬控制器310的I/O單元311接收測試通知,且其處理器312處理存在于測試通知中的測試結果。處理對應于特定的可配置的模塊卡(例如,101)的特定的測試結果允許確定特定的可配置的模塊卡(例如,101)的操作狀態(tài)?;谠谄淇刂葡聫亩鄠€可配置的模塊卡(101、102、103和104)接收到的測試結果,模擬控制器310保持所有的可配置的模塊卡在其控制下的全局操作狀態(tài)。正如先前的描述,基于可配置的模塊卡(101、102、103和104)的全局操作狀態(tài),模擬控制器310可以觸發(fā)這些可配置的模塊卡(101、102、103和104)中的一些在其控制下的重新配置。例如,由于通過在可配置的模塊卡101上執(zhí)行的一系列的測試檢測到該卡的故障,可配置的模塊卡102可以被重新配置以實現(xiàn)先前由可配置的模塊卡101所實現(xiàn)的功能。正如先前參考圖1所描述的,由可配置的模塊卡(例如,101)的處理器20所執(zhí)行的測試代碼包括產生測試信號到基于由可配置的I/O單元40接收到的廣播響應消息所配置的其可配置的I/O單元40的多個輸入端和輸出端。由可配置的模塊卡(例如,101)的處理器20執(zhí)行的測試代碼還包括產生測試信號到基于由可配置的I/O單元40接收到的廣播響應消息所配置的電源60的多個電源電路。此外,由可配置的模塊卡(例如,101)的處理器20執(zhí)行的測試代碼進一步包括監(jiān)控由處理器20執(zhí)行的模擬代碼的執(zhí)行。由處理器20執(zhí)行的模擬代碼實現(xiàn)模擬器300的功能。功能可以被劃分為幾個分布式的子功能,每個特定的子功能由特定的可配置的模塊卡100來實現(xiàn)。因此,監(jiān)控模擬代碼的執(zhí)行可以包括監(jiān)控與特定的子功能相對應的代碼。如果可配置的模塊卡100實現(xiàn)幾個子功能,那么測試代碼可以只監(jiān)控這些子功能的子集。正如先前所描述的,由可配置的模塊卡(例如,101)的處理器20執(zhí)行的模擬代碼可以包括通過以發(fā)送到該專用硬件組件(例如321)的控制命令的方式來控制專用硬件組件(例如,321)的代碼。例如,專用硬件組件321是用于移動受訓者坐著的座位的機械致動器。在這種情況下,執(zhí)行測試代碼進一步包括產生測試信號到專用硬件組件(例如,321)以驗證該專用硬件組件正在根據它從控制它的可配置的模塊卡(例如,101)已接收到的控制命令進行操作。在另一個實施例中,可配置的模塊卡(例如,101)執(zhí)行由配置控制器310所確定的一系列的測試。通過從模擬控制器310接收到測試請求來觸發(fā)通過特定的可配置的模塊卡(例如,101)的處理器20對測試代碼的執(zhí)行。測試請求指定至少一個特定測試,其將通過由處理器20執(zhí)行測試代碼來實現(xiàn)。該至少一個特定測試包括以下中的一個:測試可配置的I/O單元40的輸入端和輸出端、測試電源60的多個電源電路、監(jiān)控由處理器20對模擬代碼的執(zhí)行和產生測試信號到另一個模擬組件(例如,321)?,F(xiàn)在參考圖4,示出了圖1中的可配置的模塊卡100的簡化版,描述了卡100的配置參數(shù)和軟件代碼???00的存儲器30存儲配置參數(shù)、配置代碼、模擬代碼和測試代碼???00的配置參數(shù)最初存儲在配置組件410的存儲器(圖4中沒有示出)中;并且經由上述的廣播消息120/廣播響應消息121,通過卡100的可配置的I/O單元40傳送到存儲器30。配置組件410對應于以下中的一個:圖2中示出的配置組件210或者圖3中示出的模擬控制器310(具有配置能力)。由卡100執(zhí)行的模擬代碼最初也存儲在配置組件410的存儲器中,且通過可配置的I/O單元40被傳送到存儲器30。上述的廣播消息120/廣播響應消息121可以用于此目的。另一種傳送機制也可以用于此目的。可選地,模擬代碼可以最初被存儲在存儲器30中,或者由軟件服務器(圖4中沒有示出)進行傳送。存儲器30存儲由卡的處理器20所執(zhí)行的配置代碼。例如,存儲在存儲器30中的配置代碼包括電源配置代碼,當處理器20執(zhí)行電源配置代碼時,其基于與電源60相關的且存儲在存儲器30中的特定的配置參數(shù)來配置卡100的電源60。存儲在存儲器30中的配置代碼也包括I/O單元配置代碼,當由處理器20執(zhí)行I/O單元配置代碼時,其基于與可配置的I/O單元40相關的且存儲在存儲器30中的特定的配置參數(shù)來配置可配置的I/O單元40。處理器20執(zhí)行存儲在存儲器30中的模擬代碼。模擬代碼可以包括與幾個模擬功能和子功能相對應的多個軟件模塊。特定的軟件模塊的執(zhí)行及它們的執(zhí)行順序可以由與模擬流程相關的且存儲在存儲器30中的特定的配置參數(shù)來確定。存儲器30存儲由處理器20執(zhí)行的測試代碼。測試代碼可以最初被存儲在存儲器20中,或者由配置組件410或者由軟件服務器(圖4中沒有示出)進行傳送。例如,存儲在存儲器30中的測試代碼包括電源測試代碼,當由處理器20執(zhí)行測試代碼時,測試所述電源60。存儲在所述存儲器30中的所述測試代碼還包括I/O單元測試代碼,當由所述處理器20執(zhí)行所述I/O單元測試代碼時,測試可配置的I/O單元40。存儲在存儲器30中的測試代碼進一步包括模擬測試代碼,當由處理器20執(zhí)行模擬測試代碼時,監(jiān)控模擬代碼的執(zhí)行。用于操作包括多個可配置的模塊卡的可配置的模擬器的方法現(xiàn)在同時參考圖4和圖5,描述了用于操作包括多個可配置的模塊卡的可配置的模擬器的方法500。以方法500操作的可配置的模擬器可以與先前關于圖2描述的模擬器200相對應或者與先前關于圖3描述的模擬器300相對應。可配置的模擬器包括與先前關于圖1和圖4所描述的卡100相對應的多個可配置的模塊卡。出于簡化的目的,只有兩個可配置的模塊卡504和506在圖5中示出,但是模擬器可以包括任意數(shù)量的可配置的模塊卡。模擬控制器502在圖5中示出,其與先前關于圖2和圖4所描述的配置組件210和410相對應,和/或與先前關于圖3所描述的模擬控制器310相對應。模擬控制器502可以被集成到可配置的模擬器,或者可以是以通信協(xié)議(如以太網協(xié)議或者Wi-Fi協(xié)議)的方式與可配置的模擬器通信的外部組件。方法500包括在模擬控制器502的存儲器(沒有示出)中存儲510用于多個可配置的模塊卡(504和506)的配置參數(shù)。方法500包括在多個可配置的模塊卡(504或者506)的存儲器30中存儲520配置代碼、模擬代碼和測試代碼。在特定的方面,配置代碼、模擬代碼和測試代碼中的至少一個可以被存儲在模擬控制器502的存儲器中,并從模擬控制器502被傳送到卡(504或者506)。可選地,代碼最初存在于卡(504或者506)的存儲器30中。方法500包括將用于特定的卡(504或者506)的特定的配置參數(shù)從模擬控制器502傳送到卡(504或者506)。因此,每個卡(504或者506)可以具有其自己的特定的配置參數(shù),該特定的配置參數(shù)在模擬控制器502中產生并存儲。在特定的方面,傳送特定的配置參數(shù)包括將廣播消息從卡(504或者506)發(fā)送525到模擬控制器502,并在卡(504或者506)上接收526來自模擬控制器502的帶有特定的配置參數(shù)的廣播響應消息。方法500包括在卡(502或者504)的存儲器30中存儲530接收到的特定的配置參數(shù)。方法500包括通過卡(504或者506)的處理器20基于卡的特定的配置參數(shù)執(zhí)行540配置代碼。執(zhí)行配置代碼包括基于卡的特定的配置參數(shù)來配置卡(504或者506)的可配置的輸入/輸出(I/O)單元40的多個輸入端和輸出端。在特定的方面,配置可配置的I/O單元40的多個輸入端和輸出端包括執(zhí)行輸入端和輸出端的網絡配置。在另一個特定的方面,可配置的I/O單元40與至少一個其他模擬組件交換數(shù)據。配置可配置的I/O單元40的多個輸入端和輸出端可以包括確定哪些輸入端和輸出端與至少一個其他模擬組件交換數(shù)據。至少一個其他模擬組件可以是另一個可配置的模塊卡。例如,卡504和506可以通過它們各自的I/O單元40交換數(shù)據??蛇x地,至少一個其他模擬組件可以是由卡(502或者504)控制的專用硬件組件(圖5中沒有示出)。專用硬件組件可以是以下中的一個:傳感器、顯示器、燈、開關、機械致動器、氣動執(zhí)行器、液壓致動器、電氣元件等。執(zhí)行配置代碼還包括基于卡的特定的配置參數(shù)來配置卡(504或者506)的電源60的多個電源電路。在特定的方面,配置電源60的多個電源電路包括確定以下中的至少一個:由特定的電源電路提供到電子元件的特定電流強度和特定電壓的電力。電子元件可以位于卡(504或者506)上或者位于由卡控制的專用硬件組件上。方法500包括通過卡(504或者506)的處理器20執(zhí)行550模擬代碼以實現(xiàn)模擬器的功能。執(zhí)行模擬代碼以實現(xiàn)模擬器的功能可以包括以下中的至少一個:模擬顯示器上顯示的信息、模擬飛機的運動、模擬飛機的電子電路、模擬飛機的液壓回路。通過處理器20執(zhí)行的模擬代碼還可以包括用于控制上述專用硬件組件的代碼。在特定的方面,幾個可配置的模塊卡(例如,504和506)從模擬控制器502接收用于配置它們各自的處理器20的特定的配置參數(shù),以執(zhí)行實現(xiàn)模擬器的特定功能的幾個分布式的子功能的模擬代碼???504或者506)的存儲器30可以存儲與模擬器的幾個功能相對應的多個模擬代碼。執(zhí)行配置代碼可以進一步包括基于卡的特定的配置參數(shù),在存儲在存儲器30中的多個模擬代碼之中確定由處理器20執(zhí)行的模擬代碼。方法500包括通過卡(504或者506)的處理器20執(zhí)行560測試代碼。執(zhí)行測試代碼包括生成測試信號到基于卡(504或者506)的特定的配置參數(shù)所配置的可配置的I/O單元40的多個輸入端和輸出端。在特定的方面,生成到可配置的I/O單元40的多個輸入端和輸出端的測試信號允許驗證輸入端和輸出端的網絡配置。在另一個方面,生成到可配置的I/O單元40的多個輸入端和輸出端的測試信號允許驗證輸入端和輸出端與另一個模擬組件(例如,另一個可配置的模塊卡或者專用硬件組件)的網絡連接。執(zhí)行測試代碼還包括生成測試信號到基于卡(504或者506)的特定的配置參數(shù)所配置的電源60的多個電源電路。在特定的方面,生成到電源60的多個電源電路的測試信號允許驗證電源電路工作于指定電壓或者電流強度。執(zhí)行測試代碼進一步包括監(jiān)控模擬代碼通過卡(504或者506)的處理器20的執(zhí)行。方法500可以包括通過卡(504或者506)的處理器20產生帶有由卡的處理器20執(zhí)行的測試代碼的測試結果的測試通知565,其通過卡的可配置的I/O單元40被發(fā)送到模擬控制器502。方法500還可以包括基于接收到的測試結果,在模擬控制器502處確定570用于多個可配置的模塊卡中的至少一個(例如,504)的新的配置參數(shù)。新的配置參數(shù)被發(fā)送575到嵌入式(impacted)卡中的每一個(例如,504)。然后,每個嵌入式卡(例如,504)基于接收到的新的配置參數(shù)執(zhí)行580其配置代碼,并對自身進行重新配置。方法500可以進一步包括通過從模擬控制器502接收測試請求來在卡(例如,504)上觸發(fā)555測試代碼的執(zhí)行。本公開已經介紹了包括多個可配置的模塊卡的可配置的模擬器。這些卡的使用將極大的靈活性引入到模擬器的操作中。每個卡可被單獨地配置(和重新配置),模擬器可以容易地被配置(重新配置)以適應卡的添加、卡的移除、卡的替換。模擬器也可以被重新配置以適應其中的一個或者幾個卡出現(xiàn)故障。配置或者重新配置模擬器包括配置或者重配置其中的一個或者幾個卡。因此,可以基于一組可配置的模塊卡來設計完整的模擬器或者完整的模擬器的子系統(tǒng)。這一組可配置的模塊卡被提供為具有通用硬件且沒有初始的特定硬件和軟件配置的一組通用卡。這一組可配置的模塊卡隨后如本公開所示被配置,以實現(xiàn)完整的模擬器的多個功能,或者,可選地,以實現(xiàn)完整的模擬器的子系統(tǒng)的特定功能。盡管已經以其非限制性的、說明性的實施例的方式在上文中對本公開進行了描述,但是在不背離本公開的精神和實質的情況下,這些實施例可以在所附權利要求的范圍內隨意修改。