(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022013803
(43)【公開日】2022-01-18
(54)【発明の名称】技術システムのテストのための方法およびコンピュータプログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20220111BHJP
G06F 8/30 20180101ALI20220111BHJP
【FI】
G06F11/36 196
G06F8/30
【審査請求】未請求
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021106225
(22)【出願日】2021-06-28
(31)【優先権主張番号】20182923
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100161908
【弁理士】
【氏名又は名称】藤木 依子
(72)【発明者】
【氏名】アルネ・ノルトマン
(72)【発明者】
【氏名】ペーター・ムンク
(72)【発明者】
【氏名】アンドレアス-ユルゲン・ロハチェク
(72)【発明者】
【氏名】アイケ・マルティン・ターデン
(72)【発明者】
【氏名】リディア・ガウアーホフ
(72)【発明者】
【氏名】マルクス・シュバイツァー
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042GB08
5B042HH11
5B376BC03
(57)【要約】
【課題】技術システムのテストのための方法を提供する。
【解決手段】ソフトウェアを含む安全関連技術システムをテストするための方法(100)であって、このシステムが、少なくとも2つ以上のコンポーネント(210、220)を含むモデル(200)によって表され、かつ、想定(A)であって、それぞれ1つのコンポーネント(210、220)の、安全関連システムに関する想定(A)と、保証(G)であって、それぞれ1つのコンポーネント(210、220)の、安全関連システムへの保証(G)とが、安全契約によって規定されている方法(100)において、ステップ(110)では、少なくとも1つの想定(A)および少なくとも1つの保証(G)に基づいて実行可能なプログラムコード(C)が生成され、かつさらなるステップ(120)では、安全関連システムがプログラムコード(C)の実行によってテストされることを特徴とする方法(100)。
【選択図】
図2
【特許請求の範囲】
【請求項1】
とりわけソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを含むとりわけ安全関連技術システムをテストするための方法(100)であって、前記システムが、少なくとも2つ以上のコンポーネント(210、220)を含むモデル(200)によって表され、かつ、想定(A)であって、それぞれ1つのコンポーネント(210、220)の、前記安全関連システムに関する、とりわけさらなるコンポーネント(210、220)に関する想定(A)と、保証(G)であって、それぞれ1つのコンポーネント(210、220)の、前記とりわけ安全関連技術システムへの、とりわけさらなるコンポーネント(210、220)への保証(G)とが、安全契約によって規定されている方法(100)において、ステップ(110)では、少なくとも1つの想定(A)および少なくとも1つの保証(G)に基づいて、実行可能なプログラムコード(C)が生成され、かつさらなるステップ(120)では、前記とりわけ安全関連技術システムが、前記プログラムコード(C)の実行によってテストされることを特徴とする方法(100)。
【請求項2】
前記プログラムコード(C)の前記生成(110)が、前記安全契約に基づく前記コンポーネント(210、220)の前記保証(G)が守られるかどうかチェックするために少なくとも1つのコンポーネント(210、220)の少なくとも1つの機能をテストするためのプログラムコード(C)の生成を含んでいる、請求項1に記載の方法(100)。
【請求項3】
前記テスト(120)が、少なくとも1つのコンポーネント(210、220)の前記機能をテストするための前記プログラムコード(C)の実行をさらに含んでいる、請求項2に記載の方法(100)。
【請求項4】
前記プログラムコード(C)の前記生成(110)が、前記安全契約に基づく前記コンポーネント(210、220)の前記想定(A)が守られるかどうかチェックするために少なくとも1つのコンポーネント(210、220)を、とりわけ前記コンポーネント(210、220)の入力部(230)を監視するためのプログラムコード(C)の生成を含んでいる、請求項1から3のいずれか一項に記載の方法(100)。
【請求項5】
前記テスト(120)が、とりわけ前記安全関連システムの動作中の、とりわけ前記安全関連システムのランタイムでの、少なくとも1つのコンポーネント(210、220)を監視するための前記プログラムコード(C)の実行をさらに含んでいる、請求項4に記載の方法(100)。
【請求項6】
前記プログラムコード(C)の前記生成(110)が自動的に行われる、請求項1から5のいずれか一項に記載の方法(100)。
【請求項7】
前記プログラムコード(C)の前記生成(110)が、システムレベルでの、前記とりわけ安全関連システムの少なくとも1つの機能をテストするためのおよび/または前記とりわけ安全関連システムを監視するためのプログラムコード(C)の生成をさらに含んでいる、請求項1から6のいずれか一項に記載の方法(100)。
【請求項8】
前記テスト(120)が、システムレベルでの、前記とりわけ安全関連システムの少なくとも1つの機能をテストするためのおよび/または前記とりわけ安全関連システムを監視するための前記プログラムコード(C)の実行をさらに含んでいる、請求項7に記載の方法(100)。
【請求項9】
前記方法(100)が、以下のシステム要求、すなわち安全性、快適性、認証の観点の少なくとも1つに基づく実行可能なプログラムコード(C)の生成をさらに含んでいる、請求項1から8のいずれか一項に記載の方法(100)。
【請求項10】
安全関連システムをテストするための装置であって、前記装置が、請求項1から9のいずれか一項に記載の方法(100)を実行するために形成されている装置。
【請求項11】
実行可能なプログラムコード(C)を含むコンピュータプログラムであって、前記プログラムコード(C)が、安全関連システムと、前記安全関連システムの少なくとも1つのコンポーネント(210、220)との間の安全契約に基づいており、前記コンポーネント(210、220)の、前記安全関連システムに関する少なくとも1つの想定(A)および/または前記コンポーネント(210、220)の、前記安全関連システムへの少なくとも1つの保証(G)を含む前記安全契約に基づいているコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、とりわけ安全関連システムをテストするための方法および装置に関する。
本開示はさらに、システムをテストするための装置および/または方法において使用され得るコンピュータプログラムに関する。
【背景技術】
【0002】
このシステムは、とりわけソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを含む技術システムである。
このようなシステムの作成および/または設計は、なかでも通常はモデルベースシステムエンジニアリングの枠内で行われる。このシステムは、例えば、典型的にはポートを備えたコンポーネントおよびこれらポート間の結合の形態での、UMLまたはSysMLを使用してモデリングされる。このシステムは、1つのコンポーネントが1つまたは複数のさらなるコンポーネントを含み得る階層的なモデルとしてもモデリングされ得る。
【0003】
モデルベースの安全性分析、略してMBSAは、システムに、システムへのさらなる安全志向視点を付加することにより、これらのモデルを利用する。1つの可能性は、コンポーネントにいわゆる安全契約を付加することにある。安全契約は、契約に基づく設計から導き出され、かつ既に現況技術から知られており、例えば、非特許文献1から知られている。
【0004】
安全契約は、安全関連システムの安全要求の構成仕様を詳述しており、このシステムは、階層的なシステムモデルのコンポーネント構造に従っており、かつこのシステムモデルとリンクしている。各コンポーネントに対し、1つの安全契約が、そのコンポーネントの直接的な周囲(例えばそのコンポーネントの上位に置かれたコンポーネント)によって果たされるべき安全関連「想定」と、そのコンポーネントの方で提供する相応の安全関連「保証」とを詳述している。
【0005】
安全契約の目標は、システムモデルの安全性の評価、とりわけ、選択されたコンポーネント構造の、すべての安全要求を果たす能力の評価の際に、開発者および安全管理者を補助することである。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Warg, F.; Vedder, B.; Skoglund, M. & Soaderberg, A.: “Safety ADD: A Tool for Safety-Contract Based Design” In: 2014 IEEE International Symposium on Software Reliability Engineering Workshops, 2014, p.527-529.
【発明の概要】
【0007】
一実施形態は、とりわけソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを含むとりわけ安全関連技術システムをテストするための方法であって、このシステムが、少なくとも2つ以上のコンポーネントを含むモデルによって表され、かつそれぞれ1つのコンポーネントの、安全関連システムに関する想定と、それぞれ1つのコンポーネントの、安全関連システムへの保証とが、安全契約によって規定されている方法において、1つのステップでは、少なくとも1つの想定および少なくとも1つの保証に基づいて、実行可能なプログラムコードが生成され、かつさらなるステップでは、安全関連システムが、プログラムコードの実行によってテストされることを特徴とする方法に関する。
【0008】
現況技術からは、システムの機能をテストするためのプログラムコードを、システムの開発の最中または後に生成し、かつシステムの実装機能から導き出すことが知られている。しかしながら仕様は、最終製品における機能の実際の実装とは相違し得る。この場合、実装からプログラムコードを導き出すことにより、最終製品が実際に仕様を果たすことが保証され得ない。
【0009】
これとは異なり、本開示による方法は、システムをテストするためのプログラムコードを、安全契約において規定された想定および保証に基づいて生成することを提案する。つまり、プログラムコードの実行により、安全契約において規定された想定および保証がシステムの実装の際に履行されたかどうかがテストされる。
【0010】
コンポーネントは、典型的にはポート、とりわけデータを受信するための入力部およびデータを送信するための出力部を含んでいる。モデルでは、様々なコンポーネントのポート間のさらなる結合がモデリングされている。
【0011】
それぞれ1つのコンポーネントの想定は、このコンポーネントの周囲、例えば上位に置かれたコンポーネントによって果たされ得る。したがって想定は、通常は、コンポーネントの入力部で受信されるデータに関連する。
【0012】
それぞれ1つのコンポーネントの保証は、このコンポーネント自体によって果たされ得る。したがって保証は、通常は、コンポーネントの出力部で送信されるデータに関連する。
【0013】
一実施形態によれば、プログラムコードの生成は、安全契約に基づくコンポーネントの保証が守られるかどうかチェックするために少なくとも1つのコンポーネントの少なくとも1つの機能をテストするためのプログラムコードの生成を含んでいることが企図される。
【0014】
一実施形態によれば、テストは、少なくとも1つのコンポーネントの機能をテストするためのプログラムコードの実行をさらに含んでいることが企図される。
一実施形態によれば、プログラムコードの生成は、安全契約に基づくコンポーネントの想定が守られるかどうかチェックするために少なくとも1つのコンポーネントを、とりわけこのコンポーネントの入力部を監視するためのプログラムコードの生成を含んでいることが企図される。
【0015】
一実施形態によれば、テストは、とりわけ安全関連システムの動作中の、とりわけ安全関連システムのランタイムでの、少なくとも1つのコンポーネントを監視するためのプログラムコードの実行をさらに含んでいることが企図される。
【0016】
一実施形態によれば、プログラムコードの生成が自動的に行われる。安全契約が形式化されている場合、プログラムコードの生成は、したがってシステムのテストも、自動的に実施され得ることが企図される。
【0017】
想定および保証は、安全契約では例えば自然言語によって表現されているが、例えばテキスト認識方法を使用して自動的に論理式に変換され得る。論理式はその後、相応にプログラムコードに変換される。アサーションの連なった構造は、とりわけ、連続的にプログラムコード内の相応の表現に変換され得る。
【0018】
一実施形態によれば、プログラムコードの生成は、システムレベルでの、とりわけ安全関連システムの少なくとも1つの機能をテストするためのおよび/またはとりわけ安全関連システムを監視するためのプログラムコードの生成をさらに含んでいることが企図される。
【0019】
一実施形態によれば、テストは、システムレベルでの、とりわけ安全関連システムの少なくとも1つの機能をテストするためのおよび/またはとりわけ安全関連システムを監視するためのプログラムコードの実行をさらに含んでいることが企図される。
【0020】
一実施形態によれば、本方法は、以下のシステム要求、すなわち安全性、快適性、認証の観点の少なくとも1つに基づく実行可能なプログラムコードの生成をさらに含んでいる。システム要求は、例えば仕様書では自然言語によって表現されているが、例えばテキスト認識方法を使用して自動的に論理式に変換され得る。論理式はその後、相応にプログラムコードに変換される。アサーションの連なった構造は、とりわけ、連続的にプログラムコード内の相応の表現に変換され得る。
【0021】
さらなる一実施形態によれば、本方法の適用により、システムが設計され得ることが企図される。例えば、ある特定のコンポーネントが、とりわけ類似の機能性を有する別のコンポーネントによって置き換えられ得るか否か、したがって安全契約に基づく想定および保証がその後も果たされるかどうかが分析され得る。
【0022】
さらなる実施形態は、とりわけ少なくとも部分的に自動化された車両の、例えば走行システム、ブレーキシステム、操縦システム、または支援システム用の、ソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを含む制御機器をテストするための本方法の適用に関する。制御機器は、本方法の適用により、セーフティクリティカルな要求についてテストされ得る。
【0023】
さらなる実施形態は装置に関し、この装置は、実施形態による方法を実行するために形成されている。
さらなる実施形態は、実行可能なプログラムコードを含むコンピュータプログラムに関し、このプログラムコードは、安全関連システムと、この安全関連システムの少なくとも1つのコンポーネントとの間の安全契約に基づいており、このコンポーネントの、安全関連システムに関する少なくとも1つの想定および/またはこのコンポーネントの、安全関連システムへの少なくとも1つの保証を含む安全契約に基づいている。
【0024】
本発明のさらなる特徴、適用可能性、および利点は、図面の図に示している本発明の例示的実施形態の以下の説明から明らかである。これに関し、すべての説明されたまたは図示された特徴は、特許請求項またはその従属請求項における特徴の要約に関係なく、および明細書または図面での特徴の表現または図示に関係なく、単独でまたは任意の組合せで、本発明の対象である。
【図面の簡単な説明】
【0025】
【
図1】一実施形態による技術システムをテストするための方法のステップを概略的に示したフロー図である。
【
図2】モデルとしての技術システムの概略図である。
【
図3】さらなる一実施形態による方法のステップを概略的に示したブロック図である。
【発明を実施するための形態】
【0026】
図1に関連して、以下に技術システムをテストするための方法100を説明する。
技術システムは、とりわけソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを含む安全関連システムである。
【0027】
このシステムは、図示した実施形態によれば、モデル200(
図2を参照)によって表される。
モデル200は、図示した実施形態によれば、例示的にコンポーネント210およびさらなるコンポーネント220を含んでいる。
【0028】
コンポーネント210、220は、ポート230、とりわけデータを受信するための入力部およびデータを送信するための出力部を含んでいる。コンポーネント210、220のポート230の間に結合240がモデリングされている。
【0029】
モデル200は安全契約をさらに含んでおり、安全契約では、想定Aであって、コンポーネント210、220の、システムに関する、とりわけシステムのさらなるコンポーネント210、220に関する想定Aと、保証Gであって、コンポーネント210、220の、システムへの、とりわけシステムのさらなるコンポーネント210、220への保証Gとが規定されている。
図2では、コンポーネント220に対するコンポーネント210の想定Aと、コンポーネント220に対するコンポーネント210の保証Gとが概略的に示されている。
【0030】
このシステムは、例えば車両の技術システムである。コンポーネント210は、例えば、とりわけ自動車を駆動するための制御機器または制御機器の計算ユニットである。コンポーネント220は、例えば、とりわけ光学的捕捉のためのセンサならびに/またはとりわけ車両の駆動ユニットおよび/もしくは車両の操縦ユニットを制御するためのアクチュエータである。コンポーネント220、とりわけセンサは、データをコンポーネント210、とりわけ制御機器に伝送する。コンポーネント210もまた、データをコンポーネント220に伝送する。この場合にはコンポーネント210の想定Aは、例えば、設定可能な時間にコンポーネント220がコンポーネント210にデータを伝送するという想定である。この場合にはコンポーネント210の保証Gは、例えば、設定可能な時間にコンポーネント210がコンポーネント220にデータを伝送するという保証である。
【0031】
以下に、再び
図1に関連してテストのための方法100をさらに説明する。
図示した実施形態によれば、方法100のステップ110では、安全契約の想定および保証に基づいて、実行可能なプログラムコードが生成される。
【0032】
図示した実施形態によれば、方法100のステップ120では、安全関連システムが、プログラムコードの実行によってテストされる。
一実施形態によれば、プログラムコードの生成110は、安全契約に基づくコンポーネントの保証が守られるかどうかチェックするために少なくとも1つのコンポーネントの少なくとも1つの機能をテストするためのプログラムコードの生成を含んでいることが企図される。
【0033】
一実施形態によれば、テスト120は、少なくとも1つのコンポーネントの機能をテストするためのプログラムコードの実行をさらに含んでいることが企図される。
一実施形態によれば、プログラムコードの生成110は、安全契約に基づくコンポーネントの想定が守られるかどうかチェックするために少なくとも1つのコンポーネントを、とりわけコンポーネントの入力部を監視するためのプログラムコードの生成を含んでいることが企図される。
【0034】
一実施形態によれば、テスト120は、とりわけ安全関連システムの動作中の、とりわけ安全関連システムのランタイムでの、少なくとも1つのコンポーネントを監視するためのプログラムコードの実行をさらに含んでいることが企図される。
【0035】
一実施形態によれば、プログラムコードの生成110が自動的に行われることが企図される。想定および保証は、安全契約では例えば自然言語によって表現されているが、例えばテキスト認識方法を使用して自動的に論理式に変換され得る。論理式はその後、相応にプログラムコードに変換される。アサーションの連なった構造は、とりわけ、連続的にプログラムコード内の相応の表現に変換され得る。
【0036】
一実施形態によれば、プログラムコードの生成110は、システムレベルでの、とりわけ安全関連システムの少なくとも1つの機能をテストするためのおよび/またはとりわけ安全関連システムを監視するためのプログラムコードの生成をさらに含んでいることが企図される。
【0037】
一実施形態によれば、テスト120は、システムレベルでの、とりわけ安全関連システムの少なくとも1つの機能をテストするためのおよび/またはとりわけ安全関連システムを監視するためのプログラムコードの実行をさらに含んでいることが企図される。
【0038】
一実施形態によれば、方法100は、以下のシステム要求、すなわち安全性、快適性、認証の観点の少なくとも1つに基づく実行可能なプログラムコードの生成をさらに含んでいることが企図される。
【0039】
図3は、コンポーネント210の想定Aおよび保証Gの概略図である。想定Aおよび保証Gに基づいて、方法100により、実行可能なプログラムコードCが生成される。
【符号の説明】
【0040】
100 方法
110 生成
120 テスト
200 モデル
210、220 コンポーネント
230 ポート、入力部、出力部
240 結合
A 想定
C プログラムコード
G 保証
【外国語明細書】