IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィの特許一覧

特表2024-519189入力データベースの変換をチェックする方法
<>
  • 特表-入力データベースの変換をチェックする方法 図1
  • 特表-入力データベースの変換をチェックする方法 図2
  • 特表-入力データベースの変換をチェックする方法 図3
  • 特表-入力データベースの変換をチェックする方法 図4
  • 特表-入力データベースの変換をチェックする方法 図5
  • 特表-入力データベースの変換をチェックする方法 図6
  • 特表-入力データベースの変換をチェックする方法 図7a
  • 特表-入力データベースの変換をチェックする方法 図7b
  • 特表-入力データベースの変換をチェックする方法 図8a
  • 特表-入力データベースの変換をチェックする方法 図8b
  • 特表-入力データベースの変換をチェックする方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-08
(54)【発明の名称】入力データベースの変換をチェックする方法
(51)【国際特許分類】
   G06F 16/17 20190101AFI20240426BHJP
【FI】
G06F16/17 100
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024516069
(86)(22)【出願日】2022-05-19
(85)【翻訳文提出日】2023-11-20
(86)【国際出願番号】 JP2022021476
(87)【国際公開番号】W WO2023032363
(87)【国際公開日】2023-03-09
(31)【優先権主張番号】21306169.0
(32)【優先日】2021-08-30
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】Capronilaan 46, 1119 NS Schiphol Rijk, The Netherlands
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【弁理士】
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100188514
【弁理士】
【氏名又は名称】松岡 隆裕
(72)【発明者】
【氏名】ボワイエ、ブノワ
(72)【発明者】
【氏名】▲片▼岡 えり
(57)【要約】
変換エラーを削減し、出力データを検証しながら、入力フォーマットを有する入力データベースを、出力フォーマットを有する出力データベースに変換する方法が例として含まれている。
【特許請求の範囲】
【請求項1】
入力フォーマットを有する入力データベースの、出力フォーマットを有する出力データベースへの変換をチェックするコンピュータ実施の方法であって、前記入力データベースは複数の入力データを含み、前記方法は、
前記入力フォーマットに基づいて決定される入力データモデルと、
前記出力フォーマットに基づいて決定される出力データモデルと、
前記入力データモデル及び複数の変換ルールに基づいて決定される形式変換モデルと、
にアクセスすることと、
前記複数の入力データを前記入力データベースから前記入力データモデルに提供して、モデル化された入力データを取得することと、
第2のデータ検証ツールに基づいて、前記複数の変換ルールを実行して、前記入力データモデルの前記モデル化された入力データを前記形式変換モデルのモデル化された変換データに変換することと、
前記複数の出力データを前記出力データベースから前記出力データモデルに提供して、モデル化された出力データを取得することと、
第3のデータ検証ツールを使用して、前記モデル化された変換データと前記モデル化された出力データとの間の複数の等価性の有効性をチェックすることと、
を含み、
前記方法の実施中に、前記出力データモデル及び前記形式変換モデルが同じモデル化されたデータを共有することを検証する、方法。
【請求項2】
前記方法は、第1のデータ検証ツールに基づいて、前記モデル化された入力データが複数の第1の適合ルールに適合していることを検証することを更に含む、請求項1に記載の方法。
【請求項3】
前記モデル化された入力データが、少なくとも1つの第1の適合ルールに適合していないとき、前記方法は停止されるか、又は、前記方法は、前記少なくとも1つの第1の適合ルール及び/又は前記少なくとも1つの第1の適合ルールが満たされていない前記モデル化された入力データを返すことを更に含む、請求項1又は2に記載の方法。
【請求項4】
前記方法は、第4のデータ検証ツールに基づいて、前記モデル化された出力データが複数の第2の適合ルールに適合していることを検証することを更に含み、
前記方法は、それによって、前記モデル化された出力データが前記第2の適合ルールに適合していることを提供する、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記モデル化された出力データが少なくとも1つの第2の適合ルールに適合していないとき、前記方法は、前記少なくとも1つの第2の適合ルール及び/又は前記少なくとも1つの第2の適合ルールが満たされていない前記モデル化された出力データを返すことを更に含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記第1~第4のデータ検証ツールは、SMTソルバー又はモデルチェッカーである、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記入力データモデルは、前記第1のデータ検証ツールにおいて定義され、前記複数の入力データを提供することは、前記入力データを前記入力データベースから前記第1のデータ検証ツールの前記入力データモデルにロードすることを含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記出力データモデルは、前記第3のデータ検証ツールにおいて定義され、前記複数の出力データを提供することは、前記出力データを前記出力データベースから前記第3のデータ検証ツールの前記出力データモデルにロードすることを含む、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記変換ルールは、変換機能の理論的結果に対応する数学的記述によって定義されるコンピュータルーチンの実行によって実施される、請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記複数の第2の適合ルールは、前記複数の第1の適合ルールと、前記出力フォーマットにリンクされた複数の出力適合ルールとを含む、請求項4~9のいずれか1項に記載の方法。
【請求項11】
前記入力データモデル、前記出力データモデル及び前記形式変換モデルは、関係代数を使用してモデル化されたデータをリンクする宣言型数学的構造である、請求項1~10のいずれか1項に記載の方法。
【請求項12】
前記複数の等価性は、前記モデル化された変換データの部分集合と前記モデル化された出力データの部分集合との間の同等性及び/又は包含性を含む、請求項1~11のいずれか1項に記載の方法。
【請求項13】
等価性が満たされていないとき、前記方法は、前記等価性が満たされていない前記形式変換モデル及び前記出力データモデルのうちの少なくとも一方のモデル化されたデータに対応する反例を返送することを更に含む、請求項1~12のいずれか1項に記載の方法。
【請求項14】
コンピュータによってプログラムが実行されると、前記コンピュータに請求項1~13のいずれか1項に記載の方法を実行させる命令を含む、コンピュータプログラム製品。
【請求項15】
処理回路を備えるコンピュータデバイスであって、前記処理回路は、
入力データベースと、
出力データベースと、
入力データモデルと、
形式変換モデルと、
出力データモデルと、
にアクセスし、
前記処理回路は、請求項1~13のいずれか1項に記載の方法を実施するように構成される、コンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データベースの出力データベースへの変換をチェックする方法に関する。
【背景技術】
【0002】
非常に多くの重要なシステムは、ソフトウェアの副作用に起因するそのような重要なシステムにおける問題を防止するために、ソフトウェアの厳格な方法論に従って開発されてきた。例えば、公共輸送機関では、輸送システムのソフトウェア要素を製造する企業は、乗客の安全を保証する規準の要件に適合しなければならない。そのようなソフトウェアは、認定ソフトウェアとして一般に知られている。
【0003】
ソフトウェアは、規準に従って認定されるが、認定ソフトウェアに供給されるデータもまた、重要なシステムに問題をもたらす。実際、認定ソフトウェアは、所与の入力に対して、ソフトウェア仕様書によって提供される機能仕様によって期待されるとおりに出力が計算されることを保証する。しかしながら、入力は、データに基づいて決定されるため、データが誤っている場合には、認定ソフトウェアの出力も誤ったものになる。したがって、認定ソフトウェアに供給されるそのようなデータは、ソフトウェア自体と同程度に重要であると考えることができる。
【0004】
その上、認定ソフトウェア用に提供される非常に多くのデータセットは、認定ソフトウェアによって予想される入力データフォーマットに適合していない。
【0005】
したがって、重要なデータは、認定ソフトウェアに転送される前に変換され、検証されなければならない。データ検証は、ほとんどの場合に人間の検証者によって手動でチェックされるので、多くの労力、費用、時間を要し、誤りが生じやすい。特に、人間の検証に起因するデータの誤りがあると、重要なシステムには予期しない障害が引き起こされるおそれがあり、したがって、重要なシステムを使用する人に事故の危険性が高まるおそれがある。
【0006】
その上、データ検証は、ほとんどの場合、データ変換前に実施されるが、そのような変換は、いくつかのデータを破損する場合がある。すなわち、データセットが検証される場合であっても、データに関する問題が変換に伴って発生し、認定ソフトウェアには、変換によって破損したデータが供給される可能性がある。
【0007】
したがって、重要なシステム、より一般的には任意のシステムについて、良好な機能を確保するために、データの変換及び検証の状況を改善する安全性への関心が高まっている。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、本開示の目的は、変換機能が実行されたときに入力データを忘却又は破損しないことを保証するために、入力フォーマットを有する入力データベースの、出力フォーマットを有する出力データベースへの変換をチェックするコンピュータ実施方法を提案することである。
【0009】
本開示の別の目的は、出力データベースの出力データが変換後に仕様に適合していることを検証することである。
【課題を解決するための手段】
【0010】
これらの目的を達成するために、本開示は、入力フォーマットを有する入力データベースの、出力フォーマットを有する出力データベースへの変換をチェックするコンピュータ実施方法であって、入力データベースは複数の入力データを含み、方法は、
入力フォーマットに基づいて決定される入力データモデルと、
出力フォーマットに基づいて決定される出力データモデルと、
入力及び複数の変換ルールに基づいて決定される形式変換モデルと、
にアクセスすることと、
モデル化された入力データを取得するために、複数の入力データを入力データベースから入力データモデルに提供することと、
第2のデータ検証ツールに基づいて、複数の変換ルールを実行して、入力データモデルのモデル化された入力データを、形式変換モデルのモデル化された変換データに変換することと、
モデル化された出力データを取得するために、複数の出力データを出力データベースから出力データモデルに提供することと、
第3のデータ検証ツールを使用して、モデル化された変換データとモデル化された出力データとの間の複数の等価性の有効性をチェックすることと、
を含み、
本方法は、それによって、
方法の実施中に、出力データモデル及び形式変換モデルが同じモデル化されたデータを共有することを検証する、方法を提案する。
【0011】
そのような方法によって、データ検証ツールを使用して変換機能が入力データを忘却しないか否か又は破損しないか否かをチェックすることが可能になる。データ変換は、その結果、認定ソフトウェアによって綿密且つ迅速にチェックされ、それによって、ヒューマンエラーが削減される。したがって、本方法は、出力データの安全性及び信頼度を高めるとともに、検証のコストを削減する。さらに、入力データベース及び出力データベースの双方のフォーマットが変化しない限り、本方法は、入力データの変更から独立して速度及びコストの点で同じ効率で引き続き実施することができる。
【0012】
任意選択で、本方法は、第1のデータ検証ツールに基づいて、モデル化された入力データが複数の第1の適合ルールに適合していることを検証することを更に含む。モデル化された入力データが複数の第1の適合ルールに適合していることを検証することによって、本方法は、認定されたコンピュータルーチンを使用して入力データを高速且つ網羅的に検証することが可能になり、それによって、コストと、入力データの人間の検証によって誘発されるエラーとの双方を削減することが可能になる。
【0013】
任意選択で、モデル化された入力データが、少なくとも1つの第1の適合ルールに適合していないとき、本方法は停止されるか、又は、本方法は、少なくとも1つの第1の適合ルール及び/又は少なくとも1つの第1の適合ルールが満たされていないモデル化された入力データを返すことを更に含む。このオプションによって、認定されたコンピュータルーチンに基づいて、第1の適合ルールに適合しない入力データベースの入力データを高速且つ網羅的に決定することが可能になる。このような入力データの決定によって、例えば、必要に応じて当該入力データをチェックして訂正すること、又は、当該入力データが、第1の適合ルールを決定するのに使用される入力データベースの仕様に適合している場合には、第1の適合ルールを識別及び訂正することが可能になる。
【0014】
任意選択で、本方法は、第4のデータ検証ツールに基づいて、モデル化された出力データが複数の第2の適合ルールに適合していることを検証することを更に含み、方法は、それによって、モデル化された出力データが第2の適合ルールに適合していることを提供する。これによって、本方法は、認定されたコンピュータルーチンを使用して出力データを高速且つ網羅的に検証することが可能になり、それによって、コストと、人間の検証によって誘発されるエラーとの双方を削減することが可能になる。
【0015】
任意選択で、モデル化された出力データが少なくとも1つの第2の適合ルールに適合していないとき、本方法は、少なくとも1つの第2の適合ルール及び/又は少なくとも1つの第2の適合ルールが満たされていないモデル化された出力データを返すことを更に含む。このオプションによって、認定されたコンピュータルーチンに基づいて、第2の適合ルールに適合しない出力データベースの出力データを高速且つ網羅的に決定することが可能になる。このような出力データの決定によって、例えば、当該出力データをチェックして必要に応じて訂正すること、又は、チェックした出力データが、第2の適合ルールを決定するのに使用される出力データベースの仕様に適合している場合には、第2の適合ルールを識別及び訂正することが可能になる。
【0016】
任意選択で、適合ルールは、専用モデルに適用される数学的定義を含む。これによって、データベースの適合ルールの実行命令へのトランスクリプションの際の人的ミスを削減することが可能になる。
【0017】
任意選択で、データ検証ツールは、SMT(充足可能性モジュロ理論)ソルバー又はモデルチェッカーである。SMTソルバー及びモデルチェッカーのいずれによっても、モデル化されたデータの効率的な検証が可能になる。
【0018】
任意選択で、入力データモデルは、第1のデータ検証ツールにおいて定義され、複数の入力データを提供することは、入力データを入力データベースから第1のデータ検証ツールの入力データモデルにロードすることを含む。そのようなロードによって、入力データの更なる処置のために入力データを第1のデータ検証ツールの入力データ検証モデルに持ってくることが可能になる。
【0019】
任意選択で、出力データモデルは、第3のデータ検証ツールにおいて定義され、複数の出力データを提供することは、出力データを出力データベースから第3のデータ検証ツールの出力データモデルにロードすることを含む。そのようなロードによって、認定されたルーチンによって等価性及び第2の適合ルールをチェックする第3のデータ検証ツールに出力データ検証モデルにおける出力データを持ってくることが可能になる。
【0020】
任意選択で、変換ルールは、変換機能の理論的結果に対応する数学的記述によって定義されるコンピュータルーチンの実行によって実施される。変換機能の数学的記述によって定義されるコンピュータルーチンは、以下のことを可能にする。
-入力データベースモデルから形式変換モデルに渡す変換ルールを定義するときの人的ミスを削減すること、
-認定されており、その結果、従来のコンピュータ手段によって実施される機能の副作用の削減を可能にするデータ検証ツールによる自動実行。
【0021】
任意選択で、複数の第2の適合ルールは、複数の第1の適合ルールと、出力フォーマットにリンクされた複数の出力適合ルールとを含む。これによって、出力データが第1の適合ルールと、出力フォーマットにリンクされたルールとに適合するか否かをチェックすることが可能になる。
【0022】
任意選択で、入力データモデル、出力データモデル及び形式変換モデルは、関係代数を使用してモデル化されたデータをリンクする宣言型数学的構造である。関係代数によって、これらのデータモデルを定義するデータエキスパートにとってより理解できる方法でデータモデルのデータをリンクすることが可能になる。その結果、モデル化されたデータのロード後にデータモデルに誤りが見られたときにこのデータモデルのデバッグを容易にすることが可能になる。
【0023】
任意選択で、入力データモデル及び出力データモデルはそれぞれ、入力データベースの入力フォーマットの複数の入力行及び複数の入力列、並びに、出力データベースの出力フォーマットの複数の出力行及び複数の出力列に基づいて決定される。これによって、それぞれ入力データベース及び出力データベースの双方、並びに、入力データモデル及び出力データモデルの双方の間のリンクを作成することが可能になる。
【0024】
任意選択で、複数の等価性は、モデル化された変換データの部分集合とモデル化された出力データの部分集合との間の同等性及び/又は包含性を含む。これによって、同等及び包含は極めて明確で簡明な数学演算子であるので、出力データモデル及び形式変換モデルがともに同じモデル化されたデータを共有するか否かを検証するときの人的ミスを削減することが可能になる。
【0025】
任意選択で、等価性が満たされていないとき、本方法は、その性質が満たされていない形式変換モデル及び出力データモデルのうちの少なくとも一方のモデル化されたデータに対応する反例を返すことを更に含む。これによって、形式変換モデル及び出力データモデルが共通して有していない、モデル化されたデータを追跡及び発見することが可能になる。
【0026】
本開示は、プロセッサによって実行されると、本明細書によって説明される方法のうちの任意のものをこのプロセッサに実行させる命令を含むコンピュータ可読記憶媒体を記載している。
【0027】
本開示はまた、コンピュータによってプログラムが実行されると、本明細書によって説明される方法のうちの任意のものをこのコンピュータに実行させる命令を含む、コンピュータプログラム製品を記載している。
【0028】
本開示は最後に、処理回路を備えるコンピュータデバイスであって、処理回路は、
入力データベースと、
出力データベースと、
入力データモデルと、
形式変換モデルと、
出力データモデルと、
にアクセスし、
処理回路は、本明細書によって説明される方法のうちの任意のものを実施するように構成される、コンピュータデバイスを記載している。
【図面の簡単な説明】
【0029】
図1】データベース変換をチェックする方法の一例を実施するソフトウェアアーキテクチャの一例を示す図である。
図2】データベース変換をチェックする方法の一例を示す図である。
図3】コンピュータデバイスの一例を示す図である。
図4】入力データベースの出力データベースへの変換の一例を示す図である。
図5】異なるデータベース及びデータモデルにおける異なるデータのアーキテクチャの一例を示す図である。
図6】データベースから対応するデータモデルへのデータローディングのアーキテクチャの一例を示す図である。
図7a】モデル化された入力データに対して複数の第1の適合ルールを適用するアーキテクチャの一例を示す図である。
図7b】モデル化された出力データに対して複数の第2の適合ルールを適用するアーキテクチャの一例を示す図である。
図8a】形式変換モデルを取得するアーキテクチャの一例を示す図である。
図8b】モデル化された変換データを取得するアーキテクチャの一例を示す図である。
図9】複数の等価性をチェックするアーキテクチャの一例を示す図である。
【発明を実施するための形態】
【0030】
本開示は、入力フォーマットを有する入力データベースIDBの、出力フォーマットを有する出力データベースODBへの変換をチェックすることに関する。入力フォーマット及び出力フォーマットは、異なるデータフォーマットである。入力フォーマットから出力フォーマットへの変換は、変換機能TFによって実現される。出力フォーマットは、例えば、認定ソフトウェアの期待されるフォーマットに対応することができる。そのような変換は、図1のソフトウェアアーキテクチャにおける第1の点線で示されたハーフボックス10内のソフトウェア要素によって示され、より正確には図4によって示されている。
【0031】
<変換機能>
変換機能TFによって、本開示では、入力フォーマットの入力データを出力フォーマットの出力データに変換するのに使用される機能を記述する。より正確には、変換機能TFは、入力データ又は入力データのセットの出力データ又は出力データのセットへの変換をどのように行うのかを示すアルゴリズムステップを定義する。したがって、入力データベースの入力データに対して変換機能TFを適用することによって、出力データベースの出力データが取得される。
【0032】
入力データベース及び出力データベースの双方は、行R(それぞれ入力行を表すIR及び出力行を表すOR)に関連付けられるとともに、列C(それぞれ入力列を表すIC及び出力列を表すOC)に関連付けられるデータD(それぞれ入力データを表すID及び出力データを表すOD)を含むことができる。いくつかの例では、データDは、例えば、セル、テーブル又はリスト、もしくはそれらを混合したものに編成することができる。
【0033】
いくつかの例では、データDは、データベースのキーに基づいてデータベース内で識別することができる。キーは、データベースの行Rに関連付けられるとともに、キーがその行Rの他のデータ要素を見つけることを可能にするようにテーブルの1つ以上の列Cにも関連付けられる。
【0034】
図示した例では、各データベースは1つのテーブルを含む。ただし、図示した例は、簡略化した例であり、したがって、データベースは、データDを行R及び列Cにリンクするいくつかのテーブル又はいくつかのリストを含むことができる。データベースのフォーマット、すなわちデータベースのデータ構造は、データベーススキーマによって表すことができる。入力データベース又は出力データベースの一例は、例えばExcel(商標)ファイル又はcsvファイルとすることができる。
【0035】
異なるデータフォーマットを有するデータベースは、データDが、データベース内で異なる方法で、すなわち異なるデータベーススキーマを用いて編成されることを意味する。いくつかの例では、異なるフォーマットを有するデータベースは、データベースのデータが、同じ行、列、キー、リスト又はテーブルに関連付けられないことを意味することができる。
【0036】
背景技術の部分で述べたように、データベースの変換のプロセスは、センシティブな問題であり、図2を関して以下で提示する方法は、そのような変換が、この変換プロセスの間にいかなる入力データIDの忘却も破損ももたらさないことを保証する。
【0037】
<コンピュータデバイス1>
これらの方法は、図3に示すようなコンピュータデバイス1の処理回路3によって実施することができる。
【0038】
<処理回路3及びメモリMEM>
処理回路3は、本明細書によって説明される方法のうちの任意のものに従って動作するように構成することができる。処理回路3は、オペレーティングシステムによって管理される計算用の電子回路、例えばプロセッサPROCを備えることができる。プロセッサPROCは、例えばコントローラ又はマイクロコントローラとすることができる。
【0039】
処理ユニット3は、例えば、非一時的機械可読記憶媒体がプロセッサPROC等のプロセッサによって実行可能な命令を用いて符号化されるメモリMEM等の少なくとも非一時的機械可読記憶媒体又は少なくともコンピュータ可読記憶媒体を含むことができ、機械可読記憶媒体は、本明細書によって説明される方法のうちの任意のものに従って作動するようにプロセッサ3を動作させる命令を含む。
【0040】
本開示によるコンピュータ可読記憶装置は、実行可能命令を記憶する任意の電子記憶デバイス、磁気記憶デバイス、光記憶デバイス又は他の物理記憶デバイスとすることができる。コンピュータ可読記憶装置は、例えば、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、記憶ドライブ、及び光ディスクとすることができる。
【0041】
本明細書によって説明するように、コンピュータ可読記憶装置は、本明細書によって説明される方法のうちの任意のものに従って実行可能命令を用いて符号化することができる。メモリMEMは、本明細書によって説明される実行可能命令を記憶する任意の電子記憶デバイス、磁気記憶デバイス、光記憶デバイス又は他の物理記憶デバイスを含むことができる。
【0042】
いくつかの例では、メモリMEMは、入力データベースIDBの入力データIDと、出力データベースODBの出力データODとを記憶することができる。
【0043】
いくつかの例では、図6に示すように、記憶ユニット31は、入力データベースIDB及び出力データベースODBを記憶することができる。記憶ユニット31は、メモリMEMと同じ技術を備えることができる。
【0044】
記憶ユニット31は、処理ユニット3に含めることができる。記憶ユニットは、図3に表すように、処理ユニット3の外部とすることもできる。いずれの場合も、プロセッサPROCは、プロセッサPROCが記憶ユニット31に含まれるリソースを使用することができるように、記憶ユニット31にアクセスすることができる。
【0045】
いくつかの例では、記憶ユニット31が処理ユニット3に含まれないときは、処理ユニット3は、プロセッサPROCが記憶ユニット31にアクセスすることができるように、プロセッサPROC及び記憶ユニット31と通信する通信ユニットCOMを備えることができる。
【0046】
メモリMEM又は記憶ユニット31は、図6に示すように、少なくとも1つのデータ検証ツール2も備えることができる。したがって、プロセッサPROCは、少なくとも1つのデータ検証ツール2にアクセスすることができる。
【0047】
<データ検証ツール2>
データ検証ツール2は、本明細書では、以下の動作のうちの少なくとも1つを実施することができる認定されたコンピュータルーチンを含む認定ソフトウェアとして理解される。
-データモデルのモデル化されたデータに関して複数の適合ルールCRを検証すること、
-データモデルのモデル化されたデータに関して複数の変換ルールCRを実行すること、
-データモデルのモデル化されたデータの間の複数の等価性EPの有効性をチェックすること。
【0048】
いくつかの例では、データ検証ツール2は、例えば、SMTソルバー又はモデルチェッカーとすることができる。いくつかのデータ検証ツール2は、本方法の説明中に紹介されるが、これらのデータ検証ツール2は全て、同じデータ検証ツール(すなわち、提示された方法においてデータ検証ツール2が必要とされる全ての動作を実施することができる同じ認定ソフトウェア)に対応することができるので、本開示の図は、それらを同じ参照符号2によって表している。
【0049】
<データモデル>
データモデルは、本開示では、データベースのフォーマット又はデータスキーマを記述する宣言型数学的構造を含む数学的表現として理解される。データモデルは、モデル化されたデータを含み、このモデル化されたデータをリンクする宣言型数学的構造に対応する。
【0050】
いくつかの例では、データベースに関連付けられたデータモデルは、データベースの行R及び列CへのデータベースのデータDのリンクに基づいて、又は、そのようなデータベースのキー及び列CへのデータベースのデータDのリンクに基づいて、そのモデル化されたデータをリンクする宣言型数学的構造に対応することができる。いくつかの例では、データモデルは、関係代数に基づいて決定される。
【0051】
適合ルールCR、変換ルールCR及び等価性EPは、データモデル用に構築され、データモデルにおけるモデル化されたデータに対して適用される。これは、データモデルに含まれるモデル化されたデータの値が変更されても、適合ルールCR、変換ルールCR及び等価性EPを、変更することなく、モデル化されたデータの変更された値に対して引き続き適用することができることを意味する。その理由は、モデル化されたデータ自体の間のリンクは変更されない、すなわち、データモデルは変更されないからである。
【0052】
<データ及びモデル化されたデータ>
本明細書は「データ」を「モデル化されたデータ」と区別することに留意されたい。本開示では、
-入力データIDは入力データベースIDBのデータに対応する一方、モデル化された入力データMIDは入力データモデルIDMのデータに対応し、
-モデル化された変換データMCDは形式変換モデルFCMのデータに対応し、
-出力データODは出力データベースODBのデータに対応する一方、モデル化された出力データMODは出力データモデルODMのデータに対応する。
データベースにおけるデータ及びデータモデルにおけるモデル化されたデータについて、これらのアーキテクチャを図5に示す。モデル化されたデータは、理論モデル(データモデル)の一部であり、インスタンス化される前は値を有しないことにも留意されたい。
【0053】
本方法は、データ変換の検証に適用されるので、データモデルにおいて使用されるモデル化されたデータの値は、入力データベースIDBの入力データIDの値と、出力データベースODBの出力データODの値とから取得される値である。ここで、本発明の理解のために区別がなされているが、上記データベースに含まれるデータ以外のデータを使用して2つのデータベースからのデータ変換をチェックすることは意味をなさないことは明らかである。
【0054】
図1に表されたソフトウェアアーキテクチャでは、モデル化されたデータは、第2の点線で示されたハーフボックス20内のソフトウェア要素によって使用されるデータである一方、データは、第1の点線で示されたハーフボックス10内のソフトウェア要素によって使用されるデータである。
【0055】
<適合ルールCR>
適合ルールCRは、本開示では、モデル化されたデータに適用可能であるとともにデータ検証ツール2に供給されるように適合された数学的定義として理解される。適合ルールCRは、データベースの仕様に自然言語で表された要件からトランスクリプトすることができる。
【0056】
データベースの適合ルールがどのようなものであるのかを示す数学的定義の例を以下に示す。
-第1の例:∀seg,SEG_SIZE(seg)≦MAX_SIZE、
適合ルールの第1の例の数学的定義は、データベースのあらゆるセグメント(segment)(セグメントは、例えばテーブルに関連付けられたデータベースの数学的構造である)のサイズ(セグメントサイズはデータベースの列の長さである)が最大サイズ(ここではMAX_SIZE)よりも短い長さを有するべきであることを意味する。
-第2の例:∀seg,SEG_SIZE(seg)≧MIN_SIZE、
適合ルールの第2の例の数学的定義は、データベースのあらゆるセグメントのサイズが最小サイズ(ここではMIN_SIZE)よりも長い長さを有するべきであることを意味する。
【0057】
上記適合ルールCRの例は、もちろん、全てを網羅した例ではなく、ここでは、適合ルールがどのようなものであるのかを当業者に示すために使用されている。当業者であれば、自然言語によるデータベースの仕様と、上記数学的定義としてトランスクリプトされた適合ルールとの間のリンクを容易に認識するであろう。
【0058】
<変換ルール>
変換ルールCRは、本開示では、データモデルに関して構築され、データ検証ツールによってこのデータモデルのモデル化されたデータに対して実施することができる変換機能TFの理論的結果を定義する数学的記述として理解される。
【0059】
実際には、変換機能TFは、入力データ又は入力データのセットの、出力データ又は出力データのセットへの変換をどのように行うのかを示すアルゴリズムステップを定義する一方、変換ルールCRは、対応する変換機能TFのアルゴリズムステップの理論的結果に対応する数学的記述を定義する。図1の矢印1400は、変換機能TFと変換ルールCRとの間のリンクを表している。
【0060】
<データモデルのモデル化されたデータの間の等価性EP>
データモデルの間の等価性EPは、本開示では、データモデルにおける対応する数学的構造に属するデータモデルのモデル化されたデータの値の間の数学的比較として理解される。
【0061】
換言すれば、データモデルのモデル化されたデータの間の等価性EPをチェックすることは、第1のデータモデルの数学的構造に関連付けられたモデル化されたデータの値が、第2のデータモデルの対応する数学的構造に含まれること、及びその逆もまた同様であることを検証することに対応すると理解される。
【0062】
いくつかの例では、等価性は、第1のデータモデルのモデル化されたデータの部分集合と、第2のデータモデルのモデル化されたデータの部分集合との間の同等性及び/又は包含性を含む。
【0063】
データモデルの間の等価性がどのようなものであるのかを示す数学的比較の具体例を以下に示す。
-第1の例:∀index∈DM1_name,DM1_name(index)=DM2_name(index)、
等価性の第1の例の数学的比較は、第1のデータモデルDM1の全ての名称(名称は、データモデルの数学的構造のインスタンス化されたモデル化データに関連付けられた値である)が、対応するインデックスを有する第2のデータモデルDM2の名称に等しいことをチェックする。
-第2の例:∀segment∈DM1,DM1_seg(segment)⊆DM2_seg(segment)、
等価性の第2の例の数学的比較は、第1のデータモデルDM1の全てのセグメント(セグメントは、データモデルの数学的構造であり、インスタンス化されたモデル化データ、例えば名称に関連付けられた複数の値を含む)が、第2のデータモデルDM2のセグメントによって含まれることをチェックする。
【0064】
<例示の方法100>
図2を参照して、本開示は、入力フォーマットを有する入力データベースの、出力フォーマットを有する出力データベースへの変換をチェックするコンピュータ実施方法100の一例を以下に示す。
【0065】
ブロック110によって示すように、本方法は、以下のものにアクセスすることを含む。
-入力フォーマットに基づいて決定された入力データモデルIDMと、
-出力フォーマットに基づいて決定された出力データモデルODMと、
-入力データモデルIDMにおける変換ルールCRの適用に基づいて決定された形式変換モデルFCM。
【0066】
データモデル及びそれらのそれぞれのモデル化されたデータは、例えば、メモリMEMに記憶することもできるし、入力データモデルIDM及び出力データモデルODMを有する図6に表されるような記憶ユニット31に記憶することもできる。どのような場合でも、方法100を実施するプロセッサPROCは、データモデル及びそれらのモデル化されたデータを使用することができるよう、それらのデータモデル及びそれらのモデル化されたデータにアクセスする。
【0067】
<入力データモデルIDMの決定>
入力データモデルIDMは、入力データベースIDBの入力フォーマットに基づいて、すなわち入力データベースの入力データスキーマに基づいて決定される。入力データモデルIDMは、そのモデル化された入力データMIDをリンクする宣言型数学的構造に対応することができる。入力データモデルIDMのモデル化された入力データMIDをリンクする数学的構造は、入力データベースIDBの入力データIDと、入力行IRと、入力列ICとの間のリンクに基づいて決定することができる。入力データモデルIDMのモデル化された入力データMIDをリンクする数学的構造は、入力データベースIDBの入力データIDと、入力キーと、入力列ICとの間のリンクに基づいて決定することができる。
【0068】
いくつかの例では、入力データモデルは、入力データベースIDBの入力フォーマットの複数の入力行IR及び複数の入力列ICに基づいて決定することができる。いくつかの例では、入力データモデルIDMは、入力データベースIDBの入力キー及び入力フォーマットの複数の入力列ICに基づいて決定することができる。いくつかの例では、入力データモデルIDMは、入力データベースIDBの入力データIDに対して適用される関係代数に基づいて決定される。
【0069】
<出力データモデルODMの決定>
出力データモデルODMは、出力データベースODBの出力フォーマットに基づいて、すなわち出力データベースの出力データスキーマに基づいて決定される。出力データモデルODMは、そのモデル化された出力データMODをリンクする宣言型数学的構造に対応することができる。出力データモデルODMのモデル化された出力データMODをリンクする数学的構造は、出力データODと、出力行ORと、出力列OCとの間のリンクに基づいて決定することができる。出力データモデルODMのモデル化された出力データMODをリンクする数学的構造は、出力データベースODBの出力データODと、出力キーと、そのような出力列OCとの間のリンクに基づいて決定することができる。
【0070】
いくつかの例では、出力データモデルは、出力データベースODBの出力フォーマットの複数の出力行OR及び複数の出力列OCに基づいて決定することができる。いくつかの例では、出力データモデルODMは、出力データベースODBの出力キー及び出力フォーマットの複数の出力列OCに基づいて決定される。いくつかの例では、出力データモデルODMは、出力データベースODBの出力データODに対して適用される関係代数に基づいて決定される。
【0071】
<形式変換モデルFCMの決定>
形式変換モデルFCMは、入力データモデルIDMに関して構築される複数の変換ルールCRに基づいて決定される。入力データモデルIDMに関して構築されることによって、変換ルールCRは、モデル化された入力データMIDの値に依存しないが、入力データモデルIDM、すなわちモデル化された入力データMIDの間のリンクに直接依存することが理解される。換言すれば、モデル化された入力データMIDの値を入力データモデルIDMにおいて変更することによって、変換ルールCRを入力データモデルIDMに対して引き続き適用することができる。その理由は、変換ルールCRが入力データモデルIDMにリンクされ、モデル化された入力データIDM自体の値にリンクされないからである。したがって、図8aは、形式変換モデルFCMが(このモデル内のモデル化された変換データMCDの値にかかわらず)入力データモデルIDMに対する変換ルールCRの適用に基づいて取得されることを示している。
【0072】
ブロック120によって示すように、本方法は、モデル化された入力データMIDを取得するために、複数の入力データIDを入力データベースIDBから入力データモデルIDM内に提供することを含む。モデル化された入力データを取得することは、ここでは、モデル化された入力データMIDをインスタンス化することと理解される。ブロック120は、図1のソフトウェアアーキテクチャでは矢印1200によって示されている。
【0073】
換言すれば、ブロック120では、モデル化された入力データMIDをインスタンス化するために、入力データモデルIDMの宣言型数学的構造に、入力データベースIDBの対応する入力データIDを入力する。
【0074】
上述したように、本方法は、入力データベースIDBの出力データベースODBへの変換をチェックするために適用される。したがって、入力データベースIDBに含まれる入力データIDは、検証に使用されなければならない。
【0075】
いくつかの例では、入力データモデルIDMは、第1のデータ検証ツール2において定義され、複数の入力データIDを提供することは、入力データIDを入力データベースIDBから第1のデータ検証ツール2の入力データモデルIDM内にロードすることを含む。入力データIDを入力データベースIDBから入力データモデルIDM内にロードすることは、ここでは、入力データモデルIDMのモデル化された入力データMIDをリンクする数学的構造が、入力データベースIDBの対応する入力データIDを用いてインスタンス化され、モデル化された入力データMIDの値が取得されることであると理解される。そのような例は、図6における矢印1200’によって示されている。
【0076】
任意選択的に、ブロック130によって示すように、本方法は、モデル化された入力データMIDが複数の第1の適合ルールCR1に適合していることを第1のデータ検証ツール2に基づいて検証することを含むことができる。本方法のブロック130は、図1に表されたソフトウェアアーキテクチャのソフトウェア要素CR1に対応する。ブロック130は、図7aにもより正確に表されている。
【0077】
したがって、第1のデータ検証ツール2は、データモデル(ここでは入力データモデルIDM)のモデル化されたデータ(ここではモデル化された入力データMID)に対して複数の適合ルールCR(ここでは第1の適合ルールCR1)の検証を実施する認定されたコンピュータルーチンを含む。
【0078】
第1の適合ルールCR1は、データアプリケーションのタイプと、入力データベースIDBのフォーマットとに基づいて決定することができる。いくつかの例では、第1の適合ルールCR1の少なくとも一部は、入力データベースIDBの仕様に含まれる自然言語で表された要件のトランスクリプションに基づいて決定することができる。
【0079】
いくつかの例では、モデル化された入力データMIDが、少なくとも1つの第1の適合ルールCR1に適合していないとき、本方法を停止することができる。
【0080】
いくつかの他の例では、モデル化された入力データMIDが、少なくとも1つの第1の適合ルールCR1に適合していないとき、本方法は、少なくとも1つの第1の適合ルールCR1及び/又は少なくとも1つの第1の適合ルールCR1が満たされていないモデル化された入力データMIDを返すことを更に含むことができる。そのような例は、図2におけるブロック135によって示されている。これらの例は、第1の適合ルールCR1に適合していない入力データベースIDBの入力データIDを、認定されたコンピュータルーチンに基づいて高速且つ網羅的に決定することを可能にする。このような入力データの決定は、例えば、入力データIDをチェックして必要に応じて訂正すること、又は、入力データIDが、第1の適合ルールを決定するのに使用される入力データベースIDBの仕様に適合している場合には、この第1の適合ルールCR1を識別及び訂正することを可能にする。
【0081】
ブロック140によって示すように、本方法は、第2のデータ検証ツール2に基づいて、複数の変換ルールCRを実行して、入力データモデルIDMのモデル化された入力データMIDを形式変換モデルFCMのモデル化された変換データMCDに変換することを含む。図1のソフトウェアアーキテクチャにおけるCRソフトウェア要素及びIDMソフトウェア要素の双方をFCMソフトウェア要素にリンクする矢印が、本方法のブロック140を示している。
【0082】
したがって、第2のデータ検証ツール2は、データモデル(ここでは入力データモデルIDM)のモデル化されたデータ(ここではモデル化された入力データMID)に対して複数の変換ルールCRの実行を実施する認定されたコンピュータルーチンを含む。
【0083】
したがって、変換ルールCRは、方法100では、入力データモデルIDMに関して構築され、モデル化された入力データMIDに関して第2のデータ検証ツール2によって実施される変換機能TFの理論的結果を定義する数学的記述に対応する。
【0084】
したがって、変換ルールCRは、モデル化された変換データMCDを取得するために、すなわちモデル化された変換データMCDをインスタンス化するために、入力データモデルIDMのモデル化された入力データMIDにおいて適用される。したがって、モデル化された変換データMCDは、図8bに示すように、モデル化された入力データMIDに関する変換ルールCRの結果である。
【0085】
上述したように、形式変換モデルFCM(すなわち、モデル化された変換データMCDをリンクし、形式変換モデルFCMを形成する数学的構造)は、図8aに示すように、入力データモデルIDM及び変換ルールCRに直接依存する。
【0086】
入力データモデルIDM又は変換ルールCRが変更された場合には、当業者は、異なる形式変換モデルFCMを取得することに再度留意されたい。一方、モデルIDMも変換ルールCRも変更されていないときは、当業者は、異なる形式変換モデルFCMを取得しない。
【0087】
実際、入力データIDが変更されると、モデル化された入力データMIDの値は変更され、したがって、モデル化された変換データMCDの値は変更されるが、入力データモデルIDM(モデル化された入力データMIDの間のリンク)及び形式変換モデルFCM(モデル化された変換データMCDの間のリンク)は変更されない。
【0088】
したがって、形式変換モデルFCMは、変換ルールCRの影響下で入力データモデルIDMの数学的構造の変換と一致する数学的構造によって形成することができる。したがって、ここで、形式変換モデルFCMは、入力データモデルIDM及び変換ルールCRの双方に依存し、したがって、それらのうちの少なくとも一方が変更されると、形式変換モデルFCMも定義によって変更されることに留意されたい。
【0089】
ブロック150によって示すように、本方法は、モデル化された出力データMODを取得するために、複数の出力データODを出力データベースODBから出力データモデルODM内に提供することを含む。ブロック150は、図1のソフトウェアアーキテクチャでは矢印1500によって示されている。モデル化された出力データMODを取得することは、ここでは、モデル化された出力データMODをインスタンス化することと理解される。
【0090】
換言すれば、ブロック150では、モデル化された出力データMODをインスタンス化するために、出力データモデルODMのモデル化された出力データMODをリンクする宣言型数学的構造に出力データベースODBの対応する出力データODを入力する。
【0091】
上述したように、本方法は、入力データベースIDBの出力データベースODBへの変換をチェックするために適用される。したがって、出力データベースODMに含まれる出力データODは、検証に使用されなければならない。
【0092】
いくつかの例では、出力データモデルODMは、第3のデータ検証ツール2において定義され、複数の出力データODを提供することは、出力データODを出力データベースODBから第3のデータ検証ツール2の出力データモデルODM内にロードすることを含む。出力データODを出力データベースODBから出力データモデルODM内にロードすることは、ここでは、モデル化された出力データMODの値を取得するために、出力データモデルODMの数学的構造のモデル化された出力データMODが、出力データベースODBの対応する出力データODを用いてインスタンス化されることと理解される。そのような例は、図6における矢印1500’によって示されている。
【0093】
本方法のブロック150は、図2に表すように、以下で説明するブロック160の前に実施することができるが、必ずしもブロック140の後に実施されるものではない。実際、ブロック150は、実施される出力データベースODBからの出力データOD及び出力データモデルODMしか必要としない。
【0094】
いくつかの例では、本方法のブロック150は、モデル化された入力データIDMにおける第1の適合ルールCR1の検証のブロック130の後に実施することができる。その理由は、第1の適合ルールCR1のうちの少なくとも1つと適合していない場合に、このブロックの後に、本方法を停止することができるからである。
【0095】
ブロック160によって示すように、本方法は、第3のデータ検証ツール2を使用して、モデル化された変換データMCDとモデル化された出力データMODとの間の複数の等価性EPの有効性をチェックすることを含む。換言すれば、形式変換モデルFCMのモデル化された変換データMCD及び出力データモデルODMのモデル化された出力データMODは、第3のデータ検証ツール2を使用してチェックされ、それらのデータが等価であるか否かが評価される。
【0096】
形式変換モデルFCM及び出力データモデルODMの双方を等価性EPにリンクする矢印は、図1のソフトウェアアーキテクチャにおける本方法のブロック160を表している。本方法のブロック160は、図9にも示されている。
【0097】
したがって、第3のデータ検証ツール2は、データモデル(ここでは形式変換モデルFCM及び出力データモデルODM)のモデル化されたデータ(ここではモデル化された変換データMCD及びモデル化された出力データMOD)の間の複数の等価性EPのチェックを実施する認定されたコンピュータルーチンを含む。
【0098】
いくつかの例では、等価性EPは、モデル化された変換データMCDの部分集合とモデル化された出力データMODの部分集合との間の同等性及び/又は包含性を含む。モデル化された変換データMCDの部分集合及びモデル化された出力データMODの部分集合は、例えば、形式変換モデルFCM及び出力データモデルODMにおける対応するモデル化されたデータ又は対応する数学的構造を含むことができる。
【0099】
変換ルールCR及び適合ルールCRについて上述したように、等価性EPは、データモデルに関して構築され、データモデルにおいて取得されるモデル化されたデータに対して適用される。したがって、等価性は、データモデルにおけるモデル化されたデータの値から独立しており、データモデルにおけるモデル化されたデータを変更することは、等価性に影響を与えない。
【0100】
モデル化された出力データMODは、入力データベースIDBに含まれる入力データIDの、出力データベースODBの出力データODへの変換から取得されたデータを表す。モデル化された変換データMCDは、形式変換モデルFCMに含まれるデータを表し、したがって、変換ルールCR(すなわち、入力データベースの入力データIDの変換機能TFの理論的結果を定義する数学的記述)を使用したモデル化された入力データMIDの変換から取得されるデータを表す。
【0101】
したがって、モデル化された変換データMCD及びモデル化された出力データMODの双方に関する等価性の有効性をチェックすることによって、本方法は、入力データベースIDBの入力データIDにおいて適用される変換機能TFが入力データIDを忘却しないか否か又は破損しないか否かを、第3のデータ検証ツール2を使用してチェックすることを可能にする。
【0102】
したがって、変換は、認定されたコンピュータルーチンによってデータごとに高速にチェックされる。したがって、本方法は、変換チェックのプロセス全体におけるヒューマンエラーを削減することを可能にする。
【0103】
その上、本方法は、データからも独立しており、データが変更された場合であっても、データモデル及び変換ルールが変更されない限り実施することができる。換言すれば、本方法は、入力データベース及び出力データベースの双方のフォーマットが変化しないので、人間が介入することもコストを追加することもなく、入力データベースIDBの入力データIDのいくつかのセットの変換を数分でチェックすることができる。そのようなチェックは、現行の技術では、データ検証者によって手動で行われ、したがって、データの大きなセットの場合に、チェックのタイムスケールは、人的ミスの確率が大きいことに伴って数ヶ月となり得る。
【0104】
さらに、データ検証は、ほとんどの場合に重要なシステムに使用され、人的ミスはシステムのユーザの損傷又はシステム自体のダメージをもたらすおそれがある。したがって、本発明によって開示される方法は、ユーザ及びシステムを保護する。
【0105】
図1のソフトウェアアーキテクチャの利点>
図1に示すソフトウェアアーキテクチャは、その結果、データの変換の二重性を表している。確かに、本方法によってチェックされる、入力データベースIDBの出力データベースODBへの変換が一方の側に表され、変換ルールCRを使用した入力データモデルIDMの形式変換モデルFCMへのもう1つの変換が他方の側に示されている。次に、データ検証ツールにおいて等価性EPを使用した双方の変換の比較によって、入力データベースIDBの出力データベースODBへの変換のチェックが、このデータ検証ツールの認定されたコンピュータルーチンによって保証される。
【0106】
その上、入力データベースIDBの出力データベースODBへのチェックされる変換は、データ検証ツールに基づいて出力データを生成しない。そのようなデータ検証ツールにおける生成は、例えば、航空システム又は鉄道システム等のいくつかの重要な分野において、このデータ検証ツールの認定のレベルを高めることを暗黙的に意味する。実際、SMTソルバー又はモデルチェッカー等のデータ検証ツールは、一般に、データベースが、このデータベースの仕様に基づいて決定されたいくつかの数学的ルールに適合することを検証するものと認定されるが、このデータベースの別のデータベースへの変換を行うものとは認定されていない。
【0107】
実際には、提示されたコンピュータ実施方法100では、変換のチェックのみがデータ検証ツールに基づき、変換自体はこのツールに基づかない。これは、システム上で実施される既存のデータベース変換方法のソフトウェア要素を変更することなく、データベース変換チェックの提示された方法を実施することができることを暗に意味している。そのような方法は、その結果、データベース変換チェックの方法、例えば人間がチェックする方法が存在するときに、それらの方法の代替形態又は補完形態とすることができ、これによって、検証の効率が改善される。
【0108】
いくつかの例では、等価性が満たされていないとき、本方法は、等価性が満たされていない形式変換モデル及び出力データモデルのうちの少なくとも一方のモデル化されたデータに対応する反例を返送することを更に含む。そのような返送は、図2における本方法のブロック170と、図1のソフトウェアアーキテクチャにおけるソフトウェア要素CEとによって示されている。これによって、形式変換モデル及び出力データモデルが共通して有していないモデル化されたデータを追跡及び発見し、例えば、変換機能TFにおける誤りを特定して訂正することが可能になる。
【0109】
任意選択的に、本方法は、モデル化された出力データが複数の第2の適合ルールに適合していることを第4のデータ検証ツール2に基づいて検証することを更に含むことができる。そのような検証は、図2における本方法のブロック180と、図1のソフトウェアアーキテクチャにおけるソフトウェア要素CR2とによって示されている。検証は、より正確には図7bに表されている。本方法は、それによって、モデル化された出力データが第2の適合ルールと適合していることを提供する。
【0110】
したがって、第4のデータ検証ツール2は、データモデル(ここでは出力データモデルODM)のモデル化されたデータ(ここではモデル化された出力データMOD)に対して複数の適合ルールCR(ここでは第2の適合ルールCR2)の検証を実施する認定されたコンピュータルーチンを含む。
【0111】
いくつかの例では、複数の第2の適合ルールCR2は、複数の第1の適合ルールCR1と、出力データベースODBの出力フォーマットにリンクされた複数の出力適合ルールとを含む。
【0112】
いくつかの例では、モデル化された出力データMODが、少なくとも1つの第2の適合ルールCR2に適合していないとき、本方法は、少なくとも1つの第2の適合ルールCR2及び/又は少なくとも1つの第2の適合ルールCR2が満たされていないモデル化された出力データMODを返すことを更に含むことができる。そのような例は、図2におけるブロック185によって示されている。これらの例は、第2の適合ルールCR1に適合していない出力データベースODBの出力データODを、認定されたコンピュータルーチンに基づいて高速且つ網羅的に決定することを可能にする。出力データのこの決定は、例えば、当該出力データODをチェックして必要に応じて訂正すること、又は、チェックした出力データODが、当該第2の適合ルールを決定するのに使用される出力データベースODBの仕様に適合している場合には、この当該第2の適合ルールCR2を識別及び訂正することを可能にする。
図1
図2
図3
図4
図5
図6
図7a
図7b
図8a
図8b
図9
【手続補正書】
【提出日】2023-11-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力フォーマットを有する入力データベースの、出力フォーマットを有する出力データベースへの変換をチェックするコンピュータ実施の方法であって、前記入力データベースは複数の入力データを含み、前記方法は、
前記入力フォーマットに基づいて決定される入力データモデルと、
前記出力フォーマットに基づいて決定される出力データモデルと、
前記入力データモデル及び複数の変換ルールに基づいて決定される形式変換モデルと、
にアクセスすることと、
前記複数の入力データを前記入力データベースから前記入力データモデルに提供して、モデル化された入力データを取得することと、
第2のデータ検証ツールに基づいて、前記複数の変換ルールを実行して、前記入力データモデルの前記モデル化された入力データを前記形式変換モデルのモデル化された変換データに変換することであって、前記複数の変換ルールを実行することは、前記第2のデータ検証ツールによって、前記モデル化された入力データ上で前記変換ルールを実行する認証されたコンピュータルーチンを実装することを含む、変換することと、
前記複数の出力データを前記出力データベースから前記出力データモデルに提供して、モデル化された出力データを取得することと、
第3のデータ検証ツールを使用して、前記モデル化された変換データと前記モデル化された出力データとの間の複数の等価性の有効性をチェックすることであって、前記第3のデータ検証ツールを使用して前記複数の等価性の有効性をチェックすることは、前記第3のデータ検証ツールによって、前記複数の等価性の有効性をチェックする認証されたコンピュータルーチンを実装することを含み、前記第2および第3のデータ検証ツールは、認証されたコンピュータルーチンを実装することができる認証されたソフトウェアに対応する、チェックすることと、
を含み、
前記方法の実施中に、前記出力データモデル及び前記形式変換モデルが同じモデル化されたデータを共有することを検証する、方法。
【請求項2】
前記方法は、第1のデータ検証ツールに基づいて、前記モデル化された入力データが複数の第1の適合ルールに適合していることを検証することを更に含む、請求項1に記載の方法。
【請求項3】
前記モデル化された入力データが、少なくとも1つの第1の適合ルールに適合していないとき、前記方法は停止されるか、又は、前記方法は、前記少なくとも1つの第1の適合ルール及び/又は前記少なくとも1つの第1の適合ルールが満たされていない前記モデル化された入力データを返すことを更に含む、請求項1に記載の方法。
【請求項4】
前記方法は、第4のデータ検証ツールに基づいて、前記モデル化された出力データが複数の第2の適合ルールに適合していることを検証することを更に含み、
前記方法は、それによって、前記モデル化された出力データが前記第2の適合ルールに適合していることを提供する、請求項1に記載の方法。
【請求項5】
前記モデル化された出力データが少なくとも1つの第2の適合ルールに適合していないとき、前記方法は、前記少なくとも1つの第2の適合ルール及び/又は前記少なくとも1つの第2の適合ルールが満たされていない前記モデル化された出力データを返すことを更に含む、請求項1に記載の方法。
【請求項6】
前記第1~第4のデータ検証ツールは、SMT(充足可能性モジュロ理論)ソルバー又はモデルチェッカーである、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記入力データモデルは、前記第1のデータ検証ツールにおいて定義され、前記複数の入力データを提供することは、前記入力データを前記入力データベースから前記第1のデータ検証ツールの前記入力データモデルにロードすることを含む、請求項に記載の方法。
【請求項8】
前記出力データモデルは、前記第3のデータ検証ツールにおいて定義され、前記複数の出力データを提供することは、前記出力データを前記出力データベースから前記第3のデータ検証ツールの前記出力データモデルにロードすることを含む、請求項1~のいずれか1項に記載の方法。
【請求項9】
前記変換ルールは、変換機能の理論的結果に対応する数学的記述によって定義されるコンピュータルーチンの実行によって実施される、請求項1~のいずれか1項に記載の方法。
【請求項10】
前記複数の第2の適合ルールは、前記複数の第1の適合ルールと、前記出力フォーマットにリンクされた複数の出力適合ルールとを含む、請求項4または5に記載の方法。
【請求項11】
前記入力データモデル、前記出力データモデル及び前記形式変換モデルは、関係代数を使用してモデル化されたデータをリンクする宣言型数学的構造である、請求項1~のいずれか1項に記載の方法。
【請求項12】
前記複数の等価性は、前記モデル化された変換データの部分集合と前記モデル化された出力データの部分集合との間の同等性及び/又は包含性を含む、請求項1~のいずれか1項に記載の方法。
【請求項13】
等価性が満たされていないとき、前記方法は、前記等価性が満たされていない前記形式変換モデル及び前記出力データモデルのうちの少なくとも一方のモデル化されたデータに対応する反例を返送することを更に含む、請求項1~のいずれか1項に記載の方法。
【請求項14】
コンピュータによってプログラムが実行されると、前記コンピュータに請求項1~のいずれか1項に記載の方法を実行させる命令を含む、コンピュータプログラム。
【請求項15】
処理回路を備えるコンピュータデバイスであって、前記処理回路は、
入力データベースと、
出力データベースと、
入力データモデルと、
形式変換モデルと、
出力データモデルと、
にアクセスし、
前記処理回路は、請求項1~のいずれか1項に記載の方法を実施するように構成される、コンピュータデバイス。
【国際調査報告】