MATLAB 및 Simulink를 사용한 검증, 확인 및 테스트

모델 기반 설계를 사용한 임베디드 시스템 검증 및 확인

MATLAB 및 Simulink를 사용한 모델 기반 설계를 통해 엔지니어링 팀은 복잡한 임베디드 시스템을 설계하고 프로덕션급 품질의 C, C++ 및 HDL 코드를 생성할 수 있습니다. MathWorks의 툴은 시뮬레이션 테스트 및 정형 기법 기반의 정적 분석을 통해 모델 기반 설계에 엄밀성과 자동화를 더함으로써 오류를 조기에 찾고 더 높은 품질을 달성할 수 있습니다.

MATLAB 및 Simulink를 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 요구사항을 아키텍처, 설계, 테스트 및 코드까지 추적
  • 설계 시점에서 업계 및 사용자 지정 모델링 표준 준수 여부 검사
  • 설계의 요구사항 충족 여부 및 심각한 런타임 오류의 부재 증명
  • 테스트 시퀀스 및 Stateflow 상태 차트를 사용한 테스트 케이스 작성
  • 모델 및 코드 커버리지 수집을 통해 테스트 완전성 검사
  • 테스트 케이스 자동 생성을 통해 누락된 테스트 커버리지 분석
  • 리포트 및 아티팩트 생성, DO-178ISO 26262 등의 표준 인증

요구사항 검증

문서, 스프레드시트 또는 IBM Rational DOORS 등의 요구사항 관리 툴에 저장할 수 있는 비정형 텍스트 요구사항을 통해 개발 공정을 시작할 수 있습니다. Requirements Toolbox를 통해 여러분은 아키텍처, 설계, 생성된 코드 및 테스트 아티팩트와 함께 요구사항을 가져오고 조회하고 작성 및 관리할 수 있습니다. System Composer, Simulink, Stateflow에서 요구사항에서 설계로의 디지털 스레드를 생성하거나 Simulink Test에서 요구사항에서 테스트로의 디지털 스레드를 생성할 수 있습니다. 이 추적성을 통해 구현 또는 테스트에서 미비점을 식별하고 변경 사항이 설계 또는 테스트에 미치는 영향을 빠르게 파악할 수 있습니다. 

Requirements Toolbox에서 Requirements Table 블록을 사용하여 요구사항을 정형화하고 요구사항의 일관성, 완전성, 정확성을 분석함으로써 요구사항을 조기에 검증할 수 있습니다. Simulink Test의 시간적 평가를 사용하면 평가 및 디버그 가능한 자연어 형식의 정확한 구문으로 평가를 지정함으로써 텍스트 요구사항을 검증할 수 있습니다.


Simulink의 시스템 결함 주입 및 FMEA

시뮬레이션을 통해 결함과 기타 비정상 거동의 영향을 분석하여 안전 요구사항을 개발하고 시스템의 강인성을 검증할 수 있습니다. Simulink Fault Analyzer를 통해 시뮬레이션을 사용하여 시스템 결함의 영향 및 안전성 분석을 수행할 수 있습니다. 설계를 수정하지 않고도 결함 주입 시뮬레이션을 실행할 수 있습니다. Simulink, Simscape, System Composer에서 모델링한 결함을 관리할 수 있습니다. 시뮬레이션 데이터 인스펙터를 사용하면 결함 영향을 분석할 수 있습니다. 다중 시뮬레이션 패널을 사용하여 결함 민감도 분석을 수행할 수 있습니다. 사용자는 시뮬레이션을 활용하면서 FMEA(고장 모드 및 영향 분석)와 같은 안전성 분석을 수행할 수 있습니다. Simulink Fault Analyzer와 Requirements Toolbox를 함께 사용하면 결함, 위험, 결함 검출 및 완화 논리, 기타 아티팩트 간의 정형적 연결을 만들 수 있습니다.


인증 표준 준수

DO-178, ISO 26262, IEC 61508, IEC 62304 및 MAB(MathWorks Advisory Board) 스타일 지침 등의 표준에 대해 모델 및 코드를 자동으로 검증할 수 있습니다. Simulink Check는 개발 과정에서 발생하는 표준 및 지침 위반 사항을 파악할 수 있도록 업계에서 인정받는 검사 및 메트릭을 제공합니다. 여러분은 사용자 지정 검사를 생성하여 자신만의 표준 및 지침을 충족할 수도 있습니다. IEC Certification Kit (for ISO 26262 and IEC 61508) 및 DO Qualification Kit (for DO-178 and DO-254)의 툴 검증 아티팩트, 인증서 및 테스트 스위트를 통해 여러분은 코드 생성 및 검증 제품을 검증하고 임베디드 시스템의 인증을 간소화할 수 있습니다.


오류의 부재 증명 및 요구사항의 정형 검증

설계를 시뮬레이션하지 않고도 정형 검증을 통해 정수 오버플로, 데드 로직, 배열 액세스 위반, 0으로 나누기를 초래하는 숨겨진 설계 오류를 찾을 수 있습니다. Simulink Design Verifier를 통해 설계에 오류 또는 보안 취약점이 없는지 정형적으로 검증할 수 있습니다. Simulink Design Verifier는 설계가 핵심 요구사항을 충족함을 증명할 수도 있습니다. 툴에서 예외를 탐지하면 디버그할 수 있도록 반례를 생성합니다.


자동 테스트 생성

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


정적 코드 분석

수작업 코드 및 생성된 코드의 검증을 위해 Polyspace 제품은 정형 기법을 사용하여 테스트 케이스 또는 코드 실행 없이 버그를 찾고 심각한 런타임 오류의 부재를 증명할 수 있습니다. Polyspace Bug Finder는 MISRA, ISO 26262, IEC 61508, DO-178 및 FDA 규정 등의 표준에 대한 준수 여부를 검사하고 문서화할 수 있습니다. 사용자는 소프트웨어의 보안 취약점 및 CWE, CERT-C, ISO/IEC 17961 등의 표준 준수 여부를 검사할 수 있습니다. Polyspace Code Prover는 정적 분석을 수행하여 C 및 C++ 소스 코드에서 오버플로, 0으로 나누기, 범위를 벗어난 배열 액세스 및 기타 런타임 오류의 부재를 증명할 수 있습니다.