IAR Visual State

그래픽 모델링으로 효율성 향상

01

C, C++, C# 또는 자바 소스코드

IAR Visual State는 설계와 코드 생성을 위해 사용하는 툴로, 정적 머신(UML 기반)을 그래픽을 사용해 설계하는 데에 사용되며, C, C++, C# 또는 자바 소스코드를 생성합니다.

02

개발 소요 기간을 단축

디자인 및 코드 생성 툴인 IAR Visual State는 디자인에 질서를 찾아주며, 프로젝트의 속도를 높입니다. 해당 툴은 임베디드 시스템을 위하여 제작된 것으로, 정적 머신을 쉽고 직관적인 방식으로 사용할 수 있도록 해 주며, 불필요하고 번거로운 기능을 뺐습니다.

03

IAR Embedded Workbench와 긴밀한 통합 실현

생성된 소스코드는 해당 프로젝트 연결 파일을 IDE 프로젝트내에 포함시킬 시 IAR Embedded Workbench IDE가 자동으로 관리합니다. C-SPY Link 플러그인을 사용하면 높은 수준의 정적 머신 모델이 IAR C-SPY 디버거로 직접 피드백 됩니다. 이는 정적 머신 다이어그램 내 그래픽 애니메이션을 포함하며, C 단계가 아니라 정적 머신 단계에서 브레이크 포인트를 설정할 수 있도록 해 줍니다.

04

컴팩트한 고품질 코드

IAR Visual State가 생성하는 C/C++ 코드는 매우 간결하며, 고객의 설계 기준 뿐 아니라 MISRA C에도 완벽하게 부합합니다. 툴 내에는 고급 검증 및 확인 도구가 포함되며, 기술 문서 역시 Unified Modeling Language (UML 서브셋) 정적 머신 설계로부터 자동으로 생성됩니다.

최신 배포판

IAR는 지속적으로 툴 업데이트 및 신규 기능 추가, 신규 기기 지원, 기능 확대를 통한 제품 개선 노력을 기울이고 있습니다.

버전 10.1

  • Update to Documenter
    이제 초기화, shallow history, deep history 상태들로부터 전이는 상태들이 있는 구획의 일부로 리스트됩니다.
    Update to Documenter
    현재 Documenter는 이미지에 EMF 파일이 아닌 PNG 파일을 사용하고 있습니다.
  • Update to CCoder and HCoder
    이제 Classic Coder와 Hierarchic Coder에는 추가 옵션이 있으므로 선택된 변형 이름은 선택한 출력 경로에 자동으로 추가될 수 있습니다.
  • Java and C# 출력 생성을 지원합니다.
  • 최신 배포판에는 작은 수정사항 및 해결사항들이 포함되어 있습니다.
전체 릴리즈 노트 보기

나에게 맞는 라이선스는?

IAR Embedded Workbench는 다양한 라이선스 모델을 통해 고객사의 수요에 따라 유연하게 이용하실 수 있습니다. 당사의 고객 지원 및 업데이트 계약과 더불어, 고객은 다양한 시간대에 걸쳐 고객이 필요하는 지원을 여러가지 언어로 제공받으실 수 있습니다. 문의 및 견적 요청 시 보다 자세하게 상담 드립니다.

라이센스 더 자세히 알아보기

이 제품에 대해 자세히 알고 싶으십니까?

제품 문의에 대한 모든 답변이 준비되어 있습니다. 경험을 최대한 활용하여, 학습 섹션과 고객 포털 마이 페이지에서 다양한 정보를 찾을 수 있습니다.

견적 문의 하기

견적 양식에 대한 이 요청을 완료하시면 당사의 영업팀에서 귀사의 요구사항에 맞춘 가격 제안을 위해 귀하에게 연락을 드릴 것입니다. 귀하의 요청을 기다리겠습니다!

사용자 가이드 및 FAQ

일반 사용자 가이드

FAQ

high-integrity systems에도 IAR Visual State를 사용할 수 있나요?

IAR Visual State는 기능적 안전성을 취급하는 다양한 과제를 지원하는 탁월한 툴입니다. 예를 들어, 기능적 안전성에 대한 IEC-61508 표준에서는 더 높은 수준의 SIL 수준에 부합하기 위한 방법의 하나로 정적 머신을 권장하고 있습니다.

IAR Visual State 내 정적 머신 시스템을 설계하는 방법을 통해 정식의 검증 과정을 활용, 전체 시험 패키지 작성이 거의 불가능한 설계 내의 문제점을 발굴할 수 있습니다. 탐지 가능 사항으로는 데드록 상황(dead lock), 설계 상 도달 불가한 부분, 소비되지 않는 입력 등이 있습니다.

왜 다른 모델 문법이 아니라 UML 서브셋을 사용하는 것입니까? 

UML의 정적 머신 서브셋은 배우기 쉽고, 깔끔하며, 문법이 잘 정의되어 있습니다. UML은 또한 많은 소프트웨어 엔지니어들이 이용하는 툴의 하나로, 다수의 대학 및 교육 기관에서 가르치고 있는 툴입니다. 따라서 익히기가 한층 더 쉬습니다. 명확하게 정의되어 있는 문법으로 인해 자동 코드 생성에도 알맞으며, 모호성 문제의 해결을 위해 디자이너가 코드 생성을 조정해야 할 필요성이 없어집니다.

IAR Visual State는 다른 UML 툴과 어떻게 다른가요?

IAR Visual State는 순수 정적 머신 툴입니다. 정형화된 통합 검증, 시험, 유효성 확인 툴이 주는 추가적인 이점과 더불어, 그 성능을 인정받은 코드 생성기까지 갖추었으므로, 여러가지 어플리케이션의 개발에 있어 이 하나의 툴로 모두 대응이 가능합니다. 한 편, 설계작업 전반을 위해 기존에 UML 툴을 이미 사용하고 계신 분의 경우에도 만일 설계의 일부분이 복합적인 정적 머신 시스템으로 구현이 되어 있을 시 IAR Visual State 사용을 통해 추가적인 이점을 기대할 수 있습니다. IAR Visual State는 해당 툴이 지니는 강력한 테스트 기능 및 검증 기능을 통해 툴 도입 즉시 사용자의 생산성과 품질을 높여 줄 것입니다.

UML의 정적 머신 서브셋 및 IAR Visual State를 익히는 데에 어려움은 없을까요?

C 언어 개발 경험이 있으신 분의 경우, 그리고 ISR 및 디바이스 드라이버 작성이 가능하신 분의 경우 하룻 만에 UML 신택스와 IAR Visual State 작동의 기본적인 방법을 익히실 수 있습니다. 그리고 여기에 하루를 더 해 정적 상태별 점검, 브레이크포인트 설정, 애니메이션, 스크립팅 등 기본적인 Validator 작동법을 익히실 수 있습니다. 그러므로 단 수일이면 실제 업무에 IAR Visual State를 사용하여 생산적으로 활용할 수 있습니다. 만일 UML 및 자동 코드 생성에 이미 익숙하신 분인 경우, 이보다도 훨씬 짧은 기간 안에 활용법을 마스터하실 수 있습니다! 또한 IAR System에서는 고객 여러분의 IAR Visual State 효율을 높이기 위한 교육 과정도 제공하고 있습니다.

IAR Visual State를 사용하여 PC에서 구동하는 어플리케이션도 개발할 수 있습니까?

그렇습니다. IAR Visual State는 하드웨어 플랫폼과 관계 없이 모든 정적 머신에 적절히 사용할 수 있습니다.  만일 어플리케이션의 일부만이 정적 머신인 경우, 생성된 코드를 주변의 어플리케이션에 통합시키는 작업도 간단하게 수행할 수 있습니다. 중간에서 매우 복잡한 수준의 정적 머신인 경우, 생산성이 크게 향상되며, 품질 문제도 줄어드는 결과를 경험하실 수 있습니다. 실제로, IAR Visual State는 내부에서 툴 자체의 개발 툴로 사용되고 있습니다.

IAR Visual State 코드 생성기가 만들어 내는 코드는 어떤 것입니까?

두 가지 옵션을 활용하실 수 있습니다. 하나는 표 기반의 모드로, 매우 간결하며 정적 머신의 내용을 직접적으로 판독 가능한 C 코드로 옮겨 줍니다. 어떠한 방식으로 표현을 하는 지는 속도와 규모 간의 균형, 그리고 생성된 코드의 수동 점검 필요성 등 어플리케이션의 요구 사항에 따라 사용자가 선택할 수 있습니다.

IAR Visual State에서 생성된 코드는 실제로 포터블한 것인지요?

그렇습니다. 생성된 코드는 컴파일러 별 고유 기능의 존재를 일체 상정하고 있지 않으며, ISO/ANSI의 기준에 전적으로 부합하지 않는 구조체는 사용하지 않습니다.

대상 플랫폼이나 컴파일러에 맞도록 코드의 맞춤 설정이 가능합니까?

