Simulink Verification and Validation

주요 특징

  • MAAB 스타일 지침 및 고무결성(High-integrity) 시스템 설계 지침(DO-178, ISO 26262, IEC 61508 및 관련 업계 표준)에 대한 준수 검사
  • Model Advisor Configuration Editor(사용자 정의 검사 작성 기능 포함)
  • 요구 사항 문서에 따라 모델 객체, 코드 및 테스트를 추적하기 위한 Requirements Management Interface
  • 서브시스템에 대한 자동 테스트 하네스 생성
  • 시뮬레이션, SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop)을 통한 컴포넌트 테스트
  • 모델링 표준 준수 검사, 요구 사항 추적 분석 및 컴포넌트 테스트를 자동화하기 위한 프로그래밍 인터페이스 제공
Analysis views and reports generated by Simulink Verification and Validation for requirements tracing, modeling standards compliance checking, component testing, and model coverage.
요구 사항 추적, 모델링 표준 준수 검사, 구성요소 테스트 및 모델 커버리지를 위해 Simulink Verification and Validation으로 생성한 분석 보기와 보고서

Simulink Verification and Validation을 사용한 작업

Requirements Management Interface는 외부 문서를 Simulink® 블록과 연결하는 링크를 생성하는데, 이러한 링크는 요구 사항 검토, 설계 검토, 추적 분석 및 프로젝트 문서에 사용할 수 있습니다.

Requirements Management Interface를 통해 수행할 수 있는 작업은 다음과 같습니다.

  • Simulink 및 Stateflow® 객체를 요구 사항과 연계
  • Simulink 또는 Stateflow 객체에서 요구 사항으로 이동
  • 강조와 직접 정의한 태그를 사용하여 모델의 요구 사항 링크 검토
  • 객체와 요구 사항 간의 연결 상태를 보여 주는 Simulink 모델에 대한 보고서 작성

Simulink Verification and Validation은 스타일 지침 및 모델링 표준의 준수 여부를 검사하기 위한 즉시 사용 가능한 검사 라이브러리를 제공합니다. 이러한 검사 라이브러리는 MAAB(MathWorks Automotive Advisory Board) 스타일 지침 과 고집적 소프트웨어 개발을 위한 DO-178B 및 IEC 61508 표준을 지원하도록 사전 구성되어 있습니다.

Model Advisor 및 모델링 표준 검사를 통해 수행할 수 있는 작업은 다음과 같습니다.

  • 모델 또는 모델 구성요소를 기준으로 검사를 실행하여 모델링 지침 준수 여부 검증
  • 검사 구성 생성 및 공유
  • 명령행 API를 사용하여 검사 실행 자동화
  • 새 모델링 스타일 지침에 대한 사용자 정의 검사 작성

Simulink Verification and Validation은 구성요소 테스트 기능을 바탕으로 기존 모델에서 하네스 모델 및 로그 데이터를 생성하여 모델 구성요소에 대한 시뮬레이션 실행을 지원합니다. 얻을 수 있는 이점은 다음과 같습니다.

  • 모델에 대한 구성요소 테스트 자동화
  • 서브시스템 또는 서브차트 내용을 추출하여 분석을 위한 새 모델 생성
  • 시뮬레이션의 입력 포트 값 기록
  • 테스트 케이스를 사용하여 모델 시뮬레이션
  • 생성된 코드를 기준으로 테스트 실행
  • 모델 커버리지 수집 및 분석

모델, 테스트 및 생성된 코드에 대한 요구 사항 추적

Simulink Verification and Validation의 Requirements Management Interface를 사용하면 Simulink 및 Stateflow 객체를 요구 사항 문서의 텍스트에 연결할 수 있습니다. 이 인터페이스에서는 IBM® Rational® DOORS®, Microsoft® Word, Excel®, PDF 또는 HTML 파일 형식으로 저장된 요구 사항을 지원합니다. 또한 이 인터페이스는 추가 문서 형식과 요구 사항 관리 시스템을 지원하도록 사용자 정의할 수도 있습니다.

Requirements Management Interface context menu and Requirements dialog box.
Requirements Management Interface의 상황별 메뉴와 Requirements 대화 상자

링크 생성

링크는 모델 내에서 외부 문서를 가리키는 참조이며, 요구 사항 추적 정보의 신뢰성과 지속성을 확보하는 모델 블록 고유 ID와 연결되어 있습니다.

