IAR Visual State

グラフィカルモデリングによる効率向上

01

C、C++、C#、またはJavaソースコード

IAR Visual Stateは、設計およびコード生成のためのツールです。グラフィカルに(UMLに基づく)ステートマシンを設計し、C、C++、C#、またはJavaのソースコードを生成します。

02

より早い市場投入

設計およびコード生成用ツールIAR Visual Stateは秩序立った設計手法で、プロジェクトのスピードアップを図ります。このツールは組込みシステム用に作られているので、余計な操作をすることなく、直感的かつ容易にステートマシンを使うことができます。

03

IAR Embedded Workbenchとの緊密な統合

IAR Visual Stateによって生成したソースコードファイルは、プロジェクトコネクションファイルをIDEプロジェクトにインクルードすると、IAR Embedded Workbench IDEによって自動的に処理されます。さらに、C-SPYLinkプラグインを使用すれば、高水準のステートマシンモデルをIAR C-SPYデバッガに直接フィードバックして、ステートマシン図にグラフィカルアニメーションを含めることができます。また、Cレベルではなく、ステートマシンレベルでブレークポイントをセットすることが可能です。

04

コンパクトで高品質なコード

IAR Visual Stateは、お客様の設計に100%マッチし、なおかつMISRA Cに適合したコンパクトなC/C++コードを生成します。また、検証と妥当性確認のための高度なツールを備えており、一連のドキュメントをUML(サブセット)ステートマシン設計から自動的に生成することが可能です。

最新リリースノート

弊社は、新しいデバイスのサポート、機能追加、および拡張など、ツールを常に更新し、向上に努めています

Version 10.1

  • Update to Documenter
    The transitions out from initial, shallow history, and deep history states are now listed as part of the region these states are in.
    Update to Documenter
    The Documenter uses PNG files for images now rather than EMF files.
  • Update to CCoder and HCoder
    The Classic Coder, and the Hierarchic Coder now has an extra option so the chosen variant name can be automatically appended to the chosen output paths.
  • Adds support for generation of Java and C# output.
  • The latest release contains smaller corrections and fixes.
Read full release notes

どのようなタイプのライセンスが必要ですか?

IARシステムズのツールは、お客様の使用状況に応じて柔軟なライセンスモデルを用意しています。保守契約を締結されている場合は、世界中のどの地域でもサポートが受けられます。日本国内のユーザー様から日本法人へのお問い合わせについては、もちろん日本語のサポートが可能となります。 ご不明な点については、お気軽にお問い合わせよりご質問ください。

ライセンス情報の詳細はこちら

製品/見積もりに関する問い合わせ

製品に関するお問い合わせや見積もりのご依頼は、以下のフォームに必要事項をご記入の上、送信ボタンをクリックしてください。 *は必須項目となっています

* Privacy policy を確認

ユーザーガイド/FAQ

ユーザーガイド

FAQ

IAR Visual Stateを安全度水準の高いシステムに使うことはできますか?

IAR Visual Stateは、機能安全を扱うさまざまな設計業務で使用可能な優れたツールです。たとえば、機能安全に関するIEC-61508規格では、より高いSILレベルを満たすためにステートマシンを使って設計することを明確に推奨しています。
IAR Visual Stateでステートマシンシステムを設計すれば、フォーマル検証を利用して、実質的にはフルカバレッジテストスイートを書けないようなデザイン上でも問題を見つけることが可能です。たとえば、デッドロック状態、設計中の到達不能部分、一度も使用されない入力などを検出できます。

UMLのサブセットが使われているのはなぜですか? 別のモデルシンタックスでないのはなぜでしょうか?

UMLのステートマシンサブセットは明瞭で、習得が容易であり、明確に定義されたセマンティックを持っています。また、UMLは多くのソフトウェアエンジニアのツールボックスに入っており、学校や大学でも広く教えられていることから、学習曲線の平坦化が進んでいます。<>明確に定義されたセマンティックがあるために厳しい自動コード生成に適しており、曖昧性などを解決するために設計者がコード生成を操作する必要がありません。

IAR Visual Stateと他のUMLツールの違いは?

 IAR Visual Stateは純粋なステートマシンツールです。統合型のフォーマル検証・テスト・評価用ツールを実績あるコード生成ツールと併用すれば、さらにメリットが増えます。つまり、多くのアプリケーションでユーザは他に何も用意する必要がありません。<>一方、すでにUMLツールのフルセットを設計業務全般に使用している場合でも、デザイン中に複雑なステートマシンシステムと表現されるような部分が含まれるのであれば、IAR Visual Stateを使うメリットはあります。強力なテスト・評価機能を備えたIAR Visual Stateなら、1日目から高い生産性と品質を得ることができるでしょう。

UMLステートマシンのサブセットとIAR Visual Stateの学習曲線は?

C開発の経験が豊富で、ISRやデバイスドライバの書き方をご存じの方なら、1日でUMLシンタックスと基本的なIAR Visual State操作を習得でき、2日目には、Validatorの基本的な操作、たとえばステートのステップ実行、ブレークポイントの設定、動画、スクリプトの記述などを使いこなせるようになるでしょう。わずか数日で、実際のアプリケーションでIAR Visual Stateを効率的に使えるようになります。既にUMLや自動コード生成に慣れている方であれば、さらに短期間で導入が可能でしょう!<> IAR Visual Stateをさらに効率よくお使いいただくために、トレーニングコースも用意しています。

IAR Visual Stateで、PC上で実行可能なアプリケーションを作成できますか?

はい。IAR Visual Stateは、ハードウェアプラットフォームに関係なく、あらゆるステートマシンに適しています。<>アプリケーションが部分的にステートマシンでできている場合は、生成されたコードを周りのアプリケーションに容易に統合できます。また、やや複雑あるいは非常に複雑なステートマシンシステムの場合は、生産性が飛躍的に高まり、品質の問題が低減されることを実感できるでしょう。実際、IAR Visual Stateは、ツールそのものを開発する内部ツールとして使用されています!

IAR Visual Stateコードジェネレータでどのようなコードを生成できますか?

2つのオプションがあります。非常にコンパクトな表ベースのモードと、ステートマシンから可読性に優れたCコードに直接変換を行うモードです。速度とサイズの兼ね合い、生成されたコードを手作業で調べる必要性の有無など、実際のアプリケーション要件に合わせてモードをお選びください。

IAR Visual Stateで生成されるコードは実際に移植可能ですか?

はい。生成されるコードは、特定のコンパイラに固有な機能を想定していません。また、ISO/ANSIに完全に準拠していない構成要素でも使うことができます。

特定のターゲットプラットフォームやコンパイラに合わせて、コードをカスタマイズ可能ですか?

はい。コードジェネレータは、コンパイラ固有のキーワードを使って、ステートマシンコードとデータを所望のメモリエリアに配置できるように構成されています。データ要素のサイズは、たとえ8ビット表現のみを必要とするモデルの場合でも、ターゲットアーキテクチャが速度重視であれば、強制的に16ビットまたは32ビットにすることが可能です。MCUターゲットや、コンパイラおよびコーディング規格のニーズのバランスがとれるように、コードジェネレータの構成には多くの選択肢が用意されています。

IAR Visual Stateで独自の割り込みを使うにはどうすればよいですか?

IAR Visual Stateエンジンではイベント処理を行います。イベントとは、その環境内での出来事を抽象化したものと捉えることができます。したがって、仮に、ある割り込みによってステートマシンが影響を受けるとしても、その割り込みをIAR Visual Stateのイベントとして自然にマップすることができます。<>処理するイベントがあると、IAR Visual Stateアプリケーションは、通常、そのステートマシンエンジンをメインループの一部として実行します。

割り込みルーティンとステートマシンエンジンの通信方法については特に制限はありません。ただし、実装方法については、割り込みルーティンによってメインループの検出可能なフラグをセットさせる、あるいはフル機能RTOSのキューやセマフォを使うやり方で実装してください。<>アプリケーションの構造は通常どおりです。もし割り込みサービスルーティンによるステートマシンシステムへの入力が発生した場合、そのルーティンは適切なイベントをステートマシンイベントキューに入力し、元の処理に戻ります。

設計レベルのフィードバックで自身のアプリケーションをデバッグ可能?

はい、可能です。IAR Embedded Workbenchのユーザであれば、C-SPY Link機能を選択して使うことにより、C-SPYデバッガで直接、ハイレベル設計モデルのフィードバックを得ることができます。この機能には、実行時のステートダイアグラムのグラフィック動画、Cレベルではなく、ステートマシンレベルでのブレークポイントの設定、トレースとログ機能が含まれています。<>IARビルドチェーンを使用していない場合や、C-SPYによるハードウェアデバッグソリューションを使用できない場合は、RealLink機能を使うことで、別のコミュニケーションチャネル経由でステートマシンデータをやり取りすることが可能です。

IAR Visual Stateを自身のRTOSで使うには、どうすればよい?

IAR Visual Stateで、タスクまたはタスクの一部のコントロールロジックを設計してください。手作業でアプリケーションをコーディングする場合と同様に、各タスクをそれぞれの優先度でRTOSシステムに統合してください。<> IAR Visual Stateのコードを分割して別々のタスクで実行できるように、IAR Visual Stateのステートマシンを別々のIAR Visual Stateシステムに分割してください。各IAR Visual Stateシステムは、複数のステートマシンの集合です。各システムは1つのユニットとして設計され、ユニット毎に実行できます。また、ユニット同士が緊密に結合されている場合もあります。1つのRTOSアプリケーションに、任意の数のシステムを含めることができ、システム同士は有効なRTOSプリミティブを使って、タスクレベルで通信が可能です。<>各システムはRTOSタスクに任意に割り当てることができるため、1つのタスク内に同時に2つ以上のシステムを入れることも可能です。

ハードウェアの存在しない段階で自分の設計をプロトタイプできますか?

IAR Visual Stateで生成されたコードは、RADツールを使って開発されたアプリケーションに容易に統合できます。RADツールの例としては、Altia Design、Microsoft® Visual Basic®、Microsoft® Visual C++®、Borland® DelphiTM、ユーザが選択した任意のGUIツールキットなどがあります。

非同期イベントは、どうすれば処理できますか?

非同期イベントは、IAR Visual Stateエンジンに送られると処理されます。通常、この処理は非同期イベントをイベントキューに入れることで行うことができます。イベントがイベントキューにある限り、最終的にIAR Visual Stateコントロールロジックによって処理されます。

生成されたコードは修正できますか?

 IAR Visual Stateは、ステートマシンシステムのコントロールロジックを中心としてコードを生成します。したがって、生成されたコードのコントロールロジックの部分を手作業で修正することは避けるべきでしょう。その最も重要な理由は、コントロールロジックは、そのデザインを唯一、明示的に表現したものであるからです。このように、モデルと実行するコードは常に同期しています。<>ステートマシンコードを手作業で修正することは、採用した設計・実装方法に関係なく、内部でのステートや条件の表管理に見つけにくいエラーを発生させる危険を常に伴います。

IoTとしての連携プロジェクトをVisual Stateを使ってどう進めればよいですか?

1つのIoTプロジェクトに、アプリケーションと組込みシステムがある場合、見えないところで両者のステートマシンは非常によく似ています。このような場合にIAR Visual Stateを使用すると、1つのデザインでアプリケーション用と組込み用に異なるバリアントを持つステートマシンを持つことができるという利点が得られます。Visual Stateモデルが、アプリケーションと組込みの各作業チームをつなぐ接点となるので便利です。変更が1か所で済むため、ミスやバグの可能性も最小限に抑えられます。2つのチームは、組込み用にはC、アプリケーション用にはJavaというように、異なるコードを生成することができます。

どうすれば、IoTの連携プロジェクトでVisual Stateを使えますか?

1つのIoTプロジェクトに、Java/C#アプリケーションと組込みシステムがある場合、見えないところで両者のステートマシンは非常によく似ています。このような場合にIAR Visual Stateを使用すると、1つのデザインでJava/C#アプリケーション用と組込み用に異なるバリアントを持つステートマシンを持つことができるという利点が得られます。Visual Stateモデルが、Java/C#アプリケーションと組込みの各作業チームをつなぐ接点となるので便利です。変更が1か所で済むため、ミスやバグの可能性も最小限に抑えられます。

無償の体験版をダウンロード

無償の評価版:IAR Visual State

評価版として、IAR Visual Stateのフル機能版をお試しいただけます。フル機能版には、デザイナ、バリデータ、ベリフィケータ、コードジェネレータ、ドキュメンテーションジェネレータ、プロジェクトマネージャが含まれており、ユーザガイドも一式PDFで提供されます。

制限事項

評価版は、IAR Visual Stateフル機能版の最新リリースに対応しています。14日間の期限付き、ステート制限はありません。

評価版は、IAR Visual Stateの購入を検討されているお客様がIAR Visual Stateをテスト、体験するために提供されるものです。製品開発や商用目的では、ご使用いただけません。

ダウンロード 161.41 MB

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。