Your browser does not support script

產品介紹

Reactis 嵌入式軟體自動測試及驗證工具

會員服務

帳號
Username Password
密碼
忘記密碼加入會員登入
電子報訂閱

Reactis 嵌入式軟體自動測試及驗證工具

Reactive Systems, Inc. (RSI)是一家銷售嵌入式系統設計自動化軟體的工具與服務(ESDA)美國公司,公司成立於1999年,重點產品為Reactis以及Reactis for C。

Reactis 是RSI公司提供給Matlab/Simulink模型進行測試和驗證地工具。由於系統開發工作的複雜度愈來愈高,目前愈來愈多的嵌入式系統軟體採用Matlab/Simulink模型當作開發工具, 透過自動程式碼轉換,這些嵌入式系統軟體已經可以在汽車、航太、消費性電子產品設備中之微處理器執行。

RSI公司所開發之Reactis產品線專為這些嵌入式系統軟體設計者提供進行自動測試以及驗證。Reactis產品的導入將可以提升工程師的產能,並且大幅節省公司在測試上所花費之成本,更可以增加公司產品的軟體品質。


CAE 最新的一個流行分支是基於模型的設計(Model-based Design),注重於嵌入式控制設計,非常適合於機電儀一體化設備的開發。傳統的設計方法是先設計的硬體系統原型實體,然後進行測試並在後續的設計中不斷改進,但是在硬體階段發現問題很難,而且需要大量的時間和成本。

模型設計之初先建立演算法模型、物理模型以及環境模型,然後基於MATLAB與Simulink平台,進行系統測試與模擬,在後續的設計中不斷進行模擬, 再用自動程式碼產生器產生實際系統所需的軟體程式碼。實際上是將測試提前到了模擬階段,設計製造人員能儘早發現並解決問題。基於模型的設計在最後階段要進 行硬體原型測試,主要是為了驗證良好的設計,並不是要找出不良的設計。

基於模型的設計過程中,模型的測試和驗證至關重要,Reactis,是業界領先的軟 體測試與驗證工具,支援Simulink/Stateflow和 TargetLink 模型的測試和驗證,2007年還發佈了Reactis for C Plugin,提供模型中C程式碼部分(包括S函數和State-flow中的C程式碼)的白箱(WhiteBox)分析功能。


主要特點
  • 根據Simulink/Stateflow或TargetLink的模型自動建立測試案例(Test Suite)
  • 用戶可以自行定義測試目標
  • 用戶可以自行定義測試案例的建立準則
  • 自動化的測試和驗證功能,更快完成模型和系統的詳盡分析,幫助客戶節約大量的時間和成本
  • 支持MC/DC (Modified Condition Decision Coverage)準則
  • 提供詳細的覆蓋範圍報告,包括測試集覆蓋到的以及未覆蓋的內容
  • 有中斷點設置功能,用戶可以單步執行或是選擇以模組為單位執行
  • 與傳統的調試工具介面相似,用戶使用方便
  • 附有詳細的例子和教程,可幫助用戶儘快學習並掌握

功能介紹

Reactis 是一個高效率的嵌入式軟體設計自動化( ESDA )工具,可以幫助用戶設計高品質的控制軟體,包括三個主要部分: Reactis Tester/ Reactis Simulator/ Reactis Validator。

Reactis Tester for Simulink/ Stateflow

根據嵌入式控制軟體的Simulink/Stateflow模型自動建立測試集(test suites),該測試集不但滿足不同測試目標的覆蓋要求,同時還除去不必要的重複測試。
 

Reactis Tester for C

涵蓋率的判斷準則包含敘述(statement)、決定(decision)、條件(condition)與 MC/DC (Modified condition/decision coverage)。

當 Reactis Tester 產生測試劇本時, 意味著 Reactis Tester 已針對你的 C 語言進行一連串測試來找出並標示為執行時之錯誤( runtime error)。 記憶體錯誤 (memory errors) 是使用 C 語言時常發生的錯誤,而這一類的錯誤又很難被找出來,只要程式碼存取無效記憶體位址時便會產生記憶體錯誤。

由於 C 語言具有直接存取記憶體的功能,雖然可以因此增加程式效能,但也因為可直接任意存取程式的記憶體,而造成記憶體錯誤非常容易在 C 程式碼中發生。典型的記憶體錯誤包括超出陣列索引邊界、緩衝區溢位、dangling heap pointers(存取已經釋放掉的動態記憶體區)、dangling stack pointers(存取已被釋放掉的函數裡的局部變數)與針對不正確的數值使用指標轉換 (pointer cast). Reactis Tester 不僅可以偵測上述之錯誤型態,而且可以產生能在 Reactis Simulator 一步一步執行測試,以利精確指出造成錯誤真正的原因。