요구 사항 추적을 사용하면 외부 문서에서 요구 사항 객체 또는 즐겨찾기를 선택하고 Simulink의 상황별 메뉴를 통해 링크를 생성할 수 있습니다. 또한 Requirements 대화 상자에서 보다 정교한 대상별 분석을 위해 링크에 키워드와 설명을 적용할 수도 있습니다.

설계 및 요구 사항 검토

Requirements Management Interface를 사용하면 모델의 블록을 강조하거나, 모델 서브시스템의 이미지와 요구 사항 문서의 정보가 결합된 요구 사항 보고서를 생성할 수 있습니다. Simulink Report Generator™를 사용하여 보고서 서식을 사용자 정의할 수도 있습니다.

Simulink Verification and Validation을 IBM Rational DOORS와 함께 사용하여 Simulink 링크를 DOORS의 링크 객체로 복제하면 요구 사항 문서를 수정할 필요 없이 양방향 추적이 가능합니다. Requirements Management Interface는 DOORS의 링크와 Simulink의 링크를 동기화합니다. 따라서 IBM Rational DOORS 또는 IBM Rational DOORS Web Access에서 링크를 생성한 다음 이 링크를 Simulink 모델과 동기화할 수 있습니다. 또한 요구 사항 링크가 해당 소스 문서와 일관성을 유지하도록 하기 위해 제거하거나 수정한 요구 사항을 식별하는 요구 사항 일관성 검사를 실행할 수 있습니다. 체계적인 모델 분석을 위해 이 검사를 다른 Model Advisor 검사와 결합할 수도 있습니다.

코드 검토

Embedded Coder™, HDL Coder™ 또는 Simulink PLC Coder™를 사용하여 모델에서 코드를 생성하면 요구 사항 레이블을 소스 코드의 주석 및 코드 생성 보고서의 하이퍼링크로 포함할 수 있습니다. 코드 생성 보고서의 하이퍼링크를 활용하면 코드에서 요구 사항으로 직접 이동할 수 있습니다.

Requirements Management Interface를 지원하고 링크 및 추적 기능을 제공하는 파트너사 요구 사항 관리 솔루션에 대해 알아보려면 MathWorks Connections Program을 방문하십시오.

Annotated source code, created with Real-Time Workshop Embedded Coder, showing hyperlinks to requirements.
요구 사항에 대한 하이퍼링크를 보여 주는 Embedded Coder로 생성한 주석 소스 코드

모델링 표준 준수 검사

Simulink Verification and Validation은 다음에 대한 검사를 수행합니다.

  • MathWorks Automotive Advisory Board
  • DO-178B
  • IEC 61508(ISO 26262)
  • 요구 사항 일관성

Model Advisor에서 개별 검사 또는 그룹 검사를 실행할 수 있습니다. 각각의 검사에서는 불일치 사항을 해결하기 위한 자세한 문서와 권장 사항을 제공하며, 일부 검사에서는 추가 구성 옵션도 사용할 수 있습니다.

Violation in highlighted model block found through modeling standards checks in Model Advisor.
Model Advisor의 모델링 표준 검사를 통해 발견된 강조 모델 블록 내의 위반

Model Advisor Configuration Editor를 통해 기본 제공 검사를 수정하면 다음을 수행할 수 있습니다.

  • 검사 조합 선택
  • 선택한 검사 조합을 새 구성으로 저장
  • 기존 구성에서 검사 가져오기 및 적용
  • 구성에 사용자 정의 검사 추가
  • 구성 내보내기 및 배포

스크립팅 API를 통해 사용자 정의 검사를 작성할 수 있습니다. 사용자 정의 검사의 예는 제품 문서에 나와 있습니다.

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

Simulink DO Qualification Kit을 사용하는 경우 Model Advisor에서 DO-178B 검사가 DO-178B 또는 DO-254 인증 프로젝트에 사용하기에 적합한지 적격성을 확인할 수 있습니다.

구성요소 테스트

Simulink Verification and Validation은 하나 이상의 참조된 모델, 서브시스템 또는 모델의 atomic 서브차트를 분석 및 시뮬레이션하기 위한 API를 제공합니다. 모든 구성요소 테스트 기능은 명령행에서 사용할 수도 있고 MATLAB® 스크립트에 통합할 수도 있습니다.

하네스 모델 생성

하네스 모델 생성 기능을 사용하면 더 큰 제어 시스템 모델에서 참조한 atomic 서브시스템 또는 모델을 분리하고 이를 추출하여 추가 테스트와 분석을 위한 하네스 모델로 생성할 수 있습니다. 개발 중인 구성요소의 완전한 테스트를 수행하려는 경우나 나머지 시스템 모델을 시뮬레이션에 사용할 수 없는 경우 하네스 모델을 사용할 수 있습니다.