그렇습니다. 코드 생성기의 설정을 통해 컴파일러 별로 달리 적용되는 키워드를 사용하고, 이를 통해 정적 머신 코드 및 데이터를 선택하시는 메모리 구역 내에 위치하도록 할 수 있습니다. 데이터 요소의 크기는 목표로 하시는 아키텍쳐의 속도 구현을 위해 모델에서 8비트 구현 만을 요구하는 경우에도 16 또는 32 비트로 강제 설정할 수 있습니다. MCU 목표, 컴파일러 및 코딩 기준에서 필요로 하는 기준 간의 균형을 위해 코드 발생기를 설정할 수 있도록 다양한 선택의 폭을 제공하고 있기도 합니다.

어떻게 하면 나의 interrupt와 함께 IAR Visual State을 사용할 수 있나요?

IAR Visual State 엔진은 이벤트를 처리하며, 이벤트는 환경 내에서 발생하는 사건의 추상화로 이해할 수 있습니다. 따라서 interrupt가 정적 기계에 영향을 미치는 경우, interrupt와 IAR Visual State 이벤트 간의 매핑이 자연스럽게 이루어집니다. 통상적으로 IAR Visual State 어플리케이션은 처리해야 하는 이벤트가 존재하는 경우 메인 루프의 일부로서 정적 머신 엔진을 실행합니다. interrupt 루틴이 어떻게 정적 머신과 통신을 주고 받는지는 사용자의 설정에 따라 정해집니다. 그러나 그 구현 방식에는 interrupt 루틴으로 하여금 메인 루프에서 탐지할 수 있는 플래그를 설정하도록 하는 방식에서부터 본격적인 기능을 갖춘 RTOS 큐 또는 semaphore를 사용하는 방안에 이르기까지 다양한 방식이 있습니다. 사용자의 어플리케이션 구조는 기존과 동일합니다. 만일 interrupt 서비스 루틴에서 정적 머신 시스템을 대상으로 하는 입력(input)을 발생시키는 경우, 해당 루틴에서는 단순하게 적절한 이벤트를 정적 머신 이벤트 큐에 삽입 한 뒤 리턴합니다.

설계 단계에서 피드백을 통해 어플리케이션의 디버깅을 할 수 있나요?

가능합니다. 만일 IAR Embedded Workbench를 사용하시는 경우, C-SPY Link 기능을 사용하여 더 높은 수준의 설계 모델 피드백을 C-SPY 디버거 내로 직접 보낼 수 있습니다. 이러한 기능은 실행 중 정적 다이어그램 내 그래픽 애니메이션을 포함하며, C 단계가 아니라 정적 머신 단계에서 브레이크포인트를 설정할 수도 있습니다. 또한, 기능의 추적 및 로그 기능도 보유하고 있습니다. 만일 비 IAR 빌드 체인을 사용하시거나, C-SPY를 통한 하드웨어 디버깅 솔루션을 사용할 수 없는 경우, RealLink 기능을 사용하여 정적 머신의 데이터를 별도의 통신 채널로 전달하는 것도 가능합니다.

어떻게 하면 나의 RTOS와 함께 IAR Visual State을 사용할 수 있나요? 

IAR Visual State를 사용하여 특정 과업이나 그 일부분을 통제할 수 있습니다. 수작업으로 어플리케이션의 코딩을 진행하는 경우와 동일한 방식으로 우선 순위에 해당하는 바에 따라 RTOS을 사용해 과업을 시스템 내에 통합시키십시오. IAR Visual State 코드를 분할하여 서로 다른 과업 내에서 실행되도록 하기 위해서는 IAR Visual State 정적 머신을 서로 다른 IAR Visual State 시스템으로 나누어야 합니다. IAR Visual State 시스템은 하나의 단위로 설계되어, 하나의 단위로 실행될 수 있는 일련의 정적 머신을 집합시킨 것으로, 특히 서로 간의 연결이 아주 긴밀한 수준으로 이루어져 있는 경우가 많습니다. RTOS 어플리케이션은 저장할 수 있는 시스템의 수에 제한이 없으며, 시스템은 과업 수준에서 가용한 RTOS 초기체(primitives)를 사용해 통신을 주고받습니다. 시스템은 임의적으로 RTOS 과제에 할당될 수가 있으므로, 과제는 실제적으로 한 번에 하나 이상의 시스템을 수용할 수가 있게 됩니다.

하드웨어로 옮기기 전, 설계의 원형을 제작해 볼 수 있나요?

IAR Visual State에서 자동으로 생성된 코드는 Altia Design,  Microsoft® Visual Basic®, Microsoft® Visual C++®, Borland® DelphiTM, 또는 사용자가 선호하는 다른 GUI 툴과 같이 여러 RAD 툴을 사용해 개발된 어플리케이션에 쉽게 통합할 수 있습니다.

비동기 이벤트는 어떻게 취급하나요?

비동기(Asynchronous) 이벤트는 IAR Visual State 엔진으로 전달되어 올 시 취급이 이루어집니다. 이러한 과정은 통상적으로, 이들을 이벤트 큐 내에 삽입하는 방식을 통해 이루어집니다. 이벤트는 이벤트 큐에 들어가게 되면 언젠가는 반드시 IAR Visual State 제어 로직에 의해 처리됩니다.

생성된 코드를 수정할 수도 있나요?

IAR Visual State에서 생성된 코드는 정적 머신 시스템의 제어 로직에 초점을 맞추고 있습니다. 코드 중에서도 이러한 부분은 여러가지 이유로 인해 수기로 수정해서는 안 됩니다. 이러한 수정이 안 되는 이유 중에서도 가장 중요한 것은 그 설계가 제어 로직을 명시적으로 구현할 수 있는, 유일한 방식이기 때문입니다. 이러한 방식을 통해 모델 및 실행 코드는 항상 대응이 이루어지는 관계에 있습니다. 정적 머신 코드를 수기로 수정하는 경우에는 오류가 발생할 위험이 반드시 발생하며, 이러한 오류는 특히 상태 및 조건의 내부 기록 상에서 발견해 내기가 힘듭니다. 이는 최초의 설계 및 구현 방법을 불문하고 동일하게 적용되는 원칙입니다.

IoT와 같이 다양한 분야가 관련되는 프로젝트에서는 Visual State를 사용해 어떻게 협력할 수 있습니까?

사물 인터넷 프로젝트의 경우는 앱과 임베디드 시스템으로 구성되며,  이때 그 배후에서 가동하는 정적 머신 역시 상당한 유사점을 지니게 됩니다. 이 경우 IAR Visual State를 사용할 시 기대할 수 있는 장점의 하나는 정적 머신으로 하여금 하나의 설계에 서로 다른 변형, 즉 하나의 앱 변형과 하나의 임베디드 변형을 지니도록 할 수 있다는 점입니다. 이를 통해서 기대할 수 있는 효과는 VS 모델을 통해 앱 개발 팀과 임베디드 팀이 서로 연계할 수 있는 매개로 삼을 수 있다는 것입니다. 변경을 가해야 할 경우 이를 한 곳에서 해결할 수 있어, 실수와 버그가 발생할 가능성을 최소화 해 줍니다. 또한 한 팀은 C 언어로 임베디드 코드, 한 쪽은 Java로 앱 코드를 생성하는 것과 같이 두 팀이 서로 다른 코드를 생성할 수도 있습니다.

IoT와 같이 다양한 분야가 관련되는 프로젝트에서는 Visual State를 어떻게 사용할 수 있습니까? 

사물 인터넷 프로젝트의 경우는 Java 및 C# 앱과 임베디드 시스템으로 구성되며,  이때 그 배후에서 가동하는 정적 머신 역시 상당한 유사점을 지니게 됩니다. 이 경우 IAR Visual State를 사용할 시 기대할 수 있는 장점의 하나는 정적 머신으로 하여금 하나의 설계에 서로 다른 변형, 즉 하나의 Java/C# 변형과 하나의 임베디드 변형을 지니도록 할 수 있다는 점입니다. 이를 통해서 기대할 수 있는 효과는 VS 모델을 통해 Java/C# 어플리케이션 개발 팀과 임베디드 팀이 서로 연계할 수 있는 매개로 삼을 수 있다는 것입니다. 변경을 가해야 할 경우 위험성 한 곳에서 해결할 수 있어, 실수와 버그가 발생할 위험을 최소화 해 줍니다.

무료 평가판 다운로드

IAR Visual State - 평가판

평가판은 Designer, Validator, Verificator, 코드 생성기, 기술문서 생성기, 프로젝트 관리자 등 IAR Visual State의 모든 기능을 제공합니다. 또한 PDF 파일 형식으로 사용자 가이드도 전문이 제공됩니다.

제한사항

평가판은 IAR Visual State 전체본 최신판에 대응하며, 상태(state)의 제한은 없이 14일의 기간 동안만 사용이 가능합니다.

평가판은 예비 고객이 IAR Visual State를 시험 및 평가하도록 하는 것 만을 목적으로 하며, 제품의 개발이나 기타 상업적인 용도로 이를 사용하는 것은 금합니다.

다운로드 161.41 MB

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.