B&R、ユニークでオープンな安全機能プログラミングのアプローチを導入
- 敏捷かつ透明性の高いプログラミングを実現する新しいオープンデータアーキテクチャ
- サードパーティツールやプラットフォームとの連携によるプロセスの効率化
- プログラミング言語やデータ型の柔軟な選択肢
B&R(ABBの一部門)は、安全機能のプログラミングに革新的なオープンアプローチをもたらすSafety+を発表しました。この新しいアプローチにより、開発者は最新のソフトウェアエンジニアリングツールや手法を、安全アプリケーションにおいても活用することが可能になりました。機能安全の特別な要件を満たしつつ、データ構造にデジタル指紋を付与することで、ソースコードへの自由なアクセスを可能にしています。Safety+は、安全プログラミングにおける革新を妨げていた障壁を取り除き、エンジニアに新たな可能性を提供します。
敏捷性と透明性で進化する安全プログラミング
「Safety+を通じて、お客様に初めてオープンなプログラミングシステムを提供します。これにより、標準プログラミングで使用されている高度なツールや手法をそのまま活用できるようになります。」と、B&R(ABBのマシンオートメーション部門)でプロダクトマネージャーを務めるFranz Kaufleitnerは説明します。「安全アプリケーションの開発が、これまで以上に効率的かつ柔軟になります。」
安全機能アプリケーションの生産性を飛躍的に向上させるための3つの鍵となる要素があります。それは、革新的なデータアーキテクチャ、言語やデータ型の柔軟な選択肢、そして標準プログラミングのツールやプロセスの活用です。
すべてのファイルにデジタル指紋を付与
Safety+の重要な新機能の一つが革新的なデータアーキテクチャです。データは自由にアクセス可能な形式で保存され、すべての変更が記録されます。ソースファイルはXMLやJSONといった形式で、テキストベースのオープンなコードリポジトリに保存されます。プログラムコードのオープン性を保ちながら、その整合性を確保するために、各ファイルには変更が加えられた際にそれを示すデジタル指紋が付与されます。さらに、詳細なメタデータが追加され、何が、いつ、誰によって変更されたのかを完全に透明化します。
安全プログラミングシステムにおける新しい点は、このメタデータが単に安全アプリケーション全体を参照するだけでなく、エンジニアがファンクションブロックやパラメータセットのレベルまで、すべての変更を追跡できるようになったことです。これにより、コードをより的確に最適化できるようになり、ユーザー要件の変化に対応した安全機能の設計が一層敏捷かつ柔軟になります。
プログラミングの生産性を向上させる新しいスタンダード
新しいデータアーキテクチャに加え、Safety+のオープン性により、エンジニアはサードパーティ製ツールやプラットフォームを活用して、安全アプリケーションを作成、管理できるようになりました。「GitHubやJenkinsといった一般的なツールに安全プログラミングを統合することで、開発者は非常に柔軟な作業環境を得ることができます。」と、Kaufleitnerは述べています。「これにより開発プロセスが簡素化されるだけでなく、開発者コミュニティ内での協力や情報交換も活発になります。」
コマンドラインインターフェース(CLI)を利用することで、プログラムの自動作成や継続的な更新・統合が可能になります。これにより、開発者はヘッドレスモードでソフトウェアと直接対話し、効率的にプログラムコードを処理することができます。
より多彩なプログラミングオプションとデータ型
3つ目の重要な革新として、Safety+はプログラミング言語の選択肢や、データ型を使ったアプリケーション固有の調整においても新たな自由度を提供します。従来、機能安全アプリケーションではプログラミング言語やデータ型の選択が制限されており、開発時間や柔軟性に悪影響を及ぼしていました。
Safety+は、ファンクションブロック、ラダーダイアグラム、構造化テキストといった幅広いプログラミングオプションをエンジニアに提供します。さらに、データ型の制限をなくし、配列、構造体、実数データ型など、一般的なプログラミング環境でよく使われる要素をサポートします。「Safety+は、開発者に革新的かつ効率的な安全ソリューションを実現するための自由を提供します。」と、Kaufleitnerは強調します。「安全機能プログラミングにおける小さな革命と言っても過言ではないと考えています。」
従来は、エンジニアリングにおける機能安全アプリケーションには、暗号化されたプロプライエタリなファイルシステムが使用されていました。これにより、不正な変更を防ぐことができましたが、生産性を高める一般的なソフトウェアツールや手法の利用が妨げられていました。