本發(fā)明涉及一種用于將一組軟件組件分配給控制設(shè)備架構(gòu)的方法以及用于執(zhí)行該方法的對應(yīng)的控制設(shè)備架構(gòu)、計算單元和計算機程序。
背景技術(shù):
1、電子控制設(shè)備在汽車領(lǐng)域中和其他技術(shù)領(lǐng)域、例如設(shè)施控制中被用于需要任意類型的控制或調(diào)節(jié)的大量功能。通常例如在車輛中存在多個具有不同任務(wù)的控制設(shè)備,所述控制設(shè)備彼此聯(lián)網(wǎng)。在此,不僅車輛中的控制設(shè)備架構(gòu)、即聯(lián)網(wǎng)控制設(shè)備的數(shù)量和結(jié)構(gòu)而且控制設(shè)備中的軟件功能可以以不同的方式被實施。例如,可以在簡單的車輛中設(shè)置限制于基本功能的分散式控制設(shè)備架構(gòu),或者在高級車輛中設(shè)置具有中央控制設(shè)備和許多擴展功能性的架構(gòu)。在此,已經(jīng)出于成本原因,經(jīng)常不足地安排控制設(shè)備中的硬件資源。原則上,因此值得期望的是,將總系統(tǒng)中的希望的功能性盡可能高效地分布到現(xiàn)有的控制設(shè)備上。
2、對于所有類型的控制設(shè)備的軟件經(jīng)常動用autosar(汽車開放系統(tǒng)架構(gòu)(automotive?open?system?architecture))標(biāo)準(zhǔn)。在此,使用層架構(gòu),其中通過所謂的基本軟件和運行時環(huán)境從控制單元的硬件中抽象出應(yīng)用軟件。通過這種通用方案,也可以在類似的微控制器系列上進一步使用基本軟件,使得具有類似配置的控制設(shè)備可以使用相同的基本軟件。而對于應(yīng)用軟件經(jīng)常出現(xiàn)以下問題,即雖然理論上通過層的抽象,也可以在其他控制設(shè)備上使用所述應(yīng)用軟件,但實際上許多功能使用控制設(shè)備的特定硬件接口,所述硬件接口經(jīng)由復(fù)雜的驅(qū)動程序(復(fù)雜設(shè)備驅(qū)動程序(complex?device?driver))被尋址。因此,通常為每個控制設(shè)備開發(fā)自身的軟件,使得軟件功能經(jīng)常也僅與特定的硬件一起能運行,并且不能被轉(zhuǎn)移到其他控制設(shè)備上。然而如果設(shè)置轉(zhuǎn)移,則經(jīng)常必須重新開發(fā)或大大修改應(yīng)用軟件以及所屬的復(fù)雜驅(qū)動程序,以便在新環(huán)境中能運行。
技術(shù)實現(xiàn)思路
1、根據(jù)本發(fā)明,提出具有獨立專利權(quán)利要求的特征的用于將一組軟件組件分配給控制設(shè)備架構(gòu)的方法以及用于執(zhí)行所述方法的對應(yīng)的控制設(shè)備架構(gòu)、計算單元和計算機程序。有利的設(shè)計方案是從屬權(quán)利要求和以下描述的主題。
2、尤其是,提出一種用于將一組軟件組件分布到具有多個互相連接的控制設(shè)備的控制設(shè)備架構(gòu)上的方法,其中可執(zhí)行軟件功能性通過該組軟件組件的序列鏈來定義。在此該方法首先包括對于來自該組軟件組件的每個軟件組件,檢測分類,其中該分類包括至少一個或多個近硬件類別,所述近硬件類別被分配給其功能與至少一個特定控制設(shè)備的硬件接口關(guān)聯(lián)的軟件組件,并且其中分類包括至少一個或多個遠(yuǎn)硬件類別,所述遠(yuǎn)硬件類別被分配給其功能與特定控制設(shè)備的硬件元件沒有關(guān)聯(lián)的軟件組件。此外檢測控制設(shè)備架構(gòu)的特性,其中所檢測的特性至少包括控制設(shè)備的數(shù)量以及對于每個控制設(shè)備包括可用的資源。然后作為優(yōu)化算法的輸入值輸入該組中的軟件組件的數(shù)量、針對每個軟件組件的分類、軟件組件的序列鏈和控制架構(gòu)的特性。此外將用于所述軟件組件和/或控制設(shè)備架構(gòu)的附加邊界條件輸入到所述優(yōu)化算法中。
3、然后,作為優(yōu)化算法的輸出值確定來自該組軟件組件的每個軟件組件到多個控制設(shè)備的至少一個唯一分配,其中所述分配根據(jù)用于執(zhí)行可執(zhí)行軟件功能性的預(yù)先給定的參數(shù)來優(yōu)化,并且其中所述分配由優(yōu)化算法根據(jù)軟件組件中的每一個軟件組件的分類來進行。
4、通過各個軟件組件的所使用的分類可以將近硬件組件更好地與遠(yuǎn)硬件組件分開。由此還可以更好地分類整理可執(zhí)行軟件鏈內(nèi)軟件組件的隱式相關(guān)性,由此可以更簡單地和更好地分布到多個控制設(shè)備上。
5、由此也大大減少將軟件從一控制設(shè)備轉(zhuǎn)移到另一控制設(shè)備時的適配耗費。
6、在優(yōu)化方法中考慮邊界條件負(fù)責(zé)在結(jié)果、即軟件組件的經(jīng)優(yōu)化的分配的情況下僅形成可以實際實現(xiàn)的功能性。
7、優(yōu)化分配所根據(jù)的預(yù)先給定的參數(shù)尤其是可以包括用于執(zhí)行可執(zhí)行軟件功能性的等待時間和/或控制設(shè)備的資源的均勻充分利用。
8、例如,作為在優(yōu)化時用于軟件組件中的每一個軟件組件的附加邊界條件可以使用以下中的一個或多個:軟件組件的處理器負(fù)載、軟件組件的存儲器消耗、在兩個軟件組件之間所需要的通信帶寬、用于在兩個軟件組件之間通信所需要的消息頻率、軟件組件中的兩個或多個軟件組件之間的相關(guān)性、軟件組件的等待時間、所使用的通信協(xié)議、通過軟件組件所使用的硬件或軟件接口。
9、同樣,所述控制設(shè)備架構(gòu)的特性和/或用于控制設(shè)備架構(gòu)的在優(yōu)化中使用的附加邊界條件可以包括以下中至少之一:由控制設(shè)備提供的計算功率、可用存儲器大小、所使用的通信協(xié)議、所使用的消息類型、分別兩個控制設(shè)備之間的可用通信帶寬、關(guān)于安裝在控制設(shè)備中的輸出級的說明、關(guān)于控制設(shè)備中的附加特定硬件接口的說明、控制設(shè)備的可用輸入端和輸出端、安全評級。
10、例如,可以在根據(jù)autosar標(biāo)準(zhǔn)實現(xiàn)的控制設(shè)備架構(gòu)中使用所提出的方法。尤其是,于是可以將近硬件類別分配給autosar層結(jié)構(gòu)的“復(fù)雜設(shè)備驅(qū)動程序”,并且可以將遠(yuǎn)硬件類別分配給autosar層結(jié)構(gòu)的應(yīng)用軟件。通過附加分類和各個類別之間的所定義的接口從而使得能夠在不同的控制設(shè)備上與“復(fù)雜設(shè)備驅(qū)動程序”的軟件組件分開地執(zhí)行應(yīng)用軟件的軟件組件,所述軟件組件否則作為特定于控制設(shè)備的單片塊存在于autosar中。
11、對于分類的這種細(xì)化,在可能的實施方式中一個或多個近硬件類別可以選自:用于執(zhí)行硬件輸入和輸出的操控的軟件組件的第一類別;和用于執(zhí)行硬件操控的抽象的軟件組件的第二類別。
12、此外,在分類時,一個或多個遠(yuǎn)硬件類別可以選自:用于執(zhí)行來自控制、調(diào)節(jié)或信號處理中的至少一個的軟件組件的第三類別;用于執(zhí)行上級狀態(tài)控制的軟件組件的第四類別;和用于形成預(yù)測值和/或進行參數(shù)建模的軟件組件的第五類別。遠(yuǎn)硬件和近硬件軟件部分的這種細(xì)分使得能夠更好地分離功能性(關(guān)注點分離),并且從而根據(jù)其分類和其他邊界條件更有針對性地分配給系統(tǒng)中的其他控制設(shè)備。
13、作為優(yōu)化算法尤其是可以使用進化算法;然而,同樣也可以使用其他已知的優(yōu)化算法。
14、根據(jù)上述方法設(shè)立根據(jù)本發(fā)明的控制設(shè)備架構(gòu)。根據(jù)本發(fā)明的計算單元、例如機動車輛的控制設(shè)備、適合于軟件開發(fā)的計算機或一組所連接的計算單元尤其是在程序技術(shù)上被設(shè)立用于執(zhí)行根據(jù)本發(fā)明的方法。
15、以具有用于執(zhí)行所有方法步驟的程序代碼的計算機程序或計算機程序產(chǎn)品的形式實現(xiàn)根據(jù)本發(fā)明的方法也是有利的,因為這引起特別低的成本。最后,設(shè)置一種機器可讀存儲介質(zhì),具有其上存儲的如上所述的計算機程序。用于提供計算機程序的合適的存儲介質(zhì)或數(shù)據(jù)載體尤其是磁、光學(xué)和電存儲器,諸如硬盤、閃存、eeprom、dvd等。通過計算機網(wǎng)絡(luò)(互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)等)下載程序也是可能的。這樣的下載在此可以是有線地或有線纜地或無線地(例如通過wlan網(wǎng)絡(luò)、3g、4g、5g或6g連接等)進行。
16、本發(fā)明的其他優(yōu)點和設(shè)計方案從說明書和所附附圖中得出。
17、本發(fā)明根據(jù)實施例在附圖中示意性示出,并且在下面參考附圖予以描述。
1.一種用于將一組軟件組件(a1-a5、b1-b4、c1、c2、d1、e1)分布至具有多個互相連接的控制設(shè)備(s1、s2、s3)的控制設(shè)備架構(gòu)的方法,其中可執(zhí)行軟件功能性通過該組軟件組件的序列鏈來定義,其中所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其中優(yōu)化分配所根據(jù)的預(yù)先給定的參數(shù)包括用于執(zhí)行可執(zhí)行軟件功能性的等待時間和/或控制設(shè)備的資源的均勻充分利用。
3.根據(jù)權(quán)利要求1或2所述的方法,其中針對軟件組件中的每一個軟件組件的附加邊界條件包括以下中至少之一:軟件組件的處理器負(fù)載、軟件組件的存儲器消耗、在兩個軟件組件之間所需要的通信帶寬、用于在兩個軟件組件之間通信所需要的消息頻率、軟件組件中的兩個或多個軟件組件之間的相關(guān)性、軟件組件的等待時間、所使用的通信協(xié)議、通過軟件組件所使用的硬件或軟件接口。
4.根據(jù)前述權(quán)利要求中任一項所述的方法,其中所述控制設(shè)備架構(gòu)的特性和/或用于所述控制設(shè)備架構(gòu)的附加邊界條件包括以下中至少之一:由控制設(shè)備提供的計算功率、可用存儲器大小、所使用的通信協(xié)議、所使用的消息類型、分別兩個控制設(shè)備之間的可用通信帶寬、關(guān)于安裝在控制設(shè)備中的輸出級的說明、關(guān)于控制設(shè)備中的附加的特定硬件接口的說明、控制設(shè)備的可用輸入端和輸出端、安全評級。
5.根據(jù)前述權(quán)利要求中任一項所述的方法,其中所述多個控制設(shè)備根據(jù)autosar標(biāo)準(zhǔn)來實現(xiàn)。
6.根據(jù)權(quán)利要求5所述的方法,其中所述近硬件類別被分配給所述autosar層結(jié)構(gòu)的“復(fù)雜設(shè)備驅(qū)動程序”(150),并且其中所述遠(yuǎn)硬件類別被分配給所述autosar層結(jié)構(gòu)的應(yīng)用軟件(170)。
7.根據(jù)前述權(quán)利要求中任一項所述的方法,其中所述一個或多個近硬件類別選自:
8.根據(jù)前述權(quán)利要求中任一項所述的方法,其中所述至少一個或多個遠(yuǎn)硬件類別選自:
9.根據(jù)前述權(quán)利要求中任一項所述的方法,其中所述優(yōu)化算法是進化算法。
10.一種控制設(shè)備架構(gòu),包括多個相互連接的控制設(shè)備(s1、s2、s3),其中在控制設(shè)備上分布式地設(shè)立一組軟件組件,其中由該組軟件組件的序列鏈定義可執(zhí)行軟件功能性,并且其中根據(jù)前述權(quán)利要求中任一項將軟件組件分配給控制設(shè)備。
11.一種計算單元,所述計算單元被設(shè)立用于執(zhí)行根據(jù)權(quán)利要求1至9中任一項所述的方法的所有方法步驟。
12.一種計算機程序,當(dāng)在計算單元上執(zhí)行所述計算機程序時,所述計算機程序促使所述計算單元執(zhí)行根據(jù)權(quán)利要求1至9中任一項所述的方法的所有方法步驟。
13.一種機器可讀存儲介質(zhì),具有其上存儲的根據(jù)權(quán)利要求12所述的計算機程序。