Verification, Validation 및 Test를 위한 MATLAB 및 Simulink

모델 기반 설계를 이용하여 임베디드 시스템을 검증합니다.

엔지니어링 팀은 MATLAB® 및 Simulink®를 이용한 모델 기반 설계를 통해 복잡한 임베디드 시스템을 설계하고 고품질의 C, C++, HDL 코드를 생성합니다. MathWorks 툴은 엄격하고 자동화 가능한 시뮬레이션 테스팅 및 Formal Method 기반 정적 분석을 이용하여 모델 기반 설계를 보완하여 오류를 조기에 탐지하고 높은 품질을 달성합니다.

MATLAB 및 Simulink로 할 수 있는 작업은 다음과 같습니다.

  • 요구사항을 아키텍처, 설계, 테스트, 코드까지 추적합니다.
  • 설계가 요구사항에 부합되고 치명적인 런타임 오류가 없다는 사실을 증명합니다.
  • 모델과 코드의 표준 적합성을 점검하고 품질을 측정합니다.
  • 자동으로 테스트 케이스를 생성하여 테스트 커버리지를 확대합니다.
  • 보고서와 아티팩트를 생성하고 표준 적합성을 인증합니다(DO-178ISO 26262 등).

"수작업으로 코딩하던 과거의 경험과 비교하면, 저희는 모델 기반 설계를 통해 인건비 30%, 테스팅 코드 20%를 줄이고 생산성을 30% 이상 향상시켰습니다. 저희는 자체 소프트웨어 개발 팀을 구축하는 한편, 일정보다 빨리 ECU 개발을 완료했습니다."

Daming Li, Weichai Power

검증에 MATLAB 및 Simulink 활용하기

요구사항 검증

문서, 스프레드시트 또는 IBM® Rational® DOORS® 같은 요구사항 관리 툴에 저장 된 Informal 텍스트 요구사항으로부터터개발 프로세스를 시작합니다. Simulink Requirements™를 이용하면 사용자의 아키텍처, 설계, 생성된 코드, 테스트 아티팩트와 함께 요구사항을 열람, 작성, 관리할 수 있습니다. 요구사항으로 부터에서 Composer™, Simulink, Stateflow®으로 작성 된 설계 또는 Simulink Test™ 의 MATLAB 테스트까지 디지털 스레드를 구성 할 수 있습니다. 이러한 추적성을 이용하여 구현물 또는 테스트의 미비점을 식별하고, 설계나 테스트의 변경이 미치는 영향을 빠르게 이해할 수 있습니다. Third-Party Tool에서 나온 요구사항을 열람, 동기화, 관리하여, 사용자의 개발 프로세스에 있는 다른 툴들과의 추적성을 구축할 수 있습니다.

Simulink Test에 있는 Temporal Assessment를 활용하면, 평가하고 디버깅 할 수 있는 자연어 형식의 정밀한 시멘틱스를 이용하여 평가를 지정함으로써 텍스트 요구사항을 검증할 수 있습니다.


인증 표준 준수

DO-178, ISO 26262, IEC 61508, IEC 62304 및 MAAB(MathWorks Automotive Advisory Board) 스타일 지침을 비롯한 표준에 대한 모델과 코드의 적합성을 자동으로 검증합니다. Simulink Check™는 개발 시 표준 및 지침 위반을 식별하는, 업계에서 인정받는 검사 및 메트릭을 제공합니다. 사용자의 표준 또는 지침에 맞춰 사용자 지정 검사를 생성할 수도 있습니다. IEC Certification Kit(ISO 26262 및 IEC 61508용) 및 DO Qualification Kit(DO-178용)에서는 Tool Qualifcation Artifact, Certificate 그리고 Test Suite들을 제공하여, 코드 생성 및 검증 제품의 적합성을 검사하고 임베디드 시스템의 인증을 간소화할 수 있습니다.


오류가 없음을 증명하고 요구사항을 공식적으로 검증합니다.

모델의 시뮬레이션 없이도 Formal Verification을 통해 Integer Overflow, Dead Logic, Array Access Violation 및 Division By Zero로 인해 유발되는 숨겨진 설계 오류를 탐지합니다. Simulink Design Verifier™를 이용하면 사용자의 설계 오류 또는 보안 취약점을 Frmal Method로 검증할 수 있습니다. Simulink Design Verifier를 이용하면 설계가 핵심 요구사항을 충족하고 있음을 증명할 수도 있습니다. 툴이 Exception을 탐지하면 디버깅을 위해 반례를 생성 할 수도 있습니다.


자동 테스트 생성

테스트의 미비점, 의도치 않은 기능 또는 요구사항 오류를 식별해야 합니다. Simulink Coverage™는 모델 또는 생성된 코드가 테스트 중에 얼마나 실행되었는지 계산합니다. 조건(condition), 결정(decision), MCDC(수정 조건/결정) 및 사용자 지정 커버리지 Objective 등 산업 표준 메트릭을 적용합니다. Simulink Design Verifier는 자동으로 테스트 케이스를 생성하여 불완전한 커버리지를 보완함으로써 구조적, 기능적 커버리지 목표를 달성합니다.


정적 코드 분석

Handwritten 코드와 생성된 코드를 검증하기 위해 Polyspace® 제품군은 테스트 케이스나 코드 실행 없이도 Formal Method를 이용하여 버그를 찾고, 치명적인 런타임 오류가 없다는 사실을 증명합니다. Polyspace Bug Finder™는 MISRA®, ISO 26262, IEC 61508, DO-178, FDA 규정 등 표준에 대한 적합성을 확인하고 문서로 작성합니다. 소프트웨어의 보안 취약점을 검사하고 CWE, CERT-C, ISO/IEC 17961 등 표준에 대한 적합성을 검사할 수 있습니다. Polyspace Code Prover™는 정적 분석을 수행하여 C 및 C++ 소스 코드에 Overflow, Division by Zero, Out of Bounds Array Access, 기타 런타임 오류가 없다는 사실을 증명합니다.


Go from basic tasks to more advanced maneuvers by walking through interactive examples and tutorials.