주요 특징

  • MAAB 스타일 지침 및 고무결성 시스템 설계 지침(DO-178, ISO 26262, IEC 61508 및 관련 업계 표준)에 대한 준수 검사
  • Model Advisor Configuration Editor(사용자 정의 검사 작성 기능 포함)
  • 요구 사항 문서에 따라 모델 객체, 코드 및 테스트를 추적하기 위한 Requirements Management Interface
  • SIL(software-in-the-loop)을 사용한 모델 커버리지 분석 및 생성된 코드 커버리지 분석
  • 시뮬레이션, SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop)을 통한 컴포넌트 테스트
  • 준수 검사, 요구 사항 추적 분석 및 컴포넌트 테스트를 자동화하기 위한 프로그래밍 인터페이스

요구 사항과 디자인 요소 사이의 관계 확립

Simulink Verification and Validation™을 사용하면 Simulink®Stateflow® 객체를 요구 사항 문서의 텍스트에 연결할 수 있습니다. 이 툴박스는 IBM® Rational® DOORS®, Microsoft® Word, Microsoft Excel®, PDF 또는 HTML 파일에 저장된 요구 사항을 지원합니다. Simulink의 링크에 키워드와 설명을 적용하여 디자인에 더욱 자세한 설명을 덧붙일 수 있습니다. 다양한 문서 형식과 요구 사항 관리 시스템을 지원하도록 인터페이스를 사용자 정의할 수도 있습니다.

요구 사항 문서에 객체, 테스트 케이스 및 코드를 연결합니다.

Simulink Verification and Validation은 요구 사항 문서의 Simulink 아티팩트에 링크를 배치함으로써 양방향 추적 기능을 제공합니다. 또한 DOORS와 같은 요구 사항 관리 제품의 링크를 동기화합니다. 요구 사항 링크가 소스 문서와 일관성을 유지하도록 하기 위해 삭제되었거나 수정된 요구 사항을 검사할 수도 있습니다. ‘Requirements Management Interface’라 불리는 응용 프로그램 인터페이스를 사용하면 요구 사항 추적 분석을 자동화할 수 있습니다.

테스트 규모를 조정하고 코드를 생성할 수 있도록 지원하는 툴에 의해 요구 사항 연결도 지원됩
니다. Simulink Test™에서 테스트 케이스, 테스트 모음 및 테스트 순서에 요구 사항을 연결할 수 있고, Simulink 캔버스나 테스트 매니저에서 링크에 액세스할 수 있습니다. Embedded Coder®
HDL Coder™ 또는 Simulink PLC Coder™에서 생성된 코드는 코드 생성 보고서에서 요구 사항 문서로 하이퍼링크될 수 있습니다. 이러한 링크는 코드에서 주석 레이블로 표시됩니다. 코드 생성 보고
서의 하이퍼링크를 사용하면 코드에서 요구 사항으로 직접 이동할 수 있습니다.

MathWorks Connections Program을 방문하면 Simulink Verification and Validation을 지원하는 타사 요구 사항 관리 솔루션을 확인할 수 있습니다.


표준 및 메트릭을 사용하여 모델 품질 검사

Simulink Verification and Validation은 스타일 지침 및 모델링 표준의 준수 여부를 검사할 수 있도록 즉시 사용 가능한 검사 라이브러리를 제공합니다. 이러한 검사 라이브러리는 MAAB(MathWorks Automotive Advisory Board) 스타일 지침과 고무결성 소프트웨어 개발을 위한 DO-178, ISO 26262,
IEC 61508 및 IEC 62304 표준을 지원하도록 사전 구성되어 있습니다. Model Advisor 툴로 개별검사 또는 그룹 검사를 실행할 수 있습니다. 각각의 검사에서는 식별된 문제, 경고 및 오류를 해결하기 위한 자세한 문서와 권장 사항을 제공합니다. 또한 식별된 문제에 대한 해결 방안을 툴에서 실행하는 옵션도 제공됩니다.

Model Advisor를 사용하여 모델링 표준 준수 여부를 검사합니다.

Simulink Verification and Validation은 모델이 다운스트림 툴과 호환되는지 검사하여 개발 프로세스를 지원합니다. 예를 들어, 모델이 Simulink Code Inspector™ 및 Simulink Design Verifier™와 같은 툴과 호환되는지 확인할 수 있습니다. Model Advisor 기능을 통해 이러한 툴에서 감지된 데드 로직 오류나 0으로 나누기(Division By Zero) 오류와 같은 디자인 문제가 표시될 수 있습니다. 모델의 규모, 복잡도 및 가독성을 점검하기 위한 모델 메트릭을 생성할 수도 있습니다. 이러한 메트릭은 단순하고 이식이 가능하며 검토가 용이한 분명하고 명백한 모델을 개발하기 위한 지침을 제공합니다.

Model Advisor API 및 Configuration Editor로 사용자 정의 Model Advisor 검사를 생성하여 모델이 사용자 자체 표준이나 지침을 준수하는지 확인할 수 있습니다. 내장된 모델링 준수 및 업계 표준을 수정하여 사용자 정의 검증(Verification) 검사를 생성할 수도 있습니다. 이러한 사용자 정의 검사에는 내장 검사를 사용할 때와 마찬가지로 에러를 표시하거나 모델에 자동으로 수정 사항을 적용하는 등 Model Advisor가 취할 동작을 지정할 수 있습니다.

