(57)【要約】【課題】  機器・設備の追加や新規区間への展開等による鉄道運行管理システムに対する改修や新機能追加要求に対し、システムのどの部分を改修したらよいのかを視覚的に示す。【解決手段】  鉄道運行管理システムの変更内容と、鉄道が運行する地域の特性、制御を変更する対象、及び変更される機能とを階層的に関連付けて格納する契機ＤＢ102を備え、入力I/F207により鉄道運行管理システムの変更内容を含む要求機能情報106の入力を受け付け、演算処理装置204が、要求機能情報106に含まれる変更内容の上位階層となる、制御を変更する対象または地域の特性を契機ＤＢ102より検索し、検索した対象または地域の特性の下位階層となる変更内容を契機ＤＢ102よりさらに検索し、変更内容と、変更内容の上位階層の機能、対象、および地域の特性を関連機能情報として出力デバイス203に表示する。【選択図】図3
2011008307.tif 000002
【特許請求の範囲】
【請求項１】
鉄道運行管理システムの変更作業を支援する方法であって、
コンピュータの記憶装置が、前記鉄道運行管理システムの変更内容と、鉄道が運行する地域の特性、制御を変更する対象、および変更される機能とを階層的に関連付けて格納するデータベースを備え、
コンピュータの入力部により、前記鉄道運行管理システムの変更内容を含む要求機能情報の入力を受け付ける第１のステップと、
コンピュータの演算部により、入力された前記要求機能情報に含まれる変更内容の上位階層となる、制御を変更する対象または地域の特性を前記データベースより検索する第２のステップと、
コンピュータの演算部により、検索した前記対象または地域の特性の下位階層となる、前記要求機能情報に含まれる変更内容とは別の変更内容を前記データベースよりさらに検索する第３のステップと、
コンピュータの表示部により、前記別の変更内容、前記別の変更内容の上位階層となる前記機能、対象、および地域の特性を関連機能情報として表示する第４のステップと、
を備えることを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記記憶装置が、前記鉄道運行管理システムのプログラムのデータフローに関する情報を格納し、
前記演算部により、前記データフローに関する情報を用いて、前記関連機能情報に含まれる変更内容に該当する前記プログラムの変更箇所を抽出する第５のステップをさらに備え、
前記第４のステップにおいて、前記表示部により、抽出した前記変更箇所を表示することを特徴とする方法。
【請求項３】
請求項２に記載の方法であって、
前記記憶装置が、前記鉄道運行管理システムの機能仕様書や設計仕様書と前記プログラムのソースコードとを関連付けたトレーサビリティマトリクスを格納し、
前記第５のステップにおいて、前記演算部により、前記データフローに関する情報およびトレーサビリティマトリクスを用いて、前記プログラムの変更箇所を抽出することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鉄道運行管理システムの変更作業を支援する技術に関する。
【背景技術】
【０００２】
ソフトウェアの解析情報や、ソフトウェアプロジェクトの情報を検索することで、ソースコードの変更・改修に対する影響範囲を特定する技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１７２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
鉄道運行管理システムのように、10年〜20年運用し続けるシステムは、長い運用期間の間に、新機能の追加や不具合の修正等様々な改修が行われる。このような大規模なシステムは、複数のシステムやソフトウェアが寄り集まって構成されているため、特許文献１のように個々のソフトウェアプロジェクトやソフトウェアを検索するだけでは、変更・改修に対する全体の影響範囲を見ることが困難である。
【０００５】
例えばある変更を要求されたとき、要求された理由（契機）によっては、他の制御処理についても変更が必要であることが考えられる。共有のデータを利用するソフトウェア同士であれば、データフロー図やトレーサビリティマトリクスを用いてその関連する範囲を把握することができるが、共有データを持たないソフトウェアやプログラム間にまたがる場合には、同一の契機によって変更が必要な他の処理まで把握することは難しい。
【０００６】
また、従来、経験のある有識者が鉄道運行管理システムを構成するソフトウェアの変更・改修を行ってきたが、長期運用を行うシステムにおいては、全体を把握している有識者が世代交代や異動により存在しなくなることが考えられる。
【０００７】
有識者に頼らずソフトウェアの変更を行うためには、機器・設備の追加や新規区間への展開等による新機能追加要求に対し、システムのどの部分を変更・改修したらよいのかを視覚的に示し、生産性の向上をはかることが課題となる。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明が提供する鉄道運行管理システムの変更作業支援方法は、コンピュータの記憶装置が、鉄道運行管理システムの変更内容と、鉄道が運行する地域の特性、制御を変更する対象、および変更される機能とを階層的に関連付けて格納するデータベースを備え、コンピュータの入力部により、鉄道運行管理システムの変更内容を含む要求機能情報の入力を受け付ける第１のステップと、コンピュータの演算部により、入力された要求機能情報に含まれる変更内容の上位階層となる、制御を変更する対象または地域の特性をデータベースより検索する第２のステップと、コンピュータの演算部により、検索した対象または地域の特性の下位階層となる、要求機能情報に含まれる変更内容とは別の変更内容をデータベースよりさらに検索する第３のステップと、コンピュータの表示部により、前記別の変更内容、その変更内容の上位階層となる機能、対象、および地域の特性を関連機能情報として表示する第４のステップと、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、鉄道運行管理システムへの新規機能追加時に変更・改修が必要な箇所を視覚的に示すことにより、生産性の向上をはかることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるマイグレーション支援システム101のシステム構成図である。
【図２】本実施形態におけるマイグレーション支援システム101を実行するためのハードウェア構成図である。
【図３】本実施形態における契機DB102が保持するデータの階層例である。
【図４】本実施形態におけるマイグレーション支援システム101の全体処理フローを示した図である。
【図５】本実施形態における要求機能情報106の内容例を示す図である。
【図６】本実施形態における契機ＤＢ102に登録されたデータのフォーマットを示す図である。
【図７】本実施形態における関連機能解析部108による契機検索処理を示す図である。
【図８】本実施形態における関連機能解析部108による出力動作を示す図である。
【図９】本実施形態におけるＤＦＤ ＤＢ103のデータ構成例を示す図である。
【図１０】本実施形態におけるＴＭ ＤＢ104のデータ構成例を示す図である。
【図１１】本実施形態における影響範囲解析部110による影響範囲検索手順を示す図である。
【図１２】本実施形態におけるマイグレーション支援システム101の出力結果イメージを表す図である。
【図１３】本実施形態における影響範囲詳細情報の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態について、図1〜13を用いて説明する。
図1は本実施形態のマイグレーション支援システム101のシステム構成を表すブロック図である。本実施形態を実現するソフトウェアは一般的なＰＣ108により実行され、要求機能情報106を入力として、影響範囲情報107を表示画面に出力する。
【００１２】
符号101はマイグレーション支援システム、符号102は契機ＤＢ（ＤａｔａＢａｓｅ）、符号103はＤＦＤ ＤＢ（Ｄａｔａ Ｆｌｏｗ Ｄｉａｇｒａｍ ＤａｔａＢａｓｅ）、符号104はＴＭ ＤＢ（Ｔｒａｃｅａｂｉｌｉｔｙ Ｍａｔｒｉｘ ＤａｔａＢａｓｅ）、符号106は要求機能情報、符号107は影響範囲情報、符号108は関連機能解析部、符号109は関連機能情報、符号110は影響範囲解析部である。
【００１３】
マイグレーション支援システム101は鉄道運行管理システムのマイグレーション（変更・改修）対象プログラムに対し、変更・改修の契機に基づいた影響範囲を抽出、出力するシステムであり、本システムを実現するプログラムは主に関連機能解析部108、影響範囲解析部110から構成されている。
【００１４】
関連機能解析部108は、契機ＤＢ102、影響範囲解析部110と接続されており、要求機能情報106の入力を契機として、契機ＤＢ102を検索し、要求機能情報106に対応した関連機能情報109を出力する機能を有する。
【００１５】
このとき、要求機能情報106はマイグレーションを行う際の変更・改修部分を示す情報であり、関連機能解析部108は、変更・改修契機の情報を保持するＤＢである契機ＤＢ102を要求機能情報106を用いて検索し、要求機能情報106に対応する関連機能リストである、関連機能情報109を出力する。
【００１６】
ここで、この関連機能情報109は契機ＤＢ102の検索結果であり、関連機能解析部108によって要求機能情報106に対応した契機ＤＢ102レコードを抜き出されたものである。また、関連機能情報109は影響範囲解析部110に対する入力となる。
【００１７】
上記の要求機能情報106のフォーマットについては、以降、図5で、契機ＤＢ102の保持する情報については図6で、関連機能解析部108の動作については図７、図８を用いて詳細に説明する。
【００１８】
影響範囲解析部110は、ＤＦＤ ＤＢ103、ＴＭ ＤＢ104、関連機能解析部108と接続されており、関連機能解析部108から出力された関連機能情報109を入力とし、この関連機能情報109に対応する影響範囲情報107を出力する。
【００１９】
ここで、ＤＦＤ ＤＢ103はマイグレーション対象プログラムのデータフローを保持するＤＢであり、プログラム間で共通利用するグローバルデータに関してグローバルデータを利用する関数名と、グローバルデータを利用している関数におけるグローバルデータ参照(読出/書込)箇所を定義しているＤＢである。ＴＭ ＤＢ104はマイグレーション対象プログラムの機能仕様書や設計仕様書とソースコードとを関連付けたトレーサビリティマトリクスの情報を保持するＤＢである。影響範囲解析部110は、関連機能情報109に対応する情報を、この２つのＤＢに格納されているデータより検索し、マイグレーションの際に発生する、プログラムソース上の影響範囲が記載された、影響範囲情報107を出力する。
【００２０】
このＤＦＤ ＤＢ103、ＴＭ ＤＢ104、影響範囲情報107の保持する情報については、以降、図9、図10、図12、13を用いて詳細に説明し、また、影響範囲解析部110の動作については、以降、図11を用いて詳細に説明する。
【００２１】
上記のような構成を持つマイグレーション支援システム101を用いることによって、要求機能から関連機能、関連プログラムまで網羅的に影響範囲を調査することができる。
【００２２】
図2はマイグレーション支援システム101を実行するためのハードウェア構成図であり、例えば、一般的なPCで実現できる。
図2において、符号201は計算機、符号202は入力デバイス、符号203は出力デバイス、符号204は演算処理装置、符号205は不揮発性記憶装置、符号206は揮発性記憶装置、符号207は入力I/F、符号208は出力I/F、符号209は大容量不揮発性記憶装置、符号210は内部バス、符号211は外部バス、符号212は契機ＩＤ記憶部、符号213は契機カテゴリ記憶部である。
【００２３】
計算機201はマイグレーション支援システム101を実行する計算機で、一般的なPCを含むものであり、演算処理装置204、不揮発性記憶装置205、揮発性記憶装置206、出力I/F208から構成されている。
【００２４】
入力デバイス202はマウスやキーボードといった人間が入力動作を行う装置や、不揮発性メモリやディスク装置等のデータ入力装置であり、入力I/F207と接続されている。
出力デバイス203はマイグレーション支援システム101の出力を表示するための装置で、一般的なディスプレイやプリンタ等を含み、出力I/F208と接続されている。
【００２５】
演算処理装置204は計算を実行する主体で、一般的なCPUを含むものであり、内部バス210を通して不揮発性記憶装置205、揮発性記憶装置206と接続されており、外部バス211を通して入力I/F207、出力I/F208と接続されている。
【００２６】
不揮発性記憶装置205はデータを保存する不揮発性の媒体で、HDD、フラッシュメモリ、ROM等を含む。また、揮発性記憶装置206はデータを保存する揮発性の媒体で、RAM、キャッシュメモリ等を含む。
【００２７】
揮発性記憶装置 206は契機ＩＤ記憶部212、契機カテゴリ記憶部213を有する。契機ＩＤ記憶部212は契機ＤＢ102に格納された、契機ＩＤ401のデータを1つ分記憶する領域であり、契機カテゴリ記憶部213は、契機ＤＢ102に格納された、契機カテゴリID402のデータを１つ分記憶する領域である。契機ＩＤ記憶部212、契機カテゴリID記憶部213は両者とも契機ＤＢの階層構造を辿るために用いるデータであり、利用法については、図７、図８にて詳細に説明する。
【００２８】
入力I/F207はマイグレーション支援システム101が利用する要求機能情報や、命令を入力するためのI/Fであり、外部バス211を通して演算処理装置204と接続され、入力I/F207の仕様に合わせた入力デバイス202と接続されている。
【００２９】
出力I/F208はマイグレーション支援システム101の実行結果を出力するI/Fであり、外部バス211を通して、演算処理装置204と接続され、出力I/F208の仕様に合わせた出力デバイス203が接続されている。
【００３０】
大容量不揮発性記憶装置209はHDD、フラッシュメモリ等を含む不揮発性記憶装置であり、契機DB102とDFD DB103とTM DB104とを格納し、外部バス211を通して、演算処理装置204と接続されている。
【００３１】
内部バス210は、演算処理装置と高速にデータを交換するために利用するデータバスであり、また、外部バス211は、外部接続用I/Fや、大容量記憶装置等の周辺機器との間でデータの交換をするために利用するデータバスである。
【００３２】
関連機能解析部108、影響範囲解析部110を実現する各プログラムは、非実行時、不揮発性記憶装置205に保存されており、入力デバイス202からの入力を入力I/F207を通して受け取ることで起動する。実行時、不揮発性記憶装置205に保存されたマイグレーション支援システム101は揮発性記憶装置206に読込まれ、演算処理装置204によって逐次演算処理されることで動作する。演算処理装置204によって演算処理された結果は、出力I/F208を通して出力デバイス203に出力される。
【００３３】
図3は契機DB102が保持するデータの階層例であり、契機となる事象301と変更内容302から構成される。契機となる事象301は、鉄道運行管理システムによる制御処理を変更する契機となる事象で、ニーズカテゴリ303と地域特性カテゴリ304と制御対象カテゴリ305と機能名称カテゴリ306の4つの契機カテゴリから構成される。カテゴリ同士は階層的に構成されており、各カテゴリにはカテゴリに該当する事象が複数登録されている。全ての事象には事象を識別するための識別子(契機ID601)が付与されており、事象同士も階層的に登録されている。また同一の契機ID601は複数存在しない。
【００３４】
例えば、図3の例では、ニーズカテゴリ303には新規地域展開（ID:1）が登録されている。これは新規地域に鉄道設備を展開していくことが契機となっていることを表す。例えば、地域特性カテゴリには豪雪（ID:2）が登録されており、これは新規地域展開を豪雪地域で行うことが契機となっていることを表す。例えば、制御対象カテゴリには駅（ID:10）が登録されており、これは新規地域展開を豪雪地域で行うときに駅に関する制御を行うことが契機となっていることを表す。例えば、機能名称カテゴリには制動位置変更（ID:19）が登録されており、これは新規地域展開を豪雪地域で行うときに駅を制御対象としているが特に制動位置の変更を制御することが契機となっていることを表す。
【００３５】
変更内容302は図5で後述するように関連情報(設備)503と実行条件504と実行内容505から構成されており、関連情報を実行条件から制御するか否かを判断し、制御する場合に実行内容に記載された処理を実行する。各変更内容は機能名称カテゴリ306の各事象と1対1対応している。例えば、関連情報には「出発信号機」が登録されており、実行条件には「軌道Tに列車種別Aの列車進入時、出発信号機が定位のとき」が登録されており、実行内容には「出発信号機を反位に変更」が登録されている。
【００３６】
即ち、新規地域展開を豪雪地域で行うにあたっての制御変更であり、駅を制御対象としているが特に制動位置の変更を制御することを契機とした場合に、出発信号機において、軌道Tに列車種別Aの列車進入時、出発信号機が定位のとき、出発信号機を反位に変更するという処理が実行されることを表す。
【００３７】
このように、契機DB102は要求された変更処理に対して、図3に示した変更の契機となったカテゴリ階層まで遡り、関連する変更処理を設計者等に提示する。
上記のように利用する、契機ＤＢを構成する際には、例えば、鉄道利用者の要求、鉄道会社の要求、開発元の要求といった観点から要求機能情報の整理を行ってもよい。具体的には、契機となる事象として、利用人口の増減、新技術の適用、維持・保守の実施、他地域展開のような項目を作成し、それぞれの項目についてさらに詳細な項目を分けることで、網羅性を確保する。
【００３８】
図4はマイグレーション支援システム101の全体処理フローを示した図である。以下で説明する各動作は、計算機２０１の演算処理装置２０４が、不揮発性記憶装置２０５から揮発性記憶装置２０６に読み出して実行する各プログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００３９】
ステップ401は、入力デバイス202より入力I/F207が要求機能情報106を受け付ける処理であり、例えば、本システム利用者がキーボードを利用して入力した要求機能情報106を受け付ける。
【００４０】
ステップ402は、関連機能解析部108が、ステップ401で受け付けた要求機能情報106の変更内容502の情報を用いて契機DBを検索し、対応する機能名称306を特定すると共に、ステップ401で受け付けた要求機能情報106の契機となる事象501を含む契機カテゴリ303〜306を決定する処理であり、図7にて処理の詳細を説明するものである。
【００４１】
ステップ403は関連機能解析部108が、ステップ402で決定した契機カテゴリ303〜306から、指定された上位階層の契機カテゴリの中で、最も上位の契機となる事象603を契機ID601と契機カテゴリID602をキーとした検索により決定し、検索した上位カテゴリの契機情報およびその下位にあたる変更内容を含む関連機能情報109を出力するという処理であり、図８にて処理の詳細を説明する。
【００４２】
ステップ404は、影響範囲解析部110が、関連機能情報109のなかから、関連情報(設備)606と実行条件607と実行内容608を参照し、DFD DB103及び、TM DB104を参照して鉄道運用管理システムのプログラムの影響範囲を解析するという処理であり、処理の詳細を図１１で説明する。
【００４３】
ステップ405は、出力I/F208により、ステップ403で出力された関連機能情報109及び、ステップ404にて出力された処理結果である影響範囲情報107について出力デバイス203を通して出力するという処理である。例えば、一般的なPCで利用するディスプレイ上に、図12、図13で記載するような形式で出力することができる。
【００４４】
図5は要求機能情報106の内容を示す図である。要求機能情報106はマイグレーション支援システム101利用者によって入力されるデータである。このデータは例えば、顧客とメーカの間での変更・改修部分検討時、想定している「契機となる事象」と「変更内容」をマイグレーション支援システム101を実行可能なPCにキーボードで入力することによって作成される。
【００４５】
「契機となる事象」501は契機ＤＢの検索範囲を指示するためのデータであり、一形態としてはここに記載された階層を目標として、契機ＤＢの階層を変更内容302より遡り、関連情報を検索する。例えば、行305は「契機となる事象」が「駅」に関する変更・改修であるものに関する記述である。
「変更内容」502は契機となる事象に対してどのような変更を行うかを具体的に示したものである。
「関連情報(設備)」503は機能改変の対象となる機器やデータであり、「実行条件」504は制御対象で記載された機器を制御するための条件であり、「実行内容」505は制御対象で記載された機器に対する制御内容が記載される。
【００４６】
例えば、行305のように、「契機となる事象」が「駅」であり、「関連情報(設備)」が、「出発信号機」であり、「実行条件」が「軌道Tに列車種別Aの列車進入時、出発信号機が定位のとき」であり、「実行内容」が「出発信号機を反位に変更」であるとき、対象、実行条件、実行内容を検索キーとして、契機ＤＢ102を検索し、「契機となる事象」である「駅」を含むカテゴリの１つ上位の階層まで、契機の内容を検索し、関係機能を出力する。
【００４７】
図6は契機ＤＢ102に登録されたデータのフォーマットを示す図である。
【００４８】
「契機ＩＤ」601は「契機となる事象」を一意に特定するための識別情報であり、この情報を基に、上位と下位の階層関係を表現する。本実施例では階層関係を相対的に見た時の上位側の契機ID601を上位接続ID604、下位側の契機ID601を下位接続ID605と呼ぶことにする。
「契機カテゴリID」602は契機を階層的に構成したときに、各契機がどの階層に属しているのかを表すためのＩＤである。このとき、上位接続ID604は2つ以上の値を記入しないこととする。
「契機となる事象」603は「契機ＩＤ」で特定されたＩＤと１対１で対応する、人間が解釈できる自然言語で記載された名称である。
「関連情報（設備）」606は信号機、転てつ器等設備情報やシステム履歴情報等のプログラムで保持する情報が記載される。
「実行条件」607は関連情報（設備）に対して操作を行うための条件が記載される。
「実行内容」608は関連情報（設備）に対する操作内容が記載される。
【００４９】
ここで、上記の「対象」、「実行条件」、「実行内容」は、契機情報の最下層かつ末端部分の契機ＩＤにのみ記載されるフィールドであり、下位接続の存在する契機ＩＤについてはこれらのフィールドは記載されない。
【００５０】
上記のような構成を持つ契機ＤＢにおいて、例えば、行609は「契機ID」が2であり、「契機カテゴリID」が2であり、「契機となる事象」が豪雪地域であり、「上位接続ＩＤ」が1であり、「下位接続ＩＤ」が9,10,11であり、「対象」と「実行条件」と「実行内容」については記載されない。
【００５１】
また、行610は「契機ID」が9であり、「契機カテゴリID」が3であり、「契機となる事象」が駅であり、「上位接続ＩＤ」が2であり、「下位接続ＩＤ」が19であり、「対象」と「実行条件」と「実行内容」については記載されない。
【００５２】
また、行411は、「契機ID」が11であり、「契機カテゴリID」が3であり、「契機となる事象」が軌道であり、「上位接続ＩＤ」が2であり、「下位接続ＩＤ」が20であり、「対象」と「実行条件」と「実行内容」については記載されない。
【００５３】
また、行612は、「契機ID」が19であり、「契機カテゴリID」が4であり、「契機となる事象」が制動位置変更であり、「上位接続ＩＤ」が9であり、「下位接続ＩＤ」は末端のため記載されておらず、「対象」が出発信号機であり、「実行条件」が軌道Tに列車種別Bの列車進入時、信号機Ａが定位の時であり、「実行内容」が信号機Aを反位に変更である。
【００５４】
また、行613は、「契機ID」が20であり、「契機カテゴリID」が4であり、「契機となる事象」が転てつ器ヒータ制御であり、「上位接続ＩＤ」が11であり、「下位接続ＩＤ」は末端のため記載されておらず、「対象」が転てつ機ヒータであり、「実行条件」が軌道敷の温度が0℃以下の時であり、「実行内容」が転てつ機ヒータＯＮである。
【００５５】
このような契機DB102の構成において、要求機能情報106が行506のように入力された場合、図7に示す契機検索動作によって、契機ID2行609から下位の契機を出力対象とすればよいことがわかるので、下位接続ID605を辿ることによって、契機ID9，10，11をとの関連が判り、さらに契機ID9，10，11の契機を辿ることで契機19，20との関連まで出力することができる。
【００５６】
契機ＤＢにデータを追加する場合は、契機ＩＤの追加及び、「契機となる事象」契機のリンク情報を表す「上位接続ＩＤ」をひとつ、「下位接続ＩＤ」をひとつ以上追加する。
【００５７】
これらの情報を持つ、契機ＤＢは、契機の情報として、過去の変更・改修における契機を基に作成される。また、過去の変更内容として、新規作成部分の契機を含み、過去の経歴を全て網羅した場合には、全てのプログラム変更に関する契機を特定することができる。
【００５８】
図7は図4に示した全体処理フローにおける402の詳細処理フローであり、関連機能解析部108による契機検索処理を示す図である。この検索処理により、要求機能情報106に記載された契機501の情報と契機カテゴリＩＤ602の情報を結びつけ、利用者の想定している契機カテゴリを特定することができる。以下で説明する各動作は、計算機２０１の演算処理装置２０４が、不揮発性記憶装置２０５から揮発性記憶装置２０６に読み出して実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００５９】
ステップ701は、関連機能解析部108がカテゴリＩＤ記憶部と契機ＩＤ記憶部の値を0に初期化する処理である。
ステップ702は入力I/F207により要求機能情報106を受付するという処理である。
ステップ703は受け付けた要求機能情報106において、関連機能解析部108が関連情報(設備)503と実行条件504と実行内容505が入力されているかどうかを判定する処理である。このとき、もし関連情報(設備)503と実行条件504と実行内容505の内容が入力されていれば、ステップ703へ進み、いずれかひとつでも入力が無かった場合には処理を終了する。
ステップ704は関連機能解析部108が要求機能情報106の関連情報(設備)503と実行条件504と実行内容505について、それぞれ契機DBの関連情報(設備)606と実行条件607と実行内容608を検索し、マッチした契機ID601を契機ID記憶部212にセットする処理である。
ステップ705はステップ704で特定した契機ID601のカテゴリＩＤ602を契機カテゴリＩＤ記憶部213にセットする処理である。
ステップ706は契機ＩＤ記憶部212に記録された契機ＩＤ601の契機となる事象603と要求機能情報106の契機となる事象が等しいかどうかを判断する処理である。このとき、もし契機ＩＤ記憶部212に記録された契機ＩＤ601の契機となる事象603と要求機能情報106の契機となる事象が等しければ終了し、それ以外場合はステップ707に移る。
ステップ707は契機ＩＤ記憶部212に記録された契機ＩＤ601のカテゴリＩＤをカテゴリＩＤ記憶部にセットする処理である。
ステップ708は契機ＩＤ記憶部212に記録された契機ＩＤ601の上位接続IDの示すIDを契機ID記憶部にセットする処理である。ステップ708の終了後は、再びステップ706に移る。
上記ステップ704，706において、マッチするかを判定するための方法は単純な全文一致の他に、構文解析など公知の技術を用いることができる。
【００６０】
図8は図4に示したステップ403の詳細処理フローであり、関連機能解析部108による出力処理を示す図である。この処理を行うことにより、利用者が入力した契機カテゴリより上位の契機カテゴリの情報を検索、出力することができる。以下で説明する各動作は、計算機２０１の演算処理装置２０４が、不揮発性記憶装置２０５から揮発性記憶装置２０６に読み出して実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６１】
ステップ801は関連機能解析部108が契機カテゴリＩＤ記憶部213の値より（契機ID記憶部212の契機カテゴリＩＤ-1）より大きいかを判断する処理である。このとき、もしカテゴリＩＤ記憶部の値より（契機ID記憶部のカテゴリＩＤ602 -1）より大きい場合、ステップ802に移る。もし、上記以外の場合はステップ804に移る。
ステップ802は関連機能解析部108が契機ID記憶部213の上位接続ID604の示すIDデータを契機ID記憶部213にセットする処理である。
ステップ803は関連機能解析部108が契機ID記憶部213の契機カテゴリID602を契機カテゴリID記憶部にセットする処理である。
【００６２】
ステップ801〜803までの処理を行うことにより、要求機能情報106の契機となる事象501として入力され、図7において特定された契機カテゴリのひとつ上位の契機カテゴリにおいて、契機カテゴリ最上位の契機ID601を特定することができる。
【００６３】
ステップ804は関連機能解析部108が契機ＩＤ記憶部213に格納された契機ＩＤの下位接続ＩＤが格納されているかを判断する処理である。
ステップ805は関連機能解析部108が契機ＩＤ記憶部213に格納された契機を出力する処理である。但し、契機名称カテゴリ306の契機となる事象において、変更内容302(内容として記録されているのは関連情報（設備）606、実行条件607、実行内容608)に関する記述がある場合は、これも出力の対象とする。
ステップ806は関連機能解析部108が契機ＩＤ記憶部に下位の契機をセットする処理である。
【００６４】
ステップ804〜806の処理を行うことにより、契機カテゴリ303〜306にそれぞれ対応した画面出力1201〜1204の情報の作成及び、画面出力1201〜1204の内容と画面出力1301〜1304の内容を持つ、関連機能情報109を出力する。処理の流れについては、図12で詳細に説明するが、上記の処理により、図３、図５の例であれば制御対象「駅」の上位階層である地域特性「豪雪」が検索され、その下位階層にあたる制御対象「列車」「駅」「軌道」とさらにそのそれぞれの下位の各機能、変更内容を関連機能情報109に含めて出力することができる。
【００６５】
ここで、たとえば要求機能情報106に含まれる変更内容が図３の例で「変更Ａ」に当たる場合は、契機カテゴリの階層を制御対象「列車」までしか遡らず、その下位階層である機能「除雪車の運行」および変更内容「変更Ｂ」のみを出力するなど、契機の出力範囲を用途に合わせて設定できることとしてもよい。
【００６６】
図9はＤＦＤ ＤＢ103のデータ構成を示す図である。
「関連情報(設備)」901は駅設備やシステム履歴情報等、鉄道に関する制御プログラム上のデータにひも付けられた実体であり、行902は「関連情報(設備)」が「出発信号機」であるものに関する記述である。
「グローバルデータ」902はプログラム間で共通に利用するデータが記載される。例えば図9において、「関連情報(設備)」が「出発信号機」であるものの「グローバルデータ」は「信号状態テーブル-メンバ１」である。
「読出/書込種別」903はグローバルデータ902に対して、読出/書込のどちらを行うかが記載される。例えば、図9において「関連情報(設備)」が「出発信号機」であるものであり、「グローバルデータ」が「信号状態テーブル-メンバ１」であるものに関しては「書込」である。
「関数名」904はグローバルデータ902に対して、読出/書込を行う関数名称が記載される。例えば図9において、「関連情報(設備)」が「出発信号機」であるものの「関数名」は「関数１」である。
「行番号」905はグローバルデータ902に対して読出/書込を行う関数において、書込の記述がある行数が記載される。例えば、図9において「関連情報(設備)」が「出発信号機」であるものの「行番号」は「100」である。
【００６７】
図10はＴＭ ＤＢ104のデータ構成を示す図である。
「仕様書」1001はプログラム(関数)に対応する仕様書の章や節の名称を記述するフィールドであり、行1005と行1006は「仕様書」が「複線出発順序判断」であるものに関する記述であり、両者とも「関数１」に関する記述である。「関数名称」1002は変更・改修の対象となる関数名称が階層構造で記載される。例えば、「仕様書」が「複線出発順序判断」であるものの「関数名称」は「関数１」である。
【００６８】
また、「関数名称(ネストn)」1003は関数名称1002で記載した関数の影響範囲を示す情報として、関数名称1002を呼出元として呼び出される関数の名称が記載される。例えば、「仕様書」が「複線出発順序判断」であるものが複数の関数を呼出す場合、「関数名称(ネストn)」に記載された「関数1-(n)-1」は関数1のn段目のネストの1番目に呼ばれる関数であることを示し、また、関数名称(ネストn)が「関数1-(n)-2」であるものは、n段目のネストの2番目に呼ばれるものを示す。
【００６９】
図11は図4に示した全体処理フローにおける404の詳細処理フローであり、影響範囲解析部110による影響範囲検索手順を示す図である。
ステップ1101は関連機能情報109を受付する処理であり、関連機能解析部108が出力した関連機能情報109のデータを影響範囲解析部110が受け付ける。ステップ1102は影響範囲解析部110が関連機能情報109の関連情報に一致するものがＤＦＤ ＤＢ103に格納されているかどうか調べる処理である。例えば、契機ＤＢ102と同様のフォーマットを持つ関連機能情報109において、行612の関連情報(設備)402すなわち“出発信号機”といった情報があった場合、この情報を用いてＤＦＤ ＤＢ103の検索を行う。このとき、もし関連機能情報109の関連情報(設備)例えば“出発信号機”が、ＤＦＤ ＤＢ103の関連情報(設備)901のいずれかの行と一致していれば、ステップ1103へ進む。また、もしＤＦＤ ＤＢ103の関連情報に一致するものがなければ、出力なしとして終了する。
【００７０】
ステップ1103は影響範囲解析部110がＤＦＤ ＤＢ103から、要求機能情報106の影響範囲となる関数名を取出する処理である。影響範囲となる関数名は、ＤＦＤ ＤＢ103から抽出し、ＴＭ ＤＢ104の検索を行うためのキーとする。例えば、ステップ1102において、関連機能情報109の関連情報(設備)が“出発信号機”であり、ＤＦＤ ＤＢ103の関連情報(設備)901と行906のように一致しているとき、対応するグローバルデータ602、読出/書込種別903、関数名904、関数の行番号905の対応関係が導かれる。この中から、関数名904をステップ1104に利用する。
【００７１】
ステップ1104は影響範囲解析部110がＴＭ ＤＢ104をＤＦＤ ＤＢ103記載の関数名で検索する処理であり、ステップ1103で抽出した関数名904をキーとしてＴＭ ＤＢ104の検索を行い、仕様書1001と呼出関係にある他の関数名称(ネストn)1003を導き出す。例えば、図9の行906において、関連機能情報109の“出発信号機”という情報から“関数１”が影響範囲となる関数であるということが導かれた場合、この“関数１”という情報をキーとすることで、ＴＭ ＤＢ104を検索が可能となり、行904、905に示すように仕様書901と影響範囲にある他の関数名称(ネストn)903を導くことができる。
【００７２】
ステップ1105は出力I/F208に影響範囲情報107を出力する処理である。影響範囲情報107の内容は、関連機能情報109の内容に加え、上記ステップ1103〜1105で抽出、作成した情報を含む。
【００７３】
図12はマイグレーション支援システム101の出力結果イメージを表す図である。
図12においては、要求機能情報106を入力し、マイグレーション支援システム101が各契機カテゴリを検索した結果、入力した契機に対してどのような契機が関連しているのかを示す情報を出力したものである。符号1201〜符号1204は契機DB102が持つ契機カテゴリ303〜306に対応したカテゴリ情報である。これに対し、例えば要求機能情報106として行506のような入力を行った場合、契機となる事象は「駅」であり、「関連情報(設備)」が、「出発信号機」であり、「実行条件」が「軌道Tに列車種別Aの列車進入時、出発信号機が定位のとき」であり、「実行内容」が「出発信号機を反位に変更」であったため、処理402及び処理403を行った結果、例えば、「ニーズ」は「−」であり、地域特性は「豪雪地域」であり、制御対象は「軌道」であり、機能名称は「転てつ機ヒータ制御」であるものが関連機能として出力される。また、見易さ向上のため契機情報と詳細影響範囲を分けた場合、影響範囲詳細表示情報ボタン1205を画面上に表示し、詳細情報との画面分けを行うことができる。
【００７４】
図13は影響範囲詳細情報を示す図である。
【００７５】
「影響範囲機能名称」1301、「関連情報(設備)」1302、「実行条件」1303、「実行内容」1304は契機ＤＢ102に登録されている内容のうち、関連機能解析部108が動作した結果得られた内容が記載される。また、「関数名」1308は、影響範囲解析部110によって、ＤＦＤ ＤＢ103を検索した結果が記載され、ＴＭ ＤＢ104の検索に利用される。
【００７６】
「グローバルデータ」1306、「読出/書込種別」1307、「行番号」1309は影響範囲解析部110が動作した結果、ＤＦＤ ＤＢ103に登録された内容の一部が記載され、同様に、「仕様書」1305、「関数名称(ネストn)」1310は、影響範囲解析部110が動作した結果、ＴＭ ＤＢ104に登録された内容の一部が記載される。例えば、このような情報を用いて、開発段階では、機能データ処理を一貫して閲覧することができ、開発の効率化が図れる。
【００７７】
また、見易さ向上のため契機情報と詳細影響範囲を分けた場合、影響範囲詳細表示情報ボタン1314を画面上に表示し、詳細情報との画面分けを行うことができる。
【符号の説明】
【００７８】
101  マイグレーション支援システム
102  契機ＤＢ
103  ＤＦＤ  ＤＢ（Ｄａｔａ Ｆｌｏｗ Ｄｉａｇｒａｍ ＤａｔａＢａｓｅ）
104  ＴＭ  ＤＢ（Ｔｒａｃｅａｂｉｌｉｔｙ Ｍａｔｒｉｘ ＤａｔａＢａｓｅ）
106  要求機能情報
107  影響範囲情報
108  関連機能解析部
109  関連機能情報
110  影響範囲解析部
【図１】
2011008307.tif 000003
【図２】
2011008307.tif 000004
【図３】
2011008307.tif 000005
【図４】
2011008307.tif 000006
【図５】
2011008307.tif 000007
【図６】
2011008307.tif 000008
【図７】
2011008307.tif 000009
【図８】
2011008307.tif 000010
【図９】
2011008307.tif 000011
【図１０】
2011008307.tif 000012
【図１１】
2011008307.tif 000013
【図１２】
2011008307.tif 000014
【図１３】
2011008307.tif 000015