国立情報学研究所(NII)は,制御システムのセンサーに計測誤差があっても,安全に動くように制御ソフトウェアのモデルを自動で変換する手法を開発した(ニュースリリース)。
ドローンや自動運転などの制御システムの高い安全性を実現するには,数学的な手法を使って,システムをモデル化し,安全性を証明する手法が有効となる。
制御システムに含まれる制御ソフトウェアはセンサーで計測した制御対象の状態をもとに適切な動作を決定する。しかし,現実には計測誤差があり,計測値が真の値となる前提で開発されたソフトウェアは安全性を損ないかねない。そこで計測誤差を考慮し,安全マージンを持った動作をする制御ソフトウェアとする必要がある。
しかし,計測する対象それぞれについて真の値と計測値の両方を扱ったうえで,制御ソフトウェアのあらゆる動作において安全性が保証されると数学的に証明するには複雑さが伴うため,センサーの計測誤差を考慮した,真に安全な制御ソフトウェアの設計は複雑になる。さらに,制御システムの計測にどのような誤差があり得るかを確実に知ることは,設計の段階(開発の早い段階)では困難しい。
例えば,計測誤差は制御システムが動作する環境(天候の変化など)によって異なる。そのため,はじめから計測誤差を具体的に見込んで制御ソフトウェアの設計に組み込むのではなく,計測誤差がないことを前提に作り,その制御ソフトウェアが「どの程度の誤差に耐えられるか」を計算できると,制御システム全体を柔軟に設計でき,実際にシステムに搭載するセンサーを後から検討できるなどのメリットがある。
ところが,この「どの程度の誤差に耐えられるか」を表す数式を獲得することは難しい問題だった。そこで研究では,与えられた制御ソフトウェアがセンサーの計測誤差を考慮せずに設計されたものであっても,計測誤差を考慮して安全に動作する制御ソフトウェアに自動で変換する手法を開発した。
この手法により制御ソフトウェアは,計測誤差があっても安全であるように変換される。しかし,計測誤差があまりにも大きく,そもそも安全な動作を取ることが理論上不可能な場合もある。従って,「得られた制御ソフトウェアが耐えられる誤差の限界はどこか?」という問題が生じる。
この手法では,この耐えられる誤差の限界も数式として出力すため,制御システムに搭載可能なセンサーの選定や,制御ソフトウェアを他のコンポーネントと組み合わせた際の誤差に関する分析を体系的に行なうことが容易になるとしている。