MATLAB® 및 Simulink®를 이용한 모델 기반 설계를 통해 엔지니어링 팀은 복잡한 임베디드 시스템을 설계하고 프로덕션급 품질의 C, C++ 및 HDL 코드를 생성할 수 있습니다. MathWorks의 툴은 시뮬레이션 테스트 및 정형 기법 기반의 정적 분석을 통해 모델 기반 설계에 엄밀성과 자동화를 더함으로써 오류를 조기에 찾고 더 높은 품질을 달성할 수 있습니다.
MATLAB 및 Simulink를 사용하여 다음과 같은 작업을 수행할 수 있습니다.
확인 및 검증에 MATLAB 및 Simulink 사용
요구사항 검증
문서, 스프레드시트 또는 IBM ® Rational ® DOORS ® 등의 요구사항 관리 툴에 저장할 수 있는 비정형 텍스트 요구사항을 통해 개발 공정을 시작할 수 있습니다. Requirements Toolbox™를 통해 아키텍처, 설계, 생성된 코드 및 테스트 아티팩트와 함께 요구사항을 가져오고 조회하고 작성 및 관리할 수 있습니다. 요구사항에서 System Composer™, Simulink, Stateflow ®에서 요구사항에서 설계로의 디지털 스레드를 생성하거나 Simulink Test™에서 요구사항에서 테스트로의 디지털 스레드를 생성할 수 있습니다. 이 추적성을 통해 구현 또는 테스트에서 미비점을 식별하고 변경 사항이 설계 또는 테스트에 미치는 영향을 빠르게 파악할 수 있습니다.
Requirements Toolbox에서 Requirements Table 블록을 사용하여 요구사항을 정형화하고 요구사항의 일관성, 완전성, 정확성을 분석함으로써 요구사항을 조기에 검증할 수 있습니다. Simulink Test의 시간적 평가를 활용하면 평가와 디버깅이 가능한 자연어 형식의 정확한 구문으로 평가를 지정함으로써 텍스트 요구사항을 검증할 수 있습니다.
인증 표준 준수
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으로 나누기, 범위를 벗어난 배열 액세스 및 기타 런타임 오류가 없음을 증명할 수 있습니다.
"수작업으로 코딩하던 과거의 경험과 비교하면, 저희는 모델 기반 설계를 통해 인건비 30%, 테스팅 코드 20%를 줄이고 생산성을 30% 이상 향상시켰습니다. 사내 소프트웨어 개발 팀을 구축하면서도 일정보다 일찍 ECU 개발을 완료했습니다."
Daming Li, Weichai Power