用于中斷電子控制器的總程序的執(zhí)行的方法
【技術領域】
[0001] 本發(fā)明涉及一種按照權利要求1的前序部分所述的用于中斷電子控制器的總程 序(1)的執(zhí)行的方法。
【背景技術】
[0002] 控制器是主要在現(xiàn)場裝入的電子模塊,在所述電子模塊上例如電子控制或調節(jié)。 電子控制器特別是在汽車領域中使用并且在那里例如控制機械的或電的執(zhí)行器或評價傳 感器數(shù)據(jù)??刂破鲗儆谇度胧较到y(tǒng)。因此在控制器上執(zhí)行用于控制電子裝置的、用于處理 數(shù)據(jù)和用于通信的總程序(1)。
[0003] 在電子控制器的總程序(1)的開發(fā)過程中通常的是,許多開發(fā)人員同時進行程序 設計工作??偝绦颍?)的各個方面(如一方面程序架構、也就是說各個程序或單功能的關聯(lián) 或通信,和另一方面各個函數(shù)或程序本身)在此利用不同的工具經(jīng)?;谀P偷亻_發(fā)。該 分布式的過程是容易出錯的。
[0004] 對電子控制器的程序架構、尤其是在汽車領域中提出特別的要求。汽車領域必 須通過程序架構保證:單功能或程序在最高功能安全的前提下可以被再次使用、替換、標 定和集成。用于滿足所述要求在汽車領域中存在不同的標準,例如"汽車開放系統(tǒng)架構 (Automotive Open System Architecture) "(AUT0SAR),以此預定用于總程序⑴的架構的 規(guī)范。
[0005] 在總程序(1)借助建模環(huán)境(201)按照標準或規(guī)范組合之后,通常在開發(fā)過程結 束時接著測試,其中檢查:總程序(1)是否按照結構模型和規(guī)范的要求,是否給出單程序的 正確的功能,并且總程序(1)的各組成部分是否正確地共同作用。
[0006] 由 2014 年 dSPACE 有限公司的產(chǎn)品目錄(http://www. dspace. com/de/gmb/home/ medien/product_info. cfm的40-49頁)已知用于電子控制器的總程序⑴的圖形建模的 建模環(huán)境(201) SystemDesk,該建模環(huán)境也支持基于模擬的測試以用于檢查之前提到的各 方面。
[0007] 至今為了結合基于模擬的測試來檢查總程序(1),存在源代碼調試和測量變量繪 圖的可能性。
【發(fā)明內容】
[0008] 在這種背景下,本發(fā)明的任務在于,給出一種高效的方法,該方法進一步擴展現(xiàn)有 技術。
[0009] 該任務通過一種用于中斷電子控制器的總程序(1)的執(zhí)行的方法來解決,其中, 總程序(1)具有:包括第一變量(12)的第一程序(11),其中,第一程序(11)將第一變量 (12)的第一值存儲到存儲器的第一存儲區(qū)中或從存儲器的第一存儲區(qū)中讀取第一變量 (12)的第一值;以及包括第二變量的第二程序(21),其中,第二程序(21)將第一變量(12) 的第一值存儲在存儲器的第一存儲區(qū)之外或從存儲器的第一存儲區(qū)中讀取第一變量(12) 的第一值,以便在第一程序和第二程序之間建立關聯(lián),其中,形成( ausprigen )圖形建 模環(huán)境(201),并且建模環(huán)境(201)具有圖形模型元素,其中,在圖形建模環(huán)境(201)中第一 程序(11)通過第一模型元素(202)代表,并且第二程序(21)通過第二模型元素(203)代 表,并且在第一程序和第二程序之間的關聯(lián)通過第三模型元素(205)代表,其特征在于,借 助建模環(huán)境(201)規(guī)定停止條件(2),其中,借助停止條件(2)確定導致中斷總程序(1)的 執(zhí)行的程序狀態(tài)變化(3),執(zhí)行總程序(1),在總程序(1)執(zhí)行期間探測程序狀態(tài)變化(3) 并且將如下情況視為程序狀態(tài)變化(3):開始和/或結束第一和/或第二程序(21)的執(zhí)行, 和/或對第一存儲區(qū)的第一值進行讀訪問和/或寫訪問,和/或第一存儲區(qū)的第一值改變, 以及如果發(fā)生停止條件(2)中所規(guī)定的程序狀態(tài)變化(3),則中斷總程序(1)的執(zhí)行。
[0010] 本發(fā)明的優(yōu)點在于,直觀、快速且簡單地規(guī)定在用于總程序(1)的架構的建模環(huán) 境(201)內的停止條件(2),以此可以快速且不復雜地測試總程序(1)。借此確??刂破鞯?總程序(1)的高的功能安全,這特別是在機動車的對安全關鍵的控制中、例如干預到轉向 裝置或驅動裝置中的控制中具有非常大的意義。
[0011] 借助例如通過開始程序的執(zhí)行來中斷總程序(1)的執(zhí)行,在測試時例 如確定,是否、何時并且在何種上下文中在執(zhí)行總程序(1)時執(zhí)行程序或單功能 (Einzelfunktionalitit ).。:此外通過在對存儲器的值的讀訪問或寫訪問時中斷總程序 (1)的執(zhí)行來確定可能不希望的或未授權的操作。
[0012] 此外,按照本發(fā)明的方法提供一種高效且簡單的可能性:從架構模型出發(fā)來發(fā)現(xiàn) 總程序⑴的架構和/或各個程序的執(zhí)行中的錯誤,并且在此繞開已知的方法的之前所提 到的缺點。
[0013] 按照本發(fā)明的方法的另一個優(yōu)點在于,可以這樣規(guī)定停止條件(2),使得多個程序 狀態(tài)變化(3)可以相互在因果上和/或在時間上(temporal)組合,并且當程序狀態(tài)變化 (3)按照所述組合而發(fā)生時,才停止總程序(1)的執(zhí)行。以此當在程序狀態(tài)變化(3)(例如 執(zhí)行程序或對存儲器的值進行訪問)之后其它程序狀態(tài)變化(3)(例如執(zhí)行另一個程序或 對存儲器的另一個值進行訪問)出現(xiàn)時(這被理解為在時間上的關聯(lián)),則可以例如中斷程 序執(zhí)行。當發(fā)生程序狀態(tài)變化(3)并且同時存儲器的值取確定的值時(這被理解為在因果 上的關聯(lián)),則也可以中斷程序執(zhí)行。
[0014] 在測試總程序(1)中的已知問題在于,總程序(1)或各個程序/函數(shù)的高級語言 源代碼不已知或不可理解,例如當存在目標代碼或加密代碼時。至今為了測試必須首先找 到代碼中的位置,所述位置對應于模型中確定的元素,以便在那里設置用于源代碼調試的 斷點。最后程序代碼通常也分布到多個文件上,這使常規(guī)的源代碼調試變得困難。
[0015] 在一種實施形式中優(yōu)選,這樣規(guī)定停止條件(2),使得在第一步驟中選擇第一模型 元素(202)和/或第二模型元素(203),在第二步驟中進行選擇和/或輸入,其中,利用所述 選擇和/或輸入來規(guī)定:在開始和/或結束第一程序(11)的執(zhí)行時和/或在開始和/或結 束第二程序(21)的執(zhí)行時,應該中斷程序執(zhí)行,并且在開始和/或結束第一程序(11)的執(zhí) 行時和/或在開始和/或結束第二程序(21)的執(zhí)行時,中斷總程序(1)的執(zhí)行。
[0016] 在另一種實施形式中優(yōu)選,這樣規(guī)定停止條件(2),即,在第一步驟中選擇第三模 型元素(205),在第二步驟中進行選擇和/或輸入,其中利用所述選擇和/或輸入來規(guī)定: 在對第一存儲區(qū)的第一值進行讀訪問和/或寫訪問時和/或在第一存儲區(qū)的第一值改變 時,應該中斷程序執(zhí)行,并且在對第一存儲區(qū)的第一值進行讀訪問和/或寫訪問時和/或在 第一存儲區(qū)的第一值改變時,中斷總程序(1)的執(zhí)行。
[0017] 通過按照所述兩個前面的實施形式借助圖形模型元素來規(guī)定停止條件(2),顯著 加速并且直觀設計用于測試的配置過程。在此同時避免錯誤,所述錯誤可能通過將程序代 碼組成部分手動地配置給圖形模型元素產(chǎn)生。
[0018] 在一種附加的實施形式中,第一變量(12)通過圖形的第四模型元素代表,并且這 樣規(guī)定停止條件(2),使得在第一步驟中選擇第四模型元素(204),在第二步驟中進行選擇 和/或輸入,其中,利用所述選擇和/或輸入來規(guī)定:在對第一存儲區(qū)的第一值進行讀訪問 和/或寫訪問時和/或在第一存儲區(qū)的第一值改變時,應該中斷程序執(zhí)行,并且在對第一存 儲區(qū)的第一值進行讀訪問和/或寫訪問時和/或在第一存儲區(qū)的第一值改變時,中斷總程 序⑴的執(zhí)行。
[0019] 在最后提到的實施形式中,建模環(huán)境(201)包含其他的圖形模型元素,其例如代 表程序的變量或接口。借助附加的模型元素可以規(guī)定停止條件(2),所述停止條件與通過模 型元素代表的變量或存儲區(qū)相關聯(lián)。
[0020] 在一種實施形式中優(yōu)選,建模環(huán)境(201)具有分級的樹狀結構,其中,所述分級的 樹狀結構具有節(jié)點,并且所述節(jié)點代表第一程序(11)和/或第一變量(12)和/或第一存 儲區(qū),其中,這樣規(guī)定停止條件(2),使得在第一步驟中選擇節(jié)點,在第二步驟中進行選擇和 /或輸入,其中,利用所述選擇和/或輸入來規(guī)定:在開始和/或結束第一程序(11)的執(zhí)行 時和/或在對第一存儲區(qū)的第一值進行讀訪問和/或寫訪問時和/或在第一存儲區(qū)的第一 值改變時,應該中斷程序執(zhí)行。
[0021] 分級的樹狀結構提供一種用于代表程序和/或變量的備選的顯示形式。在樹狀結 構中,程序架構的細節(jié)比在以圖形模型元素的示圖可更快速地理解,因此如果停止條件(2) 在分級的樹狀結構中進行規(guī)定,則在這里通過測試方法的較快且較簡單的配置產(chǎn)生優(yōu)點。
[0022] 在另一種實施形式中優(yōu)選,第一程序(11)具有子程序和/或函數(shù),并且開始和/ 或結束子程序的執(zhí)行和/或開始和/或結束函數(shù)的執(zhí)行被視為程序狀態(tài)變化(3),并且在開 始和/或結束子程序的執(zhí)行時和/或在開始和/或結束函數(shù)的執(zhí)行時,中斷總程序(1)的 執(zhí)行。
[0023] 在一種備選的實施形式中,總程序(1)借助圖形建模環(huán)境(201)按照AU