2022/03/10

AdaCoreとFerrous SystemsがRust言語サポートで提携

AdaCore は、25年以上にわたり、セーフティ/ミッションクリティカルが重要な業界のニーズをサポートすることに取り組んできました。当初、プログラミング言語Ada/ツールチェーンに重点を置き、長年にわたって、多種多様な技術に拡張されてきました。最新の製品では、Ada言語、形式検証可能なSPARK言語、C言語、C++言語ならびにSimulink®/Stateflow®モデルに対応するツールがサポートされています。DO-178B/C, EN 50128, ECSS-E-ST-40C / ECSS-Q-ST-80C, IEC 61508, ISO 26262などの安全規格へも対応しています。

約10年前、信頼性を向上するために、業界全体のプログラミング手法の改善を目指して、新しいプログラミング言語「Rust」が登場しました。その技術は進化を遂げ自動車などの高い信頼性が要求される組込市場にも訴求しています。このような背景からFerroceneテクノロジーをベースにセーフティクリティカルで、かつ認定済のツールチェーンを提供することを目的に、RustコミュニティメンバーによってFerrous Systemsがドイツに設立されました。

AdaCoreとFerrous Systemsは異なる手法で、Rust言語をサポートすることを考えていましたが、技術面でもビジネス面でも、基本的な思想とアプローチが同一であることに気づきました。両社は、優れた言語使用の促進、オープンソースソフトウェアに対するコミットメント、ソフトウェア認証に対する方向性、技術面での共通性がありました。結論として、両社が提携することで、安全認証を取得したRustツールチェーンをより迅速に信頼性が重要視される業界に投入できると判断しました。

Ferrous SystemsとAdaCoreは、自動車、航空電子、宇宙、鉄道などのソフトウェア認証に対応するために安全認証を取得したRustツールチェーン「Ferrocene」を共同開発することを2022年2月2日に発表しました。
AdaCore プレスリリース:
https://www.adacore.com/press/adacore-joins-forces-ferrous-systems-support-rust

Ferrous Systemsは、Rustツールチェーン「Ferrocene」を、技術的専門知識とRustコミュニティとの関係を活用して、ミッション/セーフティクリティカルな組込ソフトウェア開発向けに、ツールを整備していきます。AdaCoreにとって、長年のAda言語への取組みを補完し、安全認証で認定されたAdaツールチェーンで培った専門知識をRustコミュニティに提供する機会となります。

セーフ/セキュリティクリティカルな分野では、Ada言語とRust言語の両方が必要とされています。
具体的には、Ferrocene(Rustコンパイラ)が各種安全規格の認定を取得し、動的・静的解析ツールの開発ならびに認定も取得する予定です。また、安全認証を取得した言語サポート(libcore)やユーザライブラリ開発、ならびに各分野で使用されるアーキテクチャやオペレーティングシステム向けの製品開発を目指しています。このビジョンの実現には時間がかかりますが、Ferrous SystemsとAdaCoreは特定の分野から開発を進めていきます。最終的には、高信頼性アプリケーションの開発で使用される他プログラミング言語と同様に、Rust言語を包括的にサポートすることを目標としています。

当初はRustアプリケーションに焦点を当てますが、Rust言語とAda言語への長期的な取り組みは、両方の言語を併用することを考慮して、双方向のバインディングジェネレータの開発など、両言語の相互運用性を検討しています。また、Ada言語とRust言語の両方のユーザが使用できるように、SPARK言語で形式検証され認定されたライブラリを開発して、相互運用することも考えています。

このように、Rust言語とAda言語の両コミュニティの協力関係によって、新たな時代の幕開けとなることを期待しています。今後、更なるニュースをお届けしていきます。

*本資料は、AdaCoreのブログを意訳したものです。正確な内容については、原文をご参照下さい。 https://blog.adacore.com/