준수 검증(Verification)을 자동화하거나 속도를 늘이기 위해 단일 컴퓨터에서 또는 Parallel Computing Toolbox™와 병렬로 여러 컴퓨터에서 배치 모드로 검사를 실행할 수 있습니다. 그러면 Model Advisor 내에서나 HTML 보고서(분석 실행이 끝났을 때 생성된)에서 준수 검사 결과를 볼 수 있습니다.

IEC Certification Kit(ISO 26262 및 IEC 61508) 및 DO Qualification Kit(DO-178)을 사용하여 Simulink Verification and Validation이 DO-178, ISO 26262, IEC 61508 및 IEC 62304를 비롯한 지원되는 업계 표준을 준수하는지 확인할 수 있습니다.

Model Advisor 툴에서 모델링 지침 위반 사항이 강조 표시됩니다.


모델 및 코드 커버리지 측정

Simulink Verification and Validation은 디자인의 테스트되지 않은 요소를 나타내는 모델 및 코드 커버리지 보고서를 생성합니다. 커버리지 보고서는 테스트 케이스나 테스트 모음으로 인해 모델이 검증되는 정도를 측정합니다. 또한 테스트 케이스나 테스트 모음이 디자인을 통해 실행 경로를 어느 정도 실행하는지 측정합니다. 모델에서 논리적 조건, 스위치, 서브시스템, 룩업 테이블 보간 간격 실행에 대한 누적 메트릭도 제공됩니다. Simulink Verification and Validation은 모델 커버리지 외에도 C S-함수 및 Embedded Coder에 의해 생성된 코드에 관한 커버리지 보고서도 생성합니다.

보다 철저하게 테스트된 모델은 커버리지 메트릭이 높게 나타납니다. Simulink Verification and Validation은 커버리지 보고서를 생성한 다음 모델의 블록 및 서브시스템에 직접 커버리지 정보를 표시합니다. 이 정보를 사용하여 모델을 자세히 살펴보고 디자인에서 커버리지가 부족한 측면이 무엇인지 식별할 수 있습니다. 그런 다음 요구 사항, 테스트 케이스 또는 설계를 커버리지 목표에 맞게 수정해야 할지 여부를 결정할 수 있습니다.

Simulink Verification and Validation™의 커버리지 분석 기능을 사용하여 디자인의 테스트되지 않은 요소를 찾아냅니다.

Simulink Verification and Validation에서 생성되는 커버지리 메트릭은 다음과 같습니다.

실행 커버리지(Execution coverage) - 모델 커버리지의 가장 기본적인 형식입니다. 실행 커버리지는 각 블록이나 서브시스템에 대해 해당 항목이 시뮬레이션 도중에 실행될지 여부를 결정합니다.

구문 커버리지(Statement coverage) - C S-함수 및 생성된 코드를 위한 기본적인 코드 커버리지 형식입니다. 구문 커버리지는 실행된 코드 구문을 식별합니다.

순환 복잡도(Cyclomatic Complexity) - 모델에서 생성된 코드에 대한 McCabe 복잡성 측정값의 근사치를 구해서 모델의 구조적 복잡도를 측정합니다.

조건 커버리지(Condition Coverage) - 논리 블록 및 Stateflow 전환 같은 입력의 논리적 결합을 출력하는 블록(또는 코드)을 검사합니다.

결정 커버리지(Decision Coverage) - Simulink Switch 블록, Stateflow 상태 및 조건문과 같은 모델의 결정 지점을 나타내는 항목과 코드의 조건문을 검사합니다.

룩업 테이블 커버리지(LUT: Lookup Table Coverage) - 각 보간 간격의 사용 빈도를 기록합니다. (테스트 케이스는 각 보간 및 외삽 간격을 한 번 이상 실행하면 전체 커버리지를 달성합니다.)

수정 조건(Modified Condition)/결정 커버리지(Decision Coverage)(MC/DC) - RTCA DO-178의 정의에 따라 안정성이 필수적인 소프트웨어를 분석하고 논리 입력이 출력을 개별적으로 변경했는지 여부를 판단합니다.

관계형 경계 커버리지(Relational boundary coverage) - 명시적 또는 묵시적 관계형 연산이 포함된 블록, Stateflow 차트 및 MATLAB® 함수 블록을 검사합니다.

정수 오버플로 시 포화 커버리지(Saturate on integer overflow coverage) - Abs 블록과 같은 블록이 정수 오버플로 시 포화하는 횟수를 기록합니다.

신호 범위 커버리지(Signal Range Coverage) - 시뮬레이션 중에 각 블록 출력에 의해, 그리고 모든 Stateflow 데이터 객체에 대해 생성된 최소치와 최대치를 나타냅니다.

신호 크기 커버리지(Signal Size Coverage) - 모델의 모든 가변 크기 신호에 대한 최소치, 최대치 및 할당된 크기를 기록합니다. 가변 크기 출력 신호가 포함된 블록만 보고서에 포함됩니다.

Simulink Design Verifier 커버리지(Simulink Design Verifier Coverage) - Simulink Design Verifier 블록과 함수에 대한 모델 커버리지 데이터를 기록합니다.