インターステラテクノロジズ株式会社様

ソフトウェア開発環境を安心して使えるメリットは大コンパイラ起因のトラブルの可能性を排除できる

ロケット「飛行制御用コンピュータ」のFPGA-SoC用コンパイラを評価

User Profile:

インターステラテクノロジズ株式会社は、小型人工衛星打上げロケットの開発・製造や革新的通信サービス衛星の研究・開発を行っているスタートアップ企業です。同社が目指しているのは「誰もが宇宙に手が届く未来」。2019年、「MOMO3号機」で国内民間単独開発のロケットとして初の宇宙到達を成し遂げ、現在は、小型人工衛星打上げロケット「ZERO」の開発に取り組んでいます。

ソフトウェアの動作が安全に直結する

インターステラテクノロジズでは、今開発しているZEROの飛行制御用コンピュータ(アビオニクス)に、FPGA-SoCというデバイスを数十個も使用します。FPGA-SoCは1つのFPGAにさまざまな機能が詰め込まれているチップで、開発期間、安定動作、コストなど総合的観点から、同社にとって最善の選択です。

しかし課題もありました。

ロケットは、安全を保つことが最優先事項です。あらゆることを制御するアビオニクスは、いわばロケットの頭脳です。ソフトウェアの動作が安全に直結します。ソースコードの質はもちろん、コンパイルが正しく行われることも非常に重要です。

技術開発の大局的指導に当たっているシニアフェローの森岡澄夫氏は「ZEROは、MOMOと比べて設計規模が1桁以上大きく、複雑化、高度化します。設計が10倍になれば、検証は10倍どころではなく、MOMOと同じ体制では品質を確保できないのではないかと思っていました」と話します。

課題意識はありましたが、同社ではこれまでコンパイラ評価について具体的に検討したことはありませんでした。

小型人工衛星打上げロケット「ZERO」の主要コンポーネント
FPGA-SoCが搭載されたボード

目的にかなう評価ができる

そんな同社が出会ったのが、日本ノーベルが提供している「コンパイラ評価サービス」です。コンパイラ評価サービスとは、組込み開発に用いられるC/C++言語のコンパイラ自体の品質妥当性を評価する、第三者検証サービスです。

コンパイラ検証ツールの販売は他社でも見られますが、請負サービスとして展開しているのは日本ノーベルしかありません。サービス開始から30年の実績があり、国内半導体メーカのコンパイラならば、ほぼすべて検査をした経験があるのも強みです。テストケース数は世界最大規模の90万ケース/3.8億ステップです。検証結果をただ報告するだけでなく、問題点を解析して回避策も提示してもらえます。

「ZEROの開発ではコンパイラ評価も必須だと考え、評価方法などを聞いてみたところ、90万ものテストケースで評価すると知り、これはすごいと思いました。国内サービスなので契約やコミュニケーションが容易ですし、FPGA-SoC用コンパイラ専用の評価環境を構築して柔軟に対応してくれる。他社実績も十分にある。これなら、われわれの目的にかなう評価をしてもらえると思いました」(森岡氏)。

こうしてインターステラテクノロジズは、日本ノーベルのコンパイラ評価サービスの採用を決めたのです。

「コンパイラ評価は必須」と語る森岡氏

「テストが網羅的に設計されている」と実感

2023年9月、評価は終了し、最終報告が行われました。「半年ぐらいはかかるのではないかと思っていましたが、予想よりずっと短期間で、信頼性の高い評価が完了しました」(森岡氏)。

評価の結果、クリティカルなものではありませんでしたが、いくつか問題が発見されました。森岡氏は問題が発見されたことで、評価の信頼性の高さを感じたと言います。「『何も問題はなかった』と報告されていたら、逆に不安になっていたかもしれません。発見されたのは、あまり使われない領域の問題だったので、テストが極めて網羅的に設計されていることを実感しました」(森岡氏)。

アビオニクス開発の実務マネージメントを担当している、開発部 アビオニクスグループリーダの酒井一美氏は「コンパイラ評価をお願いするには、自分たちが開発しているソースコードを持ち出さなければならないのかと思っていました。でもその必要は一切なく、手離れが良いのもありがたかったです」と振り返ります。

コンパイラの信頼性を担保するステップは重要

では、コンパイラ評価サービスは、開発現場にとってどのような効果をもたらしたのでしょう。

酒井氏は、過去に再現性の悪い不具合で苦労した経験があると言います。「いろいろな人が確認してもソースコードは間違っていない。コンパイラの問題かもしれないけれど、メーカに問い合わせをして解決を待っている時間はなく、ソースコードを変更して回避するしかない。そうするとテストをし直さなければなりません。開発ではいろいろなトラブルが起こるものですが、そのときにコンパイラがトラブルの原因である可能性を排除できるのは、開発者としてはとてもありがたいですね」(酒井氏)。

アビオニクス開発の技術マネージメントを担う、開発部 アビオニクスグループ設計主任の横山明男氏も「ソフトウェア開発環境を安心して使えるメリットは大きいです。コンパイラの信頼性を担保するというステップは、開発を進めるうえでとても重要だと思います」と話します。

コンパイラ評価をしなかったら

もし、コンパイラ評価サービスを利用していなかったら、どのように対応していたのでしょう。

森岡氏は「コンパイラ自体を自社で評価することは不可能です。自動車など他業界向けに認定が取得されたコンパイラツールに変更するしかなかった」と言います。ただその場合は、FPGA-SoCのツールチェインと組み合わせなければなりません。うまくリンクできなくてパッチをあてたり、他のツールを入れこんだりと、いろいろな対処をせざるを得なくなり、工数もコストも増大した可能性があります。「われわれの目的は総合的な品質を上げることです。そのために認定を取得している信頼性の高いコンパイラを使用しても、結果的にはアビオニクスの品質にはつながらなかったかもしれません」(森岡氏)。

インターステラテクノロジズは現在、2024年度以降の打ち上げを目指し、ZEROのプロトタイプを開発しています。「ツールの課題を、フライト品の開発に取り掛かる前にクリアできて良かった」と森岡氏。今後も数回のコンパイラ評価を予定しており、その最終版がフライト品の開発に使用される予定です。

 
小型人工衛星打上げロケット「ZERO」