(57)【要約】【課題】列車運行管理の特情処理プログラムの開発に際して、これまでの開発実績を管理し、新たに開発する特情処理プログラムに対する流用のプロセスを提案することにより運行管理システムの開発期間を縮減し、開発コストを低減する。【解決手段】過去に開発した特情処理プログラムを指摘された不具合とともに格納した特情処理データベース１０２と、新規に作成された特情処理プログラムを指摘された不具合とともに前記特情処理データベースに書き込む登録部１０７と、入力端末から入力されたキーワードをもとに前記特情処理データベースを検索して、開発の参考にしたい特情処理プログラムを抽出し、抽出した特情処理プログラムを前記入力端末に表示する検索部１０８とを備え、過去の特情処理プログラムを再利用して新規の特情処理プログラムの生成を支援する。  【選択図】図１
2011065274.tif 000002
【特許請求の範囲】
【請求項１】
過去に開発した特情処理プログラムを指摘された不具合とともに格納した特情処理データベースと、
新規に作成された特情処理プログラムを指摘された不具合とともに前記特情処理データベースに書き込む登録部と、
入力端末から入力されたキーワードをもとに前記特情処理データベースを検索して、開発の参考にしたい特情処理プログラムを抽出し、抽出した特情処理プログラムを前記入力端末に表示する検索部とを備え、
過去の特情処理プログラムを再利用して新規の特情処理プログラムの生成を支援することを特徴とする特情処理プログラム生成支援方法。
【請求項２】
請求項１記載の特情処理プログラム生成支援方法において
入力端末から入力された、特情処理プログラムの仕様をもとに、流用可能な複数の特情処理プログラムを前記特情処理データベースから検索し、検索した特情処理プログラムを組み替える流用する方法を計算し、その結果を前記入力端末に表示する提案部とを備え、
過去の特情処理プログラムを再利用して新規の特情処理プログラムの生成を支援することを特徴とする特情処理プログラム生成支援方法。
【請求項３】
請求項１記載の特情処理プログラム生成支援方法において、
前記検索部は、検索に用いた複数のキーワードのうち、最もヒットしなかったキーワードがヒットした数をもとに関連度を査定することを特徴とする特情処理プログラム生成支援方法。
【請求項４】
請求項３記載の特情処理プログラム生成支援方法において、
関連度が同一である場合、最初に入力したキーワードがヒットした数をもとに関連度を査定することを特徴とする特情処理プログラム生成支援方法。
【請求項５】
請求項２記載の特情処理プログラム生成支援方法において、
提案部は、入力端末を介して入力された新たに作成したい特情処理プログラムの仕様に合致するフローチャートを作成し、作成したフローチャートをもとに、特情処理データベースから類似した特情処理プログラムを検索し、検索した特情処理プログラムを前記新たに作成したい特情処理プログラムに近くなるように組み替え、組み替えたプログラムを提案内容として特情処理データベースに格納することを特徴とする特情処理プログラム生成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特情処理プログラム生成支援方法に係り、特に、新たに開発する特情処理プログラムの開発を過去の設計情報を再利用して支援する特情処理プログラム生成支援方法に関する。
【背景技術】
【０００２】
列車運行管理システムは、それぞれのシステムによって管轄する線区の構成に相違があることから、システムの開発に際しては列車制御条件を連動図表に基づいて手作業で入力してプログラミングを行うことが多く、長い開発期間と莫大な開発コストを要している。
【０００３】
運行管理システムの開発にかかるコストを低減する方法として、列車制御条件や連動図表に記載している信号機の鎖錠条件等から自動的に列車制御プログラムを生成する装置が知られている（特許文献１参照）。
【０００４】
また、システムの開発期間を低減させる方法として、プログラムを流用する方法が知られている。プログラムを効率的に流用する方法として、新規システムの仕様の内容を基に最適な流用元プログラムを探し出して設計者に提案する設計支援装置が開発されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１１８２２号公報
【特許文献２】特開平９−２１２３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
列車運行管理には、ある特定の場所のみに適用される処理、あるいはある特定の場所のみを例外とした運行管理方法である特情処理（通常パターンで行う処理では当てはまらず、特別に作り込みを行わなければならない処理（特殊仕様の処理））というものが存在する。例えば、環状線を周回する列車の列番管理、あるいはある複線区間を単線線路２本とみなした進路制御などである。また、ある列車がＡ駅，Ｂ駅，Ｃ駅を走行する場合、運行管理システムでは各駅の信号機を制御して列車を走行させる。列車を走行させる一般的な方法として、「列車が信号機を制御する地点（制御点）を通過したことを検知してその駅の信号機を制御する処理」があり、この処理を前記各駅に当てはめていけばよいはずであるが、前記Ａ駅、Ｂ駅には適用できても、Ｃ駅では線路の形あるいは信号設備の関係で適用できない場合がある。この場合にはＣ駅には新たに別の処理を作成して組み込む必要がある。この新たに組み込む処理の内容を「特情」と称している。
【０００７】
特情処理は、特定の列車、駅、信号機にしか適用されないことが殆どであり、自動的にプログラムを生成しただけでは不充分である。また、その処理が複雑なものであるならば、プログラムはゼロから開発せざるを得ず、長い開発期間を要してしまう。
【０００８】
また、新規に開発する特情処理が過去の開発において例がない場合には、プログラムの流用で開発期間を縮減することはできない。このような場合には、既存のプログラムの最適な組み合わせ、あるいは最適なモジュールの組み合わせを設計者に提案することが必要となる。
【０００９】
本発明は、列車運行管理の特情処理プログラムの開発に際して、これまでの開発実績を管理し、新たに開発する特情処理プログラムに対する流用のプロセスを提案することにより運行管理システムの開発期間を縮減し、開発コストを低減するものである。
【課題を解決するための手段】
【００１０】
本発明は上記課題を解決するため、次のような手段を採用した。
【００１１】
過去に開発した特情処理プログラムを指摘された不具合とともに格納した特情処理データベースと、新規に作成された特情処理プログラムを指摘された不具合とともに前記特情処理データベースに書き込む登録部と、入力端末から入力されたキーワードをもとに前記特情処理データベースを検索して、開発の参考にしたい特情処理プログラムを抽出し、抽出した特情処理プログラムを前記入力端末に表示する検索部とを備え、過去の特情処理プログラムを再利用して新規の特情処理プログラムの生成を支援する。
【発明の効果】
【００１２】
本発明は、以上の構成を備えるため、運行管理システムの特情処理プログラムの開発期間を縮減し、開発コストを低減することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る特情処理管理システムの構成を説明する図である。
【図２】入力端末に表示される登録画面の例を示した図である。
【図３】入力端末に表示される不具合内容作成画面を説明する図である。
【図４】検索機能部の処理を説明する図である。
【図５】摘出機能部の処理を説明する図である。
【図６】提案機能部の処理を説明する図である。
【図７】提案内容の例を示す図である。
【図８】関連度を比較する例を示す図である。
【図９】関連度を比較する例を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施形態を添付図面を参照しながら説明する。図１は、本実施形態に係る特情処理管理システムの構成を説明する図である。
【００１５】
特情処理管理システムは管理サーバ１０１および入力端末１０３を備える。入力端末１０３の台数に制限は無い。管理サーバ１０１は特情処理データベース１０２を備え、特情処理データベース１０２には過去に開発された特情処理が複数格納されている。
【００１６】
例えば、特情処理データベース１０２には、既開発の特情処理、すなわち特情処理の詳細内容１０４、開発中に指摘された不具合内容１０５、特情処理開発中に作成したプログラム１０６を入力端末１０３を介して入力して格納する。
【００１７】
本実施形態の特情処理システムは、登録、検索、摘出、提案の４つの機能部を備える。登録機能部１０７は新規で作られた特情処理を、入力端末１０３を介して特情処理データベース１０２内の空になっているアドレスに書き込む機能を有する。検索機能部１０８は参考にしたい特情処理の名称またはキーワードを入力端末１０３から入力し、管理サーバ１０１により特情処理データベース１０２の中から類似する特情処理を検索し、その結果を関連性の深い順に表示する。摘出機能部１１０は検索機能部１０８で検出した特情処理の中から参考となるプログラムを管理サーバ１０１からダウンロードする。提案機能部１０９は新たに作成したい特情処理の仕様を入力端末１０３から入力し、管理サーバ１０１が特情処理データベース１０２の中から類似した特情処理を検索し、その検索結果を流用し、あるいは組み合わせて、前記仕様に沿った最適なプログラムを生成し表示する。
【００１８】
図２は、入力端末１０３に表示される登録画面の例を示した図である。図２に示すように、新規に登録する特情処理の名称２０１、キーワード２０２、特情処理の詳細内容２０３を入力することができる。
【００１９】
登録しようとする特情処理に対する指摘された不具合内容は不具合内容作成ボタン２０５を押下して入力する。不具合内容作成ボタン２０５は図３に示す不具合内容作成画面にリンクしている。
【００２０】
図３は入力端末１３に表示される不具合内容作成画面であり、指摘された不具合の名称３０１、指摘された不具合の詳細内容あるいは事象３０２、不具合を起こした原因３０３、不具合に対して実施した対策内容３０４を入力する。指摘された不具合内容は不具合内容作成完了ボタン３０５を押下することにより登録される。なお、不具合内容作成完了ボタン３０５を押下すると、画面は図２に戻る。このとき、指摘された不具合一覧２０４に指摘された不具合の名称３０１が上書きされる。指摘された不具合内容は特情処理が特情処理データベース１０２に登録されるまでは何回でも修正可能である。また、図２の例では、指摘された不具合一覧２０４において未作成の不具合内容は未登録として扱っている。
【００２１】
作成したプログラムの登録は、登録プログラムアドレスバー２０６に作成したプログラムのアドレスを入力または登録プログラムアドレス参照ボタン２０７を押下して登録したいファイルを選択することにより登録できる。登録プログラムアドレス参照ボタン２０７からファイルを選択して登録した場合は、選択したプログラムのアドレスが登録プログラムアドレスバー２０６に自動で上書きされる。作成プログラムにおいても特情処理が特情処理データベース１０２に登録されるまでは何回でも修正可能である。
【００２２】
新規特情処理登録ボタン２０８を押下すると、特情処理の名称２０１、キーワード２０２、特情処理の詳細内容２０３、指摘された不具合内容が特情処理データベース１０２に転送される。同時に作成したプログラムを、登録プログラムアドレスバー２０６に記入された場所から特情処理データベース１０２にコピーする。入力端末で記入した特情処理の名称２０１、キーワード２０２、特情処理の詳細内容２０３、指摘された不具合内容（３０１、３０２、３０３、３０４）は特情処理データベース１０２に反映され、かつ、作成プログラムが格納場所から特情処理データベース１０２にコピーされることにより新規特情処理の登録が完了する。
【００２３】
図４は検索機能部の処理を説明する図である。検索機能部では、まず、入力端末１０３を介して検索したい特情処理の名称とキーワードを入力する（Ｓ４０１）。その後、この入力内容を管理サーバ１０１に転送する（Ｓ４０２）。このとき、特情処理の名称またはキーワードの何れかが入力されている場合にのみファイルを転送し、いずれも入力されていない場合には、入力端末から検索をしようとしても転送処理は行わない。
【００２４】
管理サーバ１０１は、入力端末１０３から入力した特情処理の名称またはキーワードにヒットする特情処理を検索する。ヒットした特情処理には検索条件にどの程度近似するかを表す関連度というパラメータを定義する（Ｓ４０３）。
【００２５】
関連度は、検索した名称やキーワードが特情処理の内容１０４の中でどれだけ使われたかをカウントし、多くカウントされたものほど関連度を高く設定する。複数のキーワードで検索した場合は、全てのキーワードが均等にヒットしているかを査定するため、最もヒットしなかったキーワードのヒット数を数えてその数が多いものほど関連度を高く設定する。最もヒットしなかったキーワードのヒット数が同一である場合は最初に入力したキーワードのヒット数が多いものほど関連度を高く設定する。最初のキーワードのヒット数も同一のときは２番目、３番目のキーワードのヒット数というように順に比較する。
【００２６】
関連度を比較する例を図８，図９に示す。図８では周回列車という１つのキーワードを用いて検索を行った場合に、２つの特情処理がヒットしたものとする。ここでは特情処理１の方が特情処理２よりも多くヒットしているので関連度は特情処理１が特情処理２よりも高い。図９では周回列車、運転整理、抑止の３つのキーワードを用いて検索を行った場合３つの特情処理がヒットしたものとする。特情処理１と特情処理２では全てのキーワードが３つ以上ヒットしているのに対し、特情処理３では１個しかヒットしていない。このため、特情処理３は特情処理１および２に比して関連度は低くなる。特情処理１と特情処理２は最もヒットしなかったキーワードのヒット数は同じであるが、最初のキーワードである「周回列車」のヒット数で比べると特情処理２の方が特情処理１よりも多い。そのため、関連度は特情処理２の方を特情処理１より高く設定する。
【００２７】
関連度を求めた後は、検索結果を関連度の高い順にソートする（Ｓ４０４）。検索結果をソートした後、例えば関連度順にヒットした特情処理を指定して、その名称、内容、指摘された不具合内容、登録プログラム名を検索部１０８にコピーする（Ｓ４０５）。なお、登録プログラム名に関しては摘出機能部からの要求を受けることができるように格納アドレスへのリンクを設定しておく。ヒットした全ての特情処理のコピーが終了すると、管理サーバ１０１は入力端末１０３に向けて検索結果内容（前記コピー内容）を転送する（Ｓ４０６）。入力端末１０３はデータを受領するとその内容（検出結果一覧）を表示する（Ｓ４０７）。設計者はその表示内容を参酌して特情処理プログラムを開発する。
【００２８】
図５は摘出機能部１１０の処理を説明する図である。検索機能部が表示する検索結果一覧には検索したプログラム名称が表示されるのみでありプログラムを得ることができない。このため、入力端末を操作して、検索結果一覧で表示されたプログラム名称を選択し、特情処理データベース１０２に対して転送を要求する（５０１）。要求を受けた特情処理データベース１０２は該当するプログラムソースを探し出し、入力端末１０３に転送する（５０２）。設計者は転送されたプログラムの内容を参酌して特情処理プログラムを開発する。
【００２９】
図６は提案機能部１０９の処理を説明する図である。まず、入力端末１０３を介して新たに作成したい特情処理の仕様およびキーワードを入力する（Ｓ６０１）。仕様としては、処理の順序および分岐条件等を入力するものとし、フローチャートが作成できるレベルの入力とする。なお、キーワードは類似する特情処理の検索に使用される。次いで、これらの入力端末１０３からの入力内容を管理サーバ１０１に転送する（Ｓ６０２）。このとき、仕様が入力されている場合にはファイルを転送するものとする。したがってキーワードが未入力の場合でも転送処理を中止することはない。
【００３０】
前記仕様が入力端末１０３から管理サーバの提案部１０９に転送されると、提案部は入力された仕様内容を基にフローチャートを作成する（Ｓ６０３）。フローチャートを作成できない場合はエラーを返して未完のフローチャートを消去する。フローチャートが作成できると、入力された前記キーワードを用いて特情処理データベース１０２を検索し、作成したい特情処理に類似した処理を行っているプログラムを検索する（Ｓ６０４）。検索でヒットしたプログラムは、関連プログラムとして定義し、この関連プログラムを、前記管理サーバ１０１の提案部で作成したフローチャートに近くなるように組替える（Ｓ６０５）。この組替えは以下の手順で行う。
【００３１】
１）関連プログラムの内容を全てフローチャートにする。
【００３２】
２）管理サーバ１０１の提案部で作成したフローチャートと前記関連プログラムのフローチャートを比較する。
【００３３】
３）少しでも重複する処理があれば重複部分として登録する。
【００３４】
関連プログラムの全てに対して組替え処理が終わったら、重複部分を組み合わせて関連プログラムを基に作成したフローチャートを提案内容として登録する（Ｓ６０６）。
【００３５】
提案内容の登録が終わると、管理サーバ１０１の提案部は入力端末１０３に向けて提案結果内容を転送し、同時に関連プログラムも転送する（Ｓ６０７）。入力端末１０３はデータを受領するとその内容を表示する（Ｓ６０８）
図７は、提案内容の例を示す図である。重複した部分は破線で囲み、重複したプログラムには、その名称と重複部分の行番号を記入している。複数のプログラムで重複した場合は複数列挙する（Ｓ７０１）。このとき、プログラム名称にはダウンロードできるリンクを設定しておく。これによりプログラム名称を選択するとダウンロードすることができる。重複部分は１箇所に限らず、何箇所でも表示できる（Ｓ７０２）。関連プログラム中に最適なプログラムがない場合には、管理サーバの提案部が作成したフローチャートにコメントを付してプログラムの作成を促す（Ｓ７０３）。
【００３６】
以上説明したように、本実施形態によれば、ゼロから開発することが多かった運行管理システムの特情処理の開発において、過去の開発実績を基に特情処理の開発のサポートし、特情処理の開発労力を低減するので、運行管理システムの開発期間を短縮し、製作コストを低減することができる。また、過去の不具合事例を参照できることから、新たな特情処理を開発する際に注意すべき点を事前に把握することができる。
【符号の説明】
【００３７】
１０１  管理サーバ
１０２  特情処理データベース
１０３  入力端末
１０７  登録部
１０８  検索部
１０９  提案部
【図１】
2011065274.tif 000003
【図２】
2011065274.tif 000004
【図３】
2011065274.tif 000005
【図４】
2011065274.tif 000006
【図５】
2011065274.tif 000007
【図６】
2011065274.tif 000008
【図７】
2011065274.tif 000009
【図８】
2011065274.tif 000010
【図９】
2011065274.tif 000011