JP4854058B2 - 汎用入力データ検査装置及びプログラム - Google Patents

汎用入力データ検査装置及びプログラム Download PDF

Info

Publication number
JP4854058B2
JP4854058B2 JP2004104088A JP2004104088A JP4854058B2 JP 4854058 B2 JP4854058 B2 JP 4854058B2 JP 2004104088 A JP2004104088 A JP 2004104088A JP 2004104088 A JP2004104088 A JP 2004104088A JP 4854058 B2 JP4854058 B2 JP 4854058B2
Authority
JP
Japan
Prior art keywords
option
constraint information
program
value
constraint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004104088A
Other languages
English (en)
Other versions
JP2005292980A (ja
Inventor
豊 葦苅
哲 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2004104088A priority Critical patent/JP4854058B2/ja
Publication of JP2005292980A publication Critical patent/JP2005292980A/ja
Application granted granted Critical
Publication of JP4854058B2 publication Critical patent/JP4854058B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、コンピュータにおいてプログラムに引数を渡すための装置及び方法に関し、特に、オプション値の整合性のチェックを行なうためのプログラマの負担を減少させる装置及びコンピュータプログラムに関する。
コンピュータにおいてプログラムを起動する際に、プログラムの動作の条件を変えることが頻繁に行なわれる。例えば、ある入力ファイルの内容を所定の方式で変換して他のファイルに出力する場合を考える。このとき、入力ファイルと出力ファイルとが固定されていると使いづらいので、プログラムの起動時に、入力ファイル名と出力ファイル名とを引数としてプログラムに渡すことがよく行なわれる。
従来、このようにプログラムにオプション値やパラメータ値(以下単に「オプション値」と呼ぶ。)等を渡す際には、所定のキーワードで引数を受取るように予めプログラムを設計しておき、起動時にいわゆるコマンド入力画面で、このプログラムを指定する文字列と、キーワード及び対応する引数の値とを続けてタイプする。コンピュータのオペレーティング・システム(OS)又はその上で動作するシェルと呼ばれるプログラムにより、この引数が、プログラム中で指定されたキーワードに対応する変数中に設定され、プログラムがその値に基づいて起動される。
一方、最近のコンピュータのオペレーションの主流は、GUI(グラフィカル・ユーザ・インタフェース)を用いたものになっている。プログラムのオプション値をGUIにより設定する場合、当該プログラムの中で、GUIを設計し実装する必要がある。そしてGUIにより設定されたオプション値をプログラム中で使用する。
このようにプログラムに与えられるオプション値については、その値が妥当なものか否かをチェックする必要がある。例えば数値を設定すべきオプション値に数値以外の値を代入すれば、その結果は予測できないものになる。したがってコマンドベースにしろ、GUIベースにしろ、入力されたオプション値の整合性をプログラム中で必ずチェックする必要性がある。
こうしたオプション値をチェックする場合、通常はプログラム中にチェックのためのルーチンを記述する。しかしそうした場合には、そのルーチンを作成したり、ルーチン自体の正当性をチェックしたりするために時間がかかるという問題がある。また、個々のプログラマがルーチンを作成するので、その品質は個々のプログラマの技量に大きく依存する。
そうした問題を解決するための一つの方策として、オプション値ごとに妥当性チェックのための専用のプログラムを熟練したプログラマが書き、各アプリケーションでは、そのオプション値のチェックをする必要が生じるたびにそれを呼出す形で処理する、という方法がある。このようにすると、プログラマの技量により品質が左右されることはあまりなく、またプログラムごとにルーチンを書く必要もなくなる。
しかしそれでも、オプション値ごとに専用のプログラムを書かねばならず、また新しいプログラムを作成するたびに、かならずその正当性をチェックしなければならないという問題がある。そのため、システム全体の品質と生産性を高めることが困難であった。
それゆえに本発明の目的は、オプション値のチェックを行なう際に、システム全体の品質と生産性とを高めることが可能なプログラム開発環境を提供することである。
本発明の他の目的は、オプション値ごとに専用のプログラムを書くことなくオプション値のチェックをできるようにし、システム全体の品質と生産性とを高めることが可能なプログラム開発環境を提供することである。
本発明の他の目的は、複数種類のオプションに対して共通のプログラムを用いてオプション値のチェックをできるようにし、システム全体の品質と生産性とを高めることが可能なプログラム開発環境を提供することである。
本発明に係る汎用入力データ検査装置は、プログラムのオプションに対して入力されるデータの妥当性を検査するための汎用入力データ検査装置である。当該汎用入力データ検査装置は、プログラムで使用されるオプション値に対するオプション制約情報を記憶するための記憶手段とともに用いられる。汎用入力データ検証装置は、オプション制約情報の指定を受けると、指定されたオプション制約情報を記憶手段から読出して、指定されたオプション制約情報に記述された複数の制約情報をそれぞれ記憶するための複数の制約情報記憶手段と、複数の制約情報記憶手段に対応して設けられ、オプション値が充足すべき所定の制約条件を、対応の制約情報記憶手段に記憶される値との関係で規定するための複数の制約条件規定手段と、入力されるオプション値により、複数の制約規定手段により規定される制約条件が全て充足されているか否かを検査するための検査手段とを含む。
オプション制約情報の指定を受けると、当該オプション制約情報を制約情報記憶手段に記憶する。これら制約情報記憶手段に記憶された値との関係で制約条件規定手段により制約条件が規定される。検査手段により、制約条件規定手段の規定する制約条件を、入力されるオプション値が充足するか否かを判定する。オプション制約情報を変えると、制約条件も制約情報に伴い自動的に変わる。そのため、一つの汎用入力データ検査装置で、複数種類のオプション値に関する入力データの妥当性を検査することができる。
好ましくは、汎用入力データ検査装置はさらに、複数の制約情報のうちの一つを新たな制約情報で更新すべき指定を受けたことに応答して、当該指定された制約情報を記憶した制約情報記憶手段の記憶内容を、新たな制約情報で更新するための制約情報更新手段を含む。
制約情報を、オプション制約情報で指定されたものから別の新たなものに変更することができる。その結果、プログラムの実行中でも動的にオプション値の許容範囲を変更することができる。
さらに好ましくは、検査手段は、複数の制約条件のうち、入力されるオプション値によって充足されないものがあれば、他の制約条件についての検査を省略し、データが妥当でないことを示す検査結果を出力するための手段を含む。
充足されない制約条件があれば残りの検査を省略するので、処理速度を早くできる。
本発明の第2の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを上記したいずれかの汎用入力データ検査装置として動作させる。
本発明は、複数種類のオプション値について共通に使用できるオプション値チェックのための装置として、コンピュータ上で動作するオプション値チェックライブラリを提供する。このオプション値チェックライブラリは、オプション値チェックのためのオブジェクトクラスからなる。このオブジェクトクラスは「オプション」というクラス名を持つ。
また、以下に説明するシステムの各プログラムは複数個のモジュール(これらの各々もまたプログラムである。)の組合せにより構成される。各モジュールに対応して、それぞれが使用するオプション及びその値に関する情報をもつモジュール定義ファイルが予め準備される。各プログラムで、モジュールごとにオプションクラスのオブジェクト(以下「オプションクラスオブジェクト」と呼ぶ。)を生成し、対応するモジュール定義ファイルのフルパスを指定してオブジェクトを初期化することにより、各オプションクラスオブジェクトは、指定されたモジュールで使用されるオプション値をチェックすることができるように初期化される。
図1に本発明の一実施の形態に係るオプション値チェックライブラリを採用した応用システム20のブロック図を示す。図1に示す応用システム20は、一つのコンピュータハードウェアにより実現してもよいし、互いにネットワーク接続された複数のコンピュータハードウェアにより実現してもよい。
図1を参照して、応用システム20は、モニタ22と、キーボード及びマウス等のポインティングデバイスを含む入力装置24と、システム20の機能の中核を実現するためのアプリケーション26A〜26C等(以下、これらを代表して「アプリケーション26」と呼ぶ。)と、アプリケーション26等から共通に使用される複数のオプションクラスオブジェクト28A〜28M(これらを代表して、オプションクラスオブジェクト28と呼ぶ。)と、オプションクラスオブジェクト28がオプション値チェックのために参照するオプション情報42を含むモジュール定義情報ファイル40A〜40M(これらを代表してモジュール定義情報ファイル40と呼ぶ。)とを含む。
応用システム20はさらに、アプリケーション26を起動する際のオプション値を所定の記法にしたがって指定するように予め作成されたオプションファイル30を含む。アプリケーション26を起動する際に、コマンドベースの起動パラメータでこのオプションファイル30を指定することにより、オプションファイル30中のオプション値の妥当性がオプションクラスオブジェクト28によりチェックされる。オプションファイル30の構成については図4を参照して後述する。
オプションクラスオブジェクト28は、いずれも前述したオプションクラスのインスタンスであるが、それぞれモジュールごとに、使用されるオプションの値をチェックするために生成されたものである。
モジュール定義情報ファイル40は、このシステムのプログラムで使用されるモジュールに関する情報を記述したファイルである。モジュール定義情報ファイル40は、その中に当該モジュールで使用するオプションに関する情報を記述したオプション/パラメータエリア62を含む。モジュール定義情報ファイル40の詳細については図2及び図3を参照して後述する。
アプリケーション26は、使用するモジュールの数だけオプションクラスオブジェクト28を生成する。さらに各オプションクラスオブジェクト28に対応するモジュール定義情報ファイル40のフルパスをそれぞれのオプションクラスオブジェクト28に与える。オプションクラスオブジェクト28は、与えられたフルパスにより指定されるモジュール定義情報ファイル40からオプション/パラメータエリア62を読み込み、自己を初期化する。初期化が終了すると、アプリケーション26が入力装置24から受けたオプションファイルを指定するパラメータで特定されるオプションファイル30からオプション値を読出し、各モジュールに対応のオプションクラスオブジェクト28に与えると、各オプションクラスオブジェクト28はオプション値の妥当性をチェックして結果をアプリケーション26に返す。アプリケーション26はオプション値がいずれも妥当であればその値を使用して処理を開始する。妥当でないものが含まれていれば、その旨のメッセージを表示して処理を中止する。以下、オプション値をチェックする処理に必要な構成について説明する。
なお、本実施の形態では、モジュール定義情報ファイル40及びオプションファイル30については予めハードディスク等の記憶装置に準備することを想定している。またオプションクラスは、アプリケーション26の設計時に同時に設計され、アプリケーション26にその定義情報が組込まれる。
モジュール定義情報ファイル40は、対応するモジュールに関する情報と、当該モジュールで使用されるオプション値をチェックするための情報とを統一した書式に従って記述したものである。図2に、モジュール定義情報ファイル40のファイル形式を示す。図2を参照して、モジュール定義情報ファイル40は、対応するモジュールのファイルシステム上の物理的な名称と記憶場所とをフルパス名によって指定する物理的モジュール名称フィールド50と、モジュール名称をGUI表示する際に使用される表示用のモジュール名称のテキストを格納する表示用モジュール名称フィールド52と、モジュールの機能をGUI画面上に表示する際のモジュール説明テキストを格納する説明テキストフィールド54と、当該モジュールの作成者名を格納する作成者名フィールド56とを含む。作成者名は、GUI上での表示と、モジュールへのアクセスのセキュリティ管理のために使用される。
モジュール定義情報ファイル40はさらに、モジュールのバージョン情報を格納するバージョン情報フィールド58と、セキュリティ管理のレベル等、セキュリティ制約情報を記憶するセキュリティ制約情報フィールド60と、このモジュール定義情報ファイル40に対応するモジュールのオプション値をチェックするためにオプションクラスオブジェクト28が参照するオプション/パラメータエリア62とを含む。オプション/パラメータエリア62は、各々が一つのオプション値の妥当性をチェックするために必要な制約情報を含む、複数のオプション/パラメータ情報70を含む。
図3に、オプション/パラメータ情報70の構成を示す。図3を参照して、オプション/パラメータ情報70は、モジュールが受け付けるオプション名のテキストを格納するオプション名フィールド80と、オプションのデフォルト値を記憶するデフォルト値フィールド82と、オプションの値としてシステムが内部的にとりうる値(有効値)が列挙されたもの(例えば「Toshi1 | Toshi2 | Toshi3」等)を格納する有効値フィールド84と、オプション値が数値の場合に、オプション値の有効範囲を設定する情報を格納するための有効範囲フィールド86とを含む。
有効範囲フィールド86は、オプション値の最小値フィールド100及び最大値フィールド104と、それら最小値又は最大値を有効範囲に含むか否かを示す情報をそれぞれ格納するフィールド102及び106とを含む。最小値及び最大値は、他のオプション値を参照することもできる。
オプション/パラメータ情報70はさらに、オプション値の型を示す型フィールド88と、モジュール起動時にこのオプション値を「,」等の区切り文字で区切って複数回繰返して指定可能な場合の、その回数の範囲を示す複数指定回数フィールド90と、このオプション値の設定が必須か否かを示す情報を格納する必須指定フィールド92とを含む。
オプション値の型としては、文字列、整数、実数、YES/NO、ファイル指定等が挙げられる。複数指定回数フィールド90には、例えば繰返しを2回以上5回以下の範囲で許す場合、「2−5」という形式で指定する。
オプションクラスは、プロパティとして図3に示したのと同様、オプション値に対する制約情報をプロパティとして記憶することができる。
本実施の形態に係る応用システム20は、コンピュータ上で動作するプログラムにより実現される。図1に示す応用システム20のうち、アプリケーション26について、オプション値のチェックに関し説明する。アプリケーション26をコマンドベースで起動する際、本システムでは二通りの起動の仕方がある。一つはコマンドラインから直接オプション値を指定する仕方である。この場合、オプション値はプログラム名の後に、「-オプション(名称)=オプション値」の形で、複数のオプションを「,」で区切りながら入力する。第2の方法は、予めオプションを指定するためのファイル(オプションファイル)を作成しておき、コマンドラインでは、オプションとして「-config=<オプションファイル名>」の形で指定する仕方である。ファイルを指定する場合には、一つだけ指定が許される。
図4に、オプションファイル30の例を示す。図4を参照して、このオプションファイル30は、XML形式で記載されたものである。このファイルによりオプションが指定されることを示す開始タグ<options>と終了タグ</options>の間に、まず開始タグ<module>と終了タグ</module>とにはさまれて、このオプションファイルが関係するモジュール名が記載され、その後に当該モジュールで使用されるオプション名及びその値が、開始タグ<option>及び終了タグ</option>の間に記載されている。これらオプション値の指定を複数のモジュールに対して行なうことができる。
最後に、モジュール共通のオプション値を開始タグ<common>及び</common>の間に記載することができる。
オプションクラスは、初期化処理において、上記したオプション/パラメータエリア62の内容を対応のプロパティ記憶領域に格納することで、以後のオプション値チェックを行なう。オプションクラスの主な機能には、次のようなものがある。
(1) 初期化
(2) オプション値の取得及び妥当性のチェック
(3) デフォルト値の設定
(4) 有効値の設定
(5) 有効範囲の設定
(6) 型の設定
(7) 複数指定回数の設定
(8) 必須の設定
(9) オプション値の設定
これらの機能は、いずれも、オプション値が充足すべき制約条件を、プロパティに格納された制約情報との関係で規定するメソッドにより実現される。これらプロパティ及びメソッドは、システムの設計時にオプションクラスとして定義され、プログラムに組込まれる。入力されるオプション値により、これら複数のメソッドにより規定される制約条件が全て充足されているか否かを検査することにより、オプション値の妥当性を検査できる。
(1)の初期化処理は、前述したとおり、モジュール定義情報ファイル40のフルパスを上位プログラムから受け取り、モジュール定義情報ファイル40の内容を読み込んでオプション値を格納するオブジェクトを生成したり、オプション値チェックのために必要な情報を設定したりする処理である。
(2)のオプション値の取得及び妥当性のチェックは、上位プログラムから、入力されたオプション値を格納したオプションファイルのフルパスを渡されたときに、当該オプションファイル内からオプション値を抽出し、初期化処理で設定されたチェックを行ないその結果を返す処理である。あるオプション値についてデフォルト値が指定されている状態で、当該オプション値の入力がない場合には、デフォルト値がそのオプション値として設定される。
(3)〜(8)は、オプション値チェックのための制約情報であるオプションクラスのプロパティを、上位プログラムから設定するための機能である。すなわち、初期化処理でオプション/パラメータエリア62からプロパティに転記した制約情報に代え、新たな制約情報をプロパティに設定することができる。これらは、新たな制約情報を引数として、(3)〜(8)に該当するメソッドを呼出すことにより実現できる。この機能により、初期化処理で設定された情報を、上位プログラムから動的に更新することができる。
(9)のオプション値の設定処理は、オプション値の取得が終わり、その妥当性が確認された後に、入力されたオプション値をそれぞれのオブジェクトに格納する処理である。
これら処理のうち、(1)、(2)及び(9)の処理について、それらを実現するメソッドの制御構造について説明する。(3)〜(8)については、オブジェクトのプロパティを変更する処理であって、当業者であれば容易に実現できるので、ここではその詳細な
説明は省略する。
図5は、初期化処理のフローチャートである。この処理では、モジュール定義情報ファイル40のフルパスが引数として与えられる。図5を参照して、ステップ160で、モジュール定義情報ファイル40を開き、その内容をメモリに読み込んでモジュール定義情報ファイル40を閉じる。ステップ162で、読込んだ情報のうち、モジュール定義情報をオプションクラスオブジェクトの所定領域に書込む。ステップ164で、モジュール定義情報ファイル40中のオプション/パラメータエリア62にある全てのオプションについて、そのオプション情報をオプションクラスオブジェクトの所定領域に書込む。
以上でオプションクラスの初期化が終了する。
図6は、オプション値の取得及び妥当性チェックを行なうメソッドのフローチャートである。ステップ180において、オプション値が格納されているオプションファイル30から、その記述内容を取得する。取得に失敗すればエラー終了する。
ステップ182において、取得した入力データの中から入力されたオプション値をタグに基づいて取得する。
ステップ184では、オプションクラスオブジェクトの「必須」プロパティにしたがって必須チェックを行なう。必須プロパティが「必須」(YES)となっているにもかかわらず入力がされていない場合、エラーとなる。それ以外の場合にはエラーなしとする。なお、オプション値が複数でもよい場合には、オプション値が一つでも入力されていればエラーなしとする。
ステップ186では、入力されたオプション値の型と、オプションクラスオブジェクトの「型」プロパティとの比較を行ない、入力されたオプション値の型と「型」プロパティとの間に矛盾がないか否かを判定する。矛盾があればエラーとする。矛盾がなければステップ188に進む。
ステップ188では、型チェックがOKであると判定されたので、入力されたオプション値を返却用変数に設定する処理が行なわれる。
ステップ190では、「有効値」に値が設定されている場合のみ、入力されたオプション値が有効値のいずれかと一致するか否かを判定する。一致しなければエラーとする。
ステップ192では、オプション値の型が数値の場合で、かつ有効範囲プロパティが設定されている場合のみ、入力されたオプション値が有効範囲内か否かを判定する処理が行なわれる。有効範囲内になければエラーとする。
ステップ194では、オプション値が複数回指定可能な場合、入力されたオプション値の個数が、複数指定回数可能として指定された範囲に含まれるか否かを判定する。範囲外であればエラーとする。
以上の処理で誤りが一つもなければ、上位プログラムでは入力されたオプション値を利用できる。さもなければ再度ユーザからの入力を受取る。また、エラーが一つでも見つかればその時点で検査を終了し、オプション値が妥当でないことを示す検査結果を戻り値として返す。
なお、図6の説明では、オプションクラスオブジェクトの各属性には、正しい情報が設定されていることを前提として説明した。仮に設定情報に誤りがあれば、入力されたオプション値のいかんにかかわらずエラーとする。
図7は、オプション値の設定処理のフローチャートである。この処理では、既にチェックがなされ正しいと判定されたオプション値が、「オプション名=オプション値」(「=」は半角)を半角空白で連結した形でオプションクラスオブジェクトに渡される。
ステップ200では、与えられたオプション値を半角空白で分割する。ステップ202では、分割した文字列を半角「=」で分割する。半角「=」がない場合、又は複数存在する場合にはエラー終了する。半角「=」の後がない場合、オプション値を空とする。
ステップ204で、分割で得られたオプション名により設定対象のオプションを特定し、そのオプション値を取得する。設定対象データが存在しない場合にはエラー終了する。
ステップ206では、ステップ204で読み出されたオプション値が、ステップ202で分割により得られたオプション値と等しいか否かを判定する。等しければステップ208に進み、さもなければステップ210に進む。
ステップ210では、オプション値に対応するオブジェクトの対応するプロパティにオプション値を保持させる。ステップ212で、オプション値設定リストに当該オプションのオプション名を追加する。この後ステップ208に進む。
ステップ208では、ステップ200において分割されたオプション値入力のうち、設定対象のオプション値がまだ残っているか否かを判定する。もし残っていればステップ202に戻り、次のオプション値についてステップ202以下の処理を繰返す。残っていなければ処理を終了する。
[コンピュータによる実現]
この実施の形態のシステムは、上記したようにコンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図8はこのコンピュータシステム330の外観を示し、図9はコンピュータシステム330の内部構成を示す。
図8を参照して、このコンピュータシステム330は、FD(フレキシブルディスク)ドライブ352及びCD−ROM(コンパクトディスク読出専用メモリ)ドライブ350を有するコンピュータ340と、キーボード346と、マウス348と、モニタ342とを含む。
図9を参照して、コンピュータ340は、FDドライブ352及びCD−ROMドライブ350に加えて、CPU(中央処理装置)356と、CPU356、FDドライブ352及びCD−ROMドライブ350に接続されたバス366と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)358と、バス366に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)360とを含む。コンピュータシステム330はさらに、プリンタ344を含んでいる。コンピュータ340はさらに、ローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボード368を含む。
コンピュータシステム330に汎用データチェック装置としての動作を行なわせるためのコンピュータプログラムは、CD−ROMドライブ350又はFDドライブ352に挿入されるCD−ROM362又はFD364に記憶され、さらにハードディスク354に転送される。又は、プログラムはネットワークを通じてコンピュータ340に送信されハードディスク354に記憶されてもよい。プログラムは実行の際にRAM360にロードされる。CD−ROM362から、FD364から、又はネットワークを介して、直接にRAM360にプログラムをロードしてもよい。
図5〜図7に示したような制御構造を有する、オプションクラスのメソッドは、それぞれコンピュータ340を制御する複数の命令を含む。これら命令の実行に必要な基本的機能のいくつかはコンピュータ340上で動作するOS又はサードパーティのプログラム、若しくはコンピュータ340にインストールされる各種ツールキットのプログラムにより提供される。従って、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記した汎用データチェック装置を実現することができる命令のみを含んでいればよい。コンピュータシステム330自体の動作は周知であるので、ここでは繰返さない。
以上のように本実施の形態に係る汎用データチェック装置は、モジュールのオプション値の制約に関する記述を統一した記法でモジュール定義情報ファイルに記述しておくことで、いずれのプログラムからも利用することができる。また、複数のモジュールのどのオプション値に対しても共通のオプションクラスを用いることで値のチェックができるので、オプション値の妥当性に関するチェックルーチンを各プログラム内に書く必要がなくなるだけでなく、オプションごとに別々のルーチンを作成する必要もない。したがってプログラマの負担を大きく軽減でき、かつ、プログラマの技量に影響されず、均質で信頼性の高いシステムを構築できる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
本発明の一実施の形態に係る応用システム20のブロック図である。 モジュール定義情報ファイル40の構造を模式的に示す図である。 オプション/パラメータ情報70の構造を模式的に示す図である。 オプション値を定めたオプションファイル30の一例を示す図である。 本発明の一実施の形態に係る汎用データチェック装置を実現するオプションクラスの初期化メソッドの制御構造を示すフローチャートである。 オプションクラスのオプション値取得及び妥当性チェックのためのメソッドの制御構造を示すフローチャートである。 オプションクラスのオプション値設定のためのメソッドの制御構造を示すフローチャートである。 図1に示す応用システム20を実現するコンピュータハードウェアの外観図である。 図8に示すコンピュータシステムのブロック図である。
符号の説明
20 応用システム、22 モニタ、24 入力装置、26,26A〜26C アプリケーション、28,28A〜28M オプションクラスオブジェクト、30 オプションファイル、40,40A〜40M モジュール定義情報ファイル、50 物理的モジュール名称フィールド、52 表示用モジュール名称フィールド、54 説明テキストフィールド、56 作成者名フィールド、58 バージョン情報フィールド、60 セキュリティ制約情報フィールド、62 オプション/パラメータエリア、70 オプション/パラメータ情報、80 オプション名フィールド、82 デフォルト値フィールド、84 有効値フィールド、86 有効範囲フィールド、88 型フィールド、90 複数指定回数フィールド、92 必須指定フィールド

