콘텐츠로 건너뛰기
Home » Matlab와 LDRA 연동을 통한 소프트웨어 검증

Matlab와 LDRA 연동을 통한 소프트웨어 검증

[Matlab와 LDRA 연동]

이번 포스팅에서는 Matlab과 LDRA 솔루션의 연동 방법에 대하여 알아보겠습니다.

Matlab은 Matrix Laboratory의 줄임말로 MathWorks 회사에서 1984년 출시된 공학, 시뮬레이션 전문 개발 환경입니다. 말 그대로 Matlab은 행렬을 이용하여 수치해석 및 알고리즘을 통한 모델을 구축할 수 있으며, 더 나아가 Simpulink 및 State floow를 통하여 제어 알고리즘 및 제어 대상을 모델링 하며 시뮬레이션 환경을 제공합니다. 또한 Matlab은 개발하기 편리한 구조를 가지고 있어 여러 임베디드 시스템 제어 장치에 적용되고 있습니다.

이미 제어 오류로 인한 인명 피해를 줄이는 데 영향을 미치는 등, 실생활 속에서도 임베디드 시스템이 많은 부분에 자리를 잡으며 임베디드 시스템을 통한 안정성에 대한 관심이 급증하고 있습니다. 이렇듯 안정성과 시스템에 대한 신뢰성이 강조되는 가운데 LDRA라는 도구로 사용해  Matlab 개발환경 안에서 신뢰성을 더욱 높이는 방법에 대해 본격적으로 알아보겠습니다.

Matlab의 테스트 방법으로는 크게 정적 테스트와 동적테스트 이렇게 두가지 방법으로 나눌 수 있습니다.

정적 테스트는 코드를 실행하지 않고 코드 자체의 오류를 검출해내는 테스트 방식이며 동적 테스트는 직접 실행을 통해 프트웨어가 예상대로 작용하는지의 여부를 판정하는 테스트 방식입니다. Matlab은 임베디드 소프트웨어로의 구현을 위해 자동으로 C/C++ 코드를 생성시킬 수 있습니다. 이를 통하여 생성된 코드와 레거시 코드를 검증하기 위해 정적 테스트 및 동적 테스트를 수행할 수 있습니다. 이 테스트를 통해 생성된 코드를 이용해 개발자는 PIL에서 SIL까지 시뮬레이션이 가능할 수 있는 기능을 제공합니다.

[Software in the loop (SIL) : 타깃 프로세서에 소프트웨어를 배치하기 전에 구현된 코드가 설계된 것과 동일하게 동작하는지 확인하기 위한 테스트입니다. 모델 기반 설계에서의 SIL 테스트는 모델과 모델로부터 생성된 코드가 동일하게 동작하는지를 확인하는 테스트라고 할 수 있습니다.]

[Processor-In-The-Loop (PIL) : SIL테스트와 유사하다고도 볼 수 있으나, 위의 그림처럼 생성된 코드를 타깃 임베디드 프로세서에 넣어 테스트한다는 차이점이 있습니다. 여기서 타깃 임베디드 프로세서에서 동작시키는 것의 중요한 의미는 Cross-Compiler로 컴파일 된 목적 코드를 프로세서와 함께 테스트한다는 것입니다.] 

MathWorks의 코드생성 도구는 코드 생성과 동시에 생성된 코드를 모델과 함께 동작 시킬 수 있는 환경을 자동으로 구성합니다.

즉, 모델 레벨에서 사용한 테스트 케이스들을 활용하여 코드에 대한 테스트를 수행할 수 있는 환경을 자동으로 만들어 줌으로써 생성된 코드의 검증을 용이하게 합니다. 이 때, 코드 커버리지 분석을 위해 외부 코드 커버리지 분석 도구 LDRA와의 연동 기능이 함께 제공됩니다.

MATLAB 및 Simulink의 통합 솔루션을 통해 개발자는 Embedded Coder를 이용해 Processor in the loop(PIL)에서 Software in the loop(SIL)까지 광범위 하게 시뮬레이션을 할 수 있습니다. LDRA 솔루션은 이와 똑같은 환경에서의 단계별 소스 및 오브젝트 코드를 모두 분석합니다. 이를 통해 개발자는 각각의 연동 데이터가 상호 작용하는 방식이 코드 상에서 어떻게 이루어지는지 이해할 수 있고, 설계 단계에서의 결함을 바로 코드에서 확인하고 모델의 반복적인 수정 시간을 줄일 수 있습니다.

이렇게 LDRA는 Simulink 모델과 자동화 생성코드를 이용하여 별도의 자동화 검증 프로세스를 지원하며, Simulink 기반의 테스팅 부터 LDRA Tool Suite의 솔루션을 통해 오브젝트 코드 레벨까지의 테스트를 수행하여 보다 쉬운 방법으로 SW 인증을 획득할 수 있습니다. 또한 LDRA Tool Suite은 실제 개발 환경의 컴파일러와의 편리한 연동을 통해 소스 코드 및 오브젝트 코드 사이의 불일치를 확인 할 수 있으며 모델 안에서 프로그램의 최적화가 되었는지 확인 할 수도 있습니다.

지금까지 LDRA와 Matlab의 연동하여 소프트웨어 검증(테스트) 하는 방법에 대하여 살펴 보았습니다.

출처

LDRA : http://www.ldra.com/ja/news/newsitem/news?ident=44

Matlab : http://kr.mathworks.com/products/matlab/features.html

Send us a message!

앞선 품질, 끊임없는 도전, 정직한 기술로 함께합니다.
문의 글을 작성해 주시면, 담당자 확인 후 빠르게 연락드립니다.

대표전화: (+82)02-420-3203

FAX: (+82)02-407-3511

05770 서울특별시 송파구 오금로 422, 연암빌딩 4F~6F




FAMILY SITE

advanced-floating-content-close-btn