Skip to content

매틀립/시뮬링크 기반 모델 기반 설계 학습

Notifications You must be signed in to change notification settings

dd-jero/Model-Based-Design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

MBD(Model Based Design)

정의

모델을 기반으로 코드가 자동으로 만들어지는 (Auto-generation Code) 개발 방식
  • 전통적인 C/C++과 같은 언어로 프로그램을 짜는 방법과 다름.
  • 각 기능에 맞는 모델을 선택하여, 설계하고, 시뮬레이션을 통해 결과를 확인하면서, 예상과 다른 결과라면 모델을 다시 그려서 결과를 확인하는 과정을 반복 => 모든 과정은 PC에서 이루어지며, 실제 시스템에 연결하기전 예상 가능한 오류를 발견하고 수정하는 것이 매우 빠르게 진행된다!

이점

  1. 시스템 개발의 모든 단계에서 시험과 검증을 연속적으로 수행하여 중복 구현 비용을 절감할 수 있음.
  2. 모델링과 시뮬레이션 단계에서 시스템 알고리즘에 대한 시험을 수행 가능함.
  3. 이미 설계된 기능 모델을 활용 할 수 있음.
  4. 구현(Implemenatation) 단계에 필요한 비용을 줄일 수 있음.

MBD 개발 워크플로우 (V-Model)

graph TD
  A[시스템 요구사항] --> B[모델 설계]
  B --> C[MIL 검증]
  C -->|요구사항 추적| D[구조적 커버리지]
  D --> E{SIL/PIL 검증<br/>MC/DC ≥95%?}
  E -->|Yes| F[HIL 통합]
  E -->|No| B
  F --> G[배포]
  G -->|결함 분석| H[요구사항 개정]
  H --> A
  
  style D fill:#f0f0f0,stroke-dasharray: 5 5
  style E stroke:#ff0000,stroke-width:2px
Loading

활용

  • 자동차의 ECU 개발을 중심으로 모델 기반 설계라는 개념이 제창되었고, 많은 제어기가 MBD 기반의 SW 개발로 확장되고 있음.

MBD와 ISO26262 관계

  • 자동차 기능 안전 국제 표준인 ISO26262의 Part 6 "소프트웨어 수준에서 제품 개발"은 MBD 분야의 검증을 언급하고 있음. 반면 MBD의 동적 검증은 코드나 모델 구분 없이 단위/통합 단계에서 요구사항 기반 인터페이스 검증을 수행하도록 권고하고 있음.

모델 정적 검증이란?

  • MISRA, MAAB, dSPACE 등의 모델링 가이드라인(규칙)을 기준으로 가이드라인에 위배되는 항목을 검출하는 것
  • 정적 검증은 모델의 가독성 및 유지 보수성을 향상시킴과 동시에 가이드라인을 적용하여 잠재된 결함을 발견함으로써 소프트웨어의 품질을 높이는 작업

모델 동적 검증이란?

  • MBD 방식으로 개발된 모델에 대해서도 단위/통합 검증을 수행함. 수행 절차는 테스트 준비, 테스트 실행, 결과 확인의 절차를 통해 이루어지며 준비된 시험 자료를 모델에 입력하고 원하는 출력이 나오는지 확인함.
  • 모형화 단계에서 모델의 동작을 확인함으로써 SW 수행 중 발생 가능한 오류를 미리 감지할 수 있다는 장점이 있음.
단계 검증 대상 환경 도구
MIL 순수 알고리즘 PC 시뮬레이션 Simulink
SIL 생성 코드 기능 PC 네이티브 실행 SIL Manager
PIL 프로세서 최적화 코드 타겟 MCU Embedded Coder
HIL 전체 시스템 통합 실시간 시뮬레이터 Speedgoat/NI PXI

About

매틀립/시뮬링크 기반 모델 기반 설계 학습

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published