Claims (4)

  1. プログラムのオプションに対して入力されるデータの妥当性を検査するための汎用入力データ検査装置であって、当該汎用入力データ検査装置は、前記プログラムで使用される、あるオプション値に対するオプション制約情報を複数個記憶するための記憶手段とともに用いられ、
    前記複数個の前記オプション制約情報は、いずれも前記あるオプション値に関するものであり、
    前記汎用入力データ検証装置は、
    前記記憶手段に記憶された前記複数個のオプション制約情報のうちからオプション制約情報の指定を受けると、指定されたオプション制約情報を前記記憶手段から読出して、前記指定されたオプション制約情報に記述された複数の制約情報をそれぞれ記憶するための複数の制約情報記憶手段と、
    前記複数の制約情報記憶手段に対応して設けられ、前記あるオプション値が充足すべき所定の制約条件をそれぞれ規定している複数のプログラムルーチンをそれぞれ記憶するための複数の制約条件規定手段とを含み
    前記複数のプログラムルーチンの各々は、対応の前記制約情報記憶手段に記憶される前記制約情報とオプション値との比較をすることにより、前記所定の制約条件が当該オプション値により充足されているか否かを判定する機能を持ち、
    前記汎用入力データ検査装置はさらに、入力される前記あるオプション値により、前記複数のプログラムルーチンにより規定されている前記制約条件が全て充足されているか否かを、前記複数の制約条件規定手段に記憶されている前記複数のプログラムルーチンを実行することによって検査するための検査手段とを含む、汎用入力データ検査装置。
  2. 前記汎用入力データ検査装置はさらに、前記複数の制約情報のうちの一つを新たな制約情報で更新すべき指定を受けたことに応答して、当該指定された制約情報を記憶した前記制約情報記憶手段の記憶内容を、前記新たな制約情報で更新するための制約情報更新手段を含む、請求項1に記載の汎用入力データ検査装置。
  3. 前記検査手段は、入力される前記あるオプション値により、前記複数のプログラムルーチンにより規定されている前記複数の制約条件が全て充足されているか否かを検査し、前記複数の制約条件のうち、前記入力されるオプション値によって充足されないものがあれば、他の制約条件についての検査を省略し、データが妥当でないことを示す検査結果を出力するための手段を含む、請求項1又は請求項2のいずれかに記載の汎用入力データ検査装置。
  4. コンピュータにより実行されると、当該コンピュータを請求項1〜請求項3のいずれかに記載の汎用入力データ検査装置として動作させる、コンピュータプログラム。