Reactis Simulator for Simulink/ Stateflow

使用戶能夠視覺化執行Simulink/Stateflow模型。Reactis Simulator的使用者介面是與傳統的程式語言介面相似,用戶在模擬測試Simulink/Stateflow模型時,可選擇單步執行(step-by-step)或者以模組為單位執行(block-by-block),也可以設置中斷點。

Reactis Simulator 還可以
1. 在進行模擬測試時反向執行
2. 重播Reactis Tester所建立的測試案例 
3. 圖形化顯示不同的測試準則 
4. 微調Tester產生的測試案例群組

Reactis Simulator for C

- 允許執行單一敘述;進入函式執行,執行到函式終了,執行到跳出函式;一次執行一個敘述或執行多個敘述
- 允許反向執行
- 透過滑鼠的運作,觀看變數的值,打開變數值的分布圖,或是將該變數加入到觀測視窗追蹤變數的變化
- 將沒有執行到的程式碼標示成紅色,讓使用者一目了然
- 產生完整詳細的涵蓋率報告
- 設定中斷點,以便使用者確認程式執行到中斷位置時的程式行為

 

Reactis Validator for
Simulink/ Stateflow

Reactis Validator自動在模型中搜索違反了用戶指定規則的部分,當Validator發現有違規情況發生,會自動建立一個測試案例來證明該違規事件發生的條件,然後就可以在Reactis Simulator中執行該測試案例,瞭解事件發生的順序來查找問題的原因。

這個工具可以幫助使用者早期發現設計錯誤和設計與需求不一致之處,並減少了設計審查所需的手中工作。

Reactis Validator for C

消除執行時期錯誤固然重要,但僅僅只是往產生高品質的軟體邁進了一步而已,程式不當掉但產生錯誤結果的程式還是無法被接受。

Reactis Validator 提供了一套系統化的法則讓你可以檢查程式是否正確運作,這套檢查法則跟 C 語言裡的assert 機制很類似。

 


應用案例
客戶應用領域 汽車、地面運輸、航太、軍事、半導體、重型裝備等領域。
客戶分佈 加拿大、法國、德國、英國、匈牙利、印度、日本、韓國、美國、中國臺灣等國家和地區。
日本客戶 AISIN,AISIN AW,DENSO,HITACHI,HONDA ELESYS,ISUZU,JATCO,MAZDA,NISSAN,SUZUKI,TOYOTA,TRANSTRON,TTDC等。
 
用戶案例
[案例一] 福特汽車公司  
根據福特汽車公司發佈的報告,Reactive Systems, Inc. (RSI)的Reactis工具使工程師能夠偵測細微的設計錯誤,而這些錯誤在使用傳統的驗證方法時未被發現。 該報告描述了在電動座椅控制器和自動變速器設計這兩個汽車應用中使用了Reactis。該報告指出,對座椅控制器軟體進行測試是令人難以想像的複雜和富有挑戰性:“這種複雜程度的模型,通常需要大量的時間來建立合適的輸入參數值,來保證模型中的所有部分都能被執行到。”
 
Reactis通過自動建立這些輸入參數值, 從而大幅度加快了這一過程的速度。該報告還指出,在分析了座位控制器軟體時, Reactis “直接發現了一個變數溢出錯誤,進而發現了兩個邏輯錯誤……而這些錯誤在之前進行的人工測試中完全沒被發現。”報告還介紹了使用Reactis為自動變速器模型建立高品質的測試資料,這些資料用來確保最終實現的軟體與模型為一致。
 
作為美國國防高級研究項目署( DARPA )贊助的基於模型的嵌入式軟體設計專案(Model-Based Integration of Embedded Software, MoBIES)報告的一部分,福特公佈了他們的這個成功經歷,報告名稱為"Automated Unit Test Vector Generation",在Berkeley維護的MoBIES網站上可以找到。
 
[案例二] 函數式程式設計  
對於函數式程式設計(如Standard ML)的不足之處,Reactis正好可以幫助函數式程式設計截長補短。詳見Steve Sims, Daniel C. DuVarney, Experience Report: The Reactis Validation Tool。
  1. 通用模型變數範圍和設計要求的比對
  2. 汽車巡航系統的速度限制
  3. 飛機的飛行中的動力推進分析
  4. X-射線的輻射劑量是否超過安全範圍
  5. 手機在跨服務區時的泊接可靠性 

思渤科技提供完整的產品諮詢、技術支援、產品訓練及售後服務,歡迎立即電洽思渤科技 03-6118-668 或來信。
TOP