매스웍스 제품군 (2)

프로그래밍/MathWorks Products | 2010/03/30 19:31 | 게으른 엔지니어
앞에서 다 쓰지 못한 나머지 세 개의 플랫폼에 대해서 얘기해 보도록 하겠다.

5. 코드 생성 플랫폼
매스웍스 제품의 완결되는 플랫폼으로 Simulin로 만든 모델과 Embedded MATLAB 으로 만든 MATLAB 함수를 C/C++, HDL, PLC 형태의 코드로 만들어 주는 플랫폼이다. 매스웍스에서 얘기하는 모델 기반 설계(Model-Based Design)의 마지막을 장식하는 플랫폼으로 생성된 코드를 기존의 코드나 혹은 운영체제에 쉽게 접목 시킬 수 있도록 해주는 플랫폼이다. 초기 시작은 C 코드만을 생성하다가 C++로 확장되더니, HDL까지도 코드를 생성해 주며, 이번에 새로 나온 R2010a에는 Simulink PLC Coder가 포함되어서 훨씬 다양한 형태로 모델로부터 구현까지 지원을 하게 되었다. HDL Code와 함께 PLC Coder의 경우에도 아직 지원 안되는 블록셋이나 기능이 있긴 하지만 점차 버전 업이 되면서 이런 문제들도 해소될 거라고 보고 있다.

6. Verification 와 Validation을 위한 플랫폼
점차적으로 소프트웨어의 중요성이 커지고, 자동 생성 코드의 중요성이 커지면서 점점 중요해 지고 있는 분야가 테스팅 분야이다. 소프트웨어의 검증은 C/C++ 코드를 컴파일과 링크 과정을 통해서 오브젝트 코드를 만들어서 테스트를 하는 동적 테스팅과 소스 코드 자체를 검사하는 정적 테스팅이 있다.
동적 테스팅의 경우 코드가 완성되어서 직접 보드에 다운로드해서 테스팅해야 하는 번거로움과 함께, 테스팅이 거의 마지막 단계에서 완성되기 때문에 문제가 발생하게되면 많은 과정을 거쳐서 수정을 하게 된다. 매스웍스 제품은 컴파일러와 같이 오브젝트 코드를 만드는 제품이 없으며, 모델(Simulink로 만들어진 모델을 말한다.)을 만들어서 지속적으로 인풋을 만들어서 테스트를 하기 때문에 동적 테스팅과 같은 개념의 작업을 모델을 개발(알고리즘 개발) 하면서 하게 된다. 물론 오브젝트 코드로 바뀌고 나서 다시 테스트해봐야 하지만, 이미 모델을 테스트하면서 개발한 테스트 케이스가 있으므로 좀 더 편리하게 동적 테스팅을 할 수 있다. 이와 같이 모델 상에서 단순히 테스트 케이스로 테스트하는 것에서 더 나아가 모델 상에서의 커버리지를 보는 것과 같이 다양하게 Verification과 Validation을 하기 위한 제품을 제공한다.

7. 코드 검증 분야
정적 테스팅의 경우 C/C++과 ADA 의 소스 코드를 검증하기 위한 PolySpace라는 제품군을 제공한다. 일반적인 정적 테스팅의 경우 코드를 분석하여 오류가 발생할 만한 부분들을 표시해 주는 것이지만, PolySpace의 경우 Formal Method 중에서 Abstract Interpretation 이라는 기법을 사용하여 오류가 발생하지 않음을 검증하는 제품이다. 처음 들으면 기존의 정적 분석 툴과 다를게 없어 보이지만, 실제로는 개념상 완전히 다르게 봐야 한다. PolySpace의 경우 코드를 분석하여 현재 코드 상에서 발생할 수 있는 모든 경우의 수에 대해서 수학적으로 검증을 하게 되므로 동작중에 가장 많이 나타나는 배열 첨자가 지정된 범위 바깥을 나타낸다던지, 혹은 0으로 나누기 등과 같은 다양한 에러에 대해서 발생하지 않음을 검증하는 제품이다. 이 제품도 얘기하자면 무지 길므로 다음에 기회가 있으면 자세하게 설명을 하도록 하겠다.

이상과 같이 매스웍스의 제품군은 자세히 보면 엔지니어링 전반에 걸쳐서 사용할 수 있으며, 서로 잘 연결된 전체 제품군으로 동작하므로 간단한 시스템에서 부터 다양한 분야가 접목된 상태에서 같은 제품을 사용할 수 있는 큰 장점이 있다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백을 보내세요

트랙백 주소 :: http://www.cipher.pe.kr/tt/cipher/trackback/210

댓글을 달아 주세요

[로그인][오픈아이디란?]
비밀글 (Serect)
댓글 달기 (Submit)