ASCET-DEVELOPER – 組み込みシステムのモデルベース設計やCコードの自動生成に対応

ASCET-DEVELOPER IDE(統合開発環境)でのモデル表示(グラフィカル/テキスト) - モデルブラウザやテーブルエディタで作業を効率化します。

ASCET-DEVELOPERは、高性能で低オーバーヘッドであるだけでなく、メンテナンス性にも優れた安全でセキュアな組み込みソフトウェアを作成できるツールです。ASCET-DEVELOPERは大規模なソフトウェア開発のために設計されており、業界規格や安全規格に準拠しているほか、多くのバリエーションを低コストで作成することができます。

ASCET-DEVELOPERのモデルはEmbedded Software Development Language(ESDL)を使用しており、テキストエディタでもグラフィックエディタでも表示・編集が可能です。

応用実績

ASCET-DEVELOPERのコード生成技術は20年以上にわたって量産プロジェクトに利用され、すでに4億5千万台ものECUに実装されています。生成されたコードは、安全性、セキュリティ、移植性の面で最高水準の規格に適合しています。

ASCET-DEVELOPERでプログラミングした制御アプリケーションは、ABS/ESPなどのシャーシ制御、従来の電動パワートレイン、高速列車のブレーキ制御、トランスミッション制御、運転支援システムなど、多岐にわたっています。

ASCET-DEVELOPERは、MISRA、OSEK、ASAM、AUTOSAR、FMIなどの標準規格に準拠しています。

セーフティクリティカルなソフトウェア開発に最適

ASCET-DEVELOPERなら、重要な安全規格をすべて満たしたソフトウェアを開発することができます。

  • ISO26262 ASIL-DおよびIEC61508-SIL3 TÜV認定コードの生成
  • MISRA-C:2012準拠
  • 防衛コードの自動挿入により、数値的なトラブルを排除

主な特長

モデリング

ASCET-DEVELOPERでは、プログラミング要件に応じてテキストやグラフィックを容易に組み合わせることができます。ロジックをモデリングするための機能が豊富で、快適な作業が可能です。仕様記述は、各種エディタを組み合わせて柔軟に行えます。

  • ブロックダイアグラム(グラフィック記述)
  • ステートマシンエディタ(グラフィック記述)
  • ESDLエディタ(テキスト記述)
  • Cコードエディタ(テキスト記述)

さらにASCET-DEVELOPERは、モデルやコードの品質を向上し、ソフトウェア自体の効率性を高める機能を備えています。

  • オンザフライの静的分析により、モデリングのエラーや違反を即時にフィードバック
  • 統合された品質メトリクス(品質評価基準)により、メンテナンス性に優れたモデルを作成

ASCET-DEVELOPERモデルの内容は、ESDL形式で保存されます。これには次の利点があります。

  • 構造化の概念である「クラス」が、オブジェクトベースのカプセル化と体系的な再利用を実現
  • 物理範囲を取り込んで体系的に定量化し再利用できる「抽象型」の使用が可能
  • 関数の相関関係が明確に表示され、レビューが容易
  • 異なるバージョンの相互比較が容易
  • 型の安全性を保障

ブロックダイアグラムエディタ

  • 明確なビジュアル表示により、データフローや制御フローの快適なモデリングを支援

 

  • 明示的なシーケンシング機能により、完全に決定論的な実行順序の指定が可能

ステートマシンエディタ

  • 有限ステートマシンの表記法で判定ロジックをプログラミング

 

  • アクションと遷移条件はESDLで直接記述でき、ブロックダイアグラムエディタで記述したメソッドをカプセル化して使用することも可能

ESDLエディタ

  • コンテンツ補助や構文の強調表示により、テキスト記述を支援

 

  • セーフティクリティカルな組み込みソフトウェア向けに設計された扱いやすいオブジェクト指向プログラミングエディタで、習得が容易

ライブ検証

  • オンザフライのモデル検証により、エラーを早期に発見

 

  • トラブルはオーバーレイとしてエディタに報告され、専用のビューに分類表示

 

  • インテリジェントなクイック修正機能により、適切なソリューションを自動的に検出

品質メトリクス

  • 内蔵の品質メトリクスにより技術的負担を削減し、メンテナンス性に優れたコードを記述することが可能

 

  • プロセスに応じたメトリクスの選択や、しきい値のカスタマイズが可能

妥当性確認

ASCET-DEVELOPERには、開発サイクルのさまざまな段階において効率的かつ包括的にモデルをテストするための機能が搭載されています。

  • モデル属性と実装属性とを分離することにより、最初に物理的挙動に重点を置いたテストを実施し、後のプロセスでターゲット固有の制約を設けたテストを実施することが可能
  • ビルトインされた単体テストフレームワーク
  • ETAS Experiment Environmentによる開ループPCシミュレーション
  • ステートメント、ブランチ、状態、遷移、MC/DC(Modified Condition Decision)のカバレッジなどのメトリクスを用いたテストで、モデルのカバレッジ測定や分析を実施
  • ASCET-DEVELOPERモデルは、FMI規格をサポートする外部ツールのモデルと組み合わせたシミュレーションが可能。FMUのエクスポート、またはMATLAB/SimulinkにS-functionを受け渡すことにより接続を実現。
  • ETASプロトタイピングソリューションによるリアルタイムハードウェアでの機能プロトタイピングの実施により、テストベンチや車載での早期の妥当性確認が可能
  • サードパーティツールの活用で、ASCET-DEVELOPER モデルを体系的に検証TPTがASCETのネイティブプラットフォームをサポート

単体テスト

  • ESDLユニットテストフレームワークによる、体系的なソフトウェア単体テスト

 

  • ESDLテストクラスにより、ソフトウェアの単体テストを独立的に実行し、実行結果をビジュアル表示

PCシミュレーション

  • データのライブ計測/適合を含むPCシミュレーションにより、早期の段階での設計の検証が可能

 

  • シグナルジェネレータ、データロガー、その他の各種ウィジェットを備えた高度な実験環境

テストカバレッジ

  • PCシミュレーションや単体テストの実行により、インタラクティブなテストカバレッジを実現

 

  • すべての実行対象ソフトウェアユニットのテストカバレッジを専用のビューに表示

 

  • テキストエディタやグラフィックエディタにカバレッジをビジュアル表示して、モデル内のテスト実施個所を確認できる

コードの自動生成

手作業でコードを記述すると、ランタイムエラーを防止したり、規格やコーディングガイドラインに準拠させたりするための作業が必要になりますが、ASCET-DEVELOPERを使用すれば、実現すべき機能に注力するだけでよく、詳細な実装作業はコードジェネレータにまかせることができます。この「自動コード生成」を実現するため、ASCET-DEVELOPERには以下のような機能が搭載されています。

  • MISRAに準拠した高品質な量産用Cコードの生成
  • 「読みやすい」コードの生成
  • ASCET-DEVELOPERモデルへのトレース
  • 防衛コード(ゼロ除算保護、型属性に基づく上下限値、配列型のインデックスオーバーフロー保護など)の自動挿入
  • 固定小数点コードの生成
  • ASCET-DEVELOPERモデルからAUTOSARへの構造マッピングによるAUTOSARコードの生成
  • 以下のようなカスタマイズ機能により、既存のASCET-DEVELOPERモデルの再利用や複数のターゲット用コードの生成が容易
    • デバイス固有の演算、補間、サービスライブラリに対応するためのカスタムコールバック
    • コンパイラ用メモリ命令
    • コード生成時やコンパイル時に解決可能な条件付きコードとデータ構造体
    • さまざまな最適化手法によるリソース効率とランタイムパフォーマンスの向上

ツールチェーンの統合

標準的なインターフェースやファイルフォーマットに対応するASCET-DEVELOPERは、さまざまな開発プロセスやツールチェーンに容易に統合することができます。これを実現するための機能には、以下のようなものがあります。

  • ASCET-DEVELOPERはEclipseプラットフォームベースで開発されているため、同じIDEにプロセスツールをシームレスに統合することが可能
    • Eclipseのネイティブプラグインにより、JIRA、Bitbucket、Git、SVN、IBM RTCに接続することが可能
    • Eclipseに組み込まれた既存のワークベンチ内にSTM、ARMなどのさまざまなベンダーの製品をインストールすることが可能
    • 複数のターゲット向けのモデリング、コード生成、ビルド、デバッグを同じIDEで実施可能
  • Yakindu Traceabilityによる要件トレース機能を使用して、ASCET-DEVELOPERモデル(要件管理ツールのDOORSなど)にプロセスアーティファクトをリンクすることが可能
  • ASCETモデルからA2L、ARXML、MDXなどのプロセスアーティファクトを生成
  • 同梱のASCET SDKによるプロセスの拡張(ASCET静的分析エンジンへの独自のプロセスコーディングガイドラインの挿入など)
  • ワークベンチの自動化による連続統合