하네스 모델 생성 기능은 복잡하고 깊이 중첩된 버스를 포함한 루트 레벨 입력과 출력에 대한 인터페이스 구성을 자동화합니다. 외부 데이터 저장소 같은 서브시스템 종속성은 하네스에 통합되어 새 모델 입력과 연결됩니다. 또한 모든 필요한 신호 라벨링과 연결은 테스트 대상 구성요소의 속성과 일치하도록 자동으로 수행됩니다.

데이터 로깅, 가져오기 및 작성

데이터 로깅 기능을 사용하여 폐루프 시뮬레이션 중에 입력 신호를 캡처하고 로깅된 테스트 벡터를 하네스 모델의 시뮬레이션에 재사용할 수 있습니다. 기반 데이터 형식이 Simulink Design Verifier™와 호환되므로 Simulink Design Verifier에 제공된 테스트 생성 기능을 사용하여 테스트 케이스를 추가로 생성할 수 있습니다.

하네스 모델을 생성할 때 모델 하네스 생성 기능을 통해 로깅된 데이터를 포함하고 이를 Signal Builder 블록으로 가져와서 편집할 수 있습니다.

Signal Builder 블록이 포함된 하네스 블록을 디버깅 및 상세 분석에 사용할 수 있습니다. Simulink Signal Builder 블록을 사용하면 그래픽을 통해 테스트 벡터를 편집하고 스프레드시트 문서에서 기존 테스트 데이터를 가져올 수 있습니다.

Workflow in Simulink Verification and Validation utilizing component testing functions to augment tests done on the control system model and to verify the model and code in the simulation.
Simulink Verification and Validation을 이용한 구성요소 테스트 작업 흐름. 제품 내에 있는 구성요소 테스트 기능을 활용하여 제어 시스템 모델에서 수행한 테스트를 보완하고 시뮬레이션에서 모델과 코드를 검증하는 식으로 작업 흐름이 진행됩니다.

테스트 실행

테스트 실행 기능을 사용하여 시뮬레이션, SIL 및 PIL 모드에서 모델과 생성된 코드에 대해 테스트 케이스를 자동으로 실행할 수 있습니다. SIL 및 PIL 모드를 사용하려면 Embedded Coder가 필요합니다.

추가 분석을 위해 구성요소 테스트 결과를 Data Inspector로 가져올 수 있습니다. 테스트 실행 기능은 테스트 완전성에 관한 추가 정보를 수집하기 위해 모델 커버리지 및 코드 커버리지 툴에 통합됩니다.

요구 사항과 테스트 연결

Signal Builder 창의 Requirements 창을 통해 Signal Builder의 테스트 케이스를 기능 요구 사항 및 테스트 계획 같은 외부 문서에 연결할 수 있습니다. 또한 개별 테스트 케이스에 어설션을 할당하여 합격/불합격 결과를 자동으로 분석할 수 있습니다.

Using the Simulink Signal Builder block to link test cases with verification blocks and requirements.
] Simulink Signal Builder 블록을 사용하여 테스트 케이스를 검증 블록 및 요구 사항과 연결. Verification block settings 창과 Requirements 창이 표시됩니다.

모델 커버리지 분석

Simulink Verification and Validation은 논리적 조건, 스위치, 룩업 테이블 보간 간격 및 서브시스템 같은 설계의 테스트되지 않은 요소를 나타내는 모델 커버리지 보고서를 생성합니다. HTML 문서 형식으로 생성되는 이러한 보고서에는 구조적 커버리지에 대한 업계 표준 메트릭이 사용됩니다. 또한 모델에 대한 커버리지 정보를 표시하므로 모델에서 누락된 커버리지를 자세히 살펴보고 연결된 요구 사항으로 이동할 수 있습니다. 그런 다음 요구 사항, 테스트 케이스 또는 설계를 커버리지 목표에 맞게 수정해야 할지 여부를 결정할 수 있습니다.

Model coverage report for a group of test cases run in simulation.
시뮬레이션에서 실행된 테스트 케이스 그룹에 대한 모델 커버리지 보고서

Simulink Verification and Validation은 8가지 모델 커버리지 분석 메트릭을 제공합니다.

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

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

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

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

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

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

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

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

Designing Supervisory Control for Safety-Critical Systems

웨비나 보기