JP2004104088A 2004-03-31 2004-03-31 汎用入力データ検査装置及びプログラム Expired - Fee Related JP4854058B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004104088A JP4854058B2 (ja) 2004-03-31 2004-03-31 汎用入力データ検査装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004104088A JP4854058B2 (ja) 2004-03-31 2004-03-31 汎用入力データ検査装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2005292980A JP2005292980A (ja) 2005-10-20
JP4854058B2 true JP4854058B2 (ja) 2012-01-11

Family

ID=35325875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004104088A Expired - Fee Related JP4854058B2 (ja) 2004-03-31 2004-03-31 汎用入力データ検査装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4854058B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0782472B2 (ja) * 1985-12-24 1995-09-06 富士通株式会社 コマンド解析処理装置
JPH0511989A (ja) * 1991-07-08 1993-01-22 Nec Corp パラメータ解析装置

Also Published As

Publication number Publication date
JP2005292980A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
US8887135B2 (en) Generating test cases for functional testing of a software application
US9536023B2 (en) Code generation for using an element in a first model to call a portion of a second model
US10437574B2 (en) System and method for providing code completion features for code modules
WO2020134633A1 (zh) 一种应用程序的开发方法、装置及集成开发工具
US20070168909A1 (en) System And Method For Context-Sensitive Help In A Design Environment
US8850388B2 (en) Controlling application features
US7634722B2 (en) Reversible logic for widget and markup language generation
US20120110560A1 (en) Data type provider for a web semantic store
US8201147B2 (en) Generic XAD processing model
US10289430B2 (en) Interactive user interface for metadata builder
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
US7730495B2 (en) Declaratively defined control actions
US8776010B2 (en) Data type provider for a data store
US11573972B2 (en) Automatically determining flags for a command-line interface in a distributed computing environment
US20110126171A1 (en) Dynamic native editor code view facade
US7966562B1 (en) System and method for providing domain-sensitive help
JP2009059351A (ja) コンピュータソースコードに対して行われる操作を記録するためのシステム、方法、及びコンピュータプログラム製品
JP2009048485A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
US20200167049A1 (en) Context menu fragment management
US8745587B2 (en) System and method for testing computer programs
JP4854058B2 (ja) 汎用入力データ検査装置及びプログラム
US10545729B2 (en) Computer program interface
US6763516B2 (en) Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program
US20060041865A1 (en) System and method for debugging programs
JP7163879B2 (ja) データフロー生成装置、その方法、およびそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111024

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4854058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees