Ansys SCADE Suiteセーフティクリティカルな組込み制御ソフトウェア開発支援ツール
特徴3
セーフティクリティカルな業界で認証可能な自動Cコード生成
Ansys SCADEコードジェネレータKCGの最大の利点は、以下に対するコードの認証を可能にしている点です。
- 航空分野のソフトウェア認証規格DO-178B/CレベルA
- 機能安全規格IEC 61508 SIL3
- 鉄道分野の認証規格EN 50128 SIL4
- 自動車版機能安全規格ISO 26262 ASIL D
認証取得が必要なお客様には、KCGの適用によって、
- コードレビューによるコード検証
- コードカバレッジ解析
などの静的な検証作業を省略することができます。これは、KCGを開発する段階で、Ansys SCADEの基本オペレータ(演算子)構文が、どのC構文に対応するかを定義づけ(サブセットの定義)、その定義をテストケースによって証明しているからです。この証明を認証機関に対して提示し、KCGの認証取得を行っています。ユーザーは、モデルレベルでの検証に集中して生成されたコードの検証を省略し、実機またはターゲット環境で”システムテスト”を行うことができます。生成されるコードの特徴は、以下のとおりです。
- ANSI-C準拠のターゲットに依存しない汎用的なCコード
- デッドなブランチを含むコードを生成しない
- 動的なメモリ配置をしない、動的な変数を使用しない
- 1エントリー、1イグジット原則の関数
- ポインターの限定された使用
- 無条件ジャンプの未使用、再帰呼び出しの禁止
- 可読性、トレース性の高いコード
- Cサブセットによる安全なコード
- 最適化オプションによる広範囲なコード生成

マルチレートソフトウェアに対応
- マルチレートソフトウェアを開発する場合は、それ専用にモデル化する必要がありますが、Ansys SCADEではシングルレート、マルチレートともに同じモデルからコード生成することができます。
- Ansys SCADE Architect上で、各ソフトウェアコンポーネントの動作周期を定義し、割り当てます。その後、Ansys SCADE Suite上で、各コンポーネントの設計を行い、コード生成時にAnsys SCADE Architect上で定義した動作周期情報が一緒に出力されます。この情報を使用して、マルチレートソフトウェアのターゲット環境への実装を補助します。
- さらに、Krono-Safe社のRTOS ASTERIOSを使用する場合は、Ansys SCADEから生成されるコードとマルチレートの情報を元にスムーズに統合することができ、RTOSの挙動を加味したソフトウェアの振る舞いを検証します。

マルチ・メニーコアECUに対応
- Ansys SCADEのマルチ・メニーコアECU向けのコード生成機能は、ソフトウェアモデルを変更することなく、従来の安全で確定的な振る舞いをするソースコードを生成することができます。Ansys SCADEは元々、Kahn Process Network理論に基づく並列性を有しており、モデルのアノテーション(注釈)を用いることで、明示的な並列性が確保されます。
- モデルのアノテーションを用いてタスク分割を行いますが、各オペレータの実行速度は、Ansys SCADEが持つTiming and Stack機能により予測できるため、実行速度を考慮したタスク分割が可能です。また、より明確にタスク分割するための専用GUIが準備されています。
- 生成コードは汎用なタスクベースのコードとなるため、ターゲット環境に依存しません。また、PthreadやWin32APIとセマフォ、C11の不可分動作(アトミック操作)、C++11のミューテックスと条件変数にも対応可能です。
[ 実績のある環境 ]
・Kalray MPPA(Kalray社)
・Infineon Aurix+PXROS-HR OS(Hightec社)
・SYSGO PikeOS(S3P;Smart、Safe & Secure Platform)

ASAP2ファイルの生成
自動車業界に特化した機能として、ASAMに準拠した適合と計測データ情報(MCD-2 MC)ファイルの生成をサポートしています。適合対象になるAnsys SCADEオブジェクトはSensor(グローバルデータ)で、計測対象になるAnsys SCADEオブジェクトはProbe(ローカル変数)です。

