(57)【要約】【課題】オブジェクト指向設備データ演算モジュールが関係データベースに格納された設備データを取得及び設定する際のオーバヘッドを削減する【解決手段】ソフトウェアの開発支援装置は，関係データモデル及びオブジェクトデータモデル間における設備データの対応関係を受け付け，データ演算ロジックモデルからデータ演算プログラムを生成する際に，上記対応関係及び上記オブジェクトデータモデルに基づいて，設備データの操作をオブジェクトデータベース操作にて行うか関係データベース操作にて行うかを判定し，その判定結果に基づいて，関係データベース操作プログラム，あるいはオブジェクトデータベース操作プログラムを生成し，上記データ演算プログラム内の設備データ操作プログラムとして，上記オブジェクトデータベース操作プログラムあるいは上記関係データベース操作プログラムを使用する。【選択図】図１
2012230583.tif 000002
【特許請求の範囲】
【請求項１】
設備データを操作するソフトウェアの開発支援装置であって，
プロセッサと記憶部を備え，
前記記憶部は，
前記設備データの構造および性質を関係指向で定義する関係データモデル，
前記設備データの構造および性質をオブジェクト指向で定義するオブジェクトデータモデル，
前記関係データモデルにおける設備データと前記オブジェクトデータモデルにおける設備データの対応関係，
関係データベースに格納された設備データを操作するための関係データベース操作プログラム，
オブジェクトデータベースに格納された設備データを操作するためのオブジェクトデータベース操作プログラム，
前記オブジェクトデータモデルに対するデータ演算ロジックを定義するデータ演算ロジックモデル，
前記関係データベース及び前記オブジェクトデータベースに格納された設備データの演算を行うデータ演算プログラム，及び
前記データ演算プログラムを生成する手段を格納し，
前記プロセッサは，
前記オブジェクトデータモデルの入力を受け付け，
前記関係データモデルにおける設備データと，前記オブジェクトデータモデルにおける設備データとの前記対応関係の入力を受け付け，
前記データ演算ロジックモデルの入力を受け付け，
前記データ演算ロジックモデルから前記データ演算プログラムを生成し，
前記データ演算プログラムを生成する際に，前記関係データモデルにおける設備データと前記オブジェクトデータモデルにおける設備データとの前記対応関係，及び前記オブジェクトデータモデルに基づいて，前記設備データの操作をオブジェクトデータベース操作にて行うか関係データベース操作にて行うかを設備データごとに判定し，
前記判定結果に基づいて，前記関係データモデルから前記関係データベース操作プログラムを，あるいは前記オブジェクトデータモデルから前記オブジェクトデータベース操作プログラムを生成し，
前記データ演算プログラム内の設備データ操作プログラムとして，前記オブジェクトデータベース操作プログラムあるいは前記関係データベース操作プログラムを用いる
ことを特徴とするソフトウェア開発支援装置。
【請求項２】
前記記憶部は，前記関係データモデルにおいて設備を一意に特定するための主キー属性を格納し，
前記プロセッサは，
前記関係データモデルの入力として，少なくとも前記主キー属性を受け付け，
前記主キー属性に基づいて，前記関係データベース操作プログラムを生成する
ことを特徴とする請求項１に記載のソフトウェア開発支援装置。
【請求項３】
前記記憶部は，前記関係データベースに対するデータ操作を行うための関係データベース操作基本構文情報を格納し，
前記プロセッサは，
前記関係データベース操作基本構文情報に基づいて，前記関係データベース操作プログラムを生成する
ことを特徴とする請求項１あるいは請求項２に記載のソフトウェア開発支援装置。
【請求項４】
前記プロセッサは，
前記関係データモデルにおける設備データと前記オブジェクトデータモデルにおける設備データの対応関係の入力として少なくとも，前記関係データモデルにおけるテーブルの属性と，前記オブジェクトデータモデルにおけるクラスの属性との対応関係を受け付ける
ことを特徴とする請求項１乃至３に記載のソフトウェア開発支援装置。
【請求項５】
前記プロセッサは，
前記関係データベースのデータ構造解析を行い，
解析結果に基づいて前記関係データモデルを生成する
ことを特徴とする請求項乃至４のいずれかに記載のソフトウェア開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
プログラム生成技術に関し、特に情報制御システムの監視、制御対象である設備のデータを操作するプログラムを生成する技術に関する。
【背景技術】
【０００２】
情報制御システムとは、ネットワークに接続された制御対象設備のデータ（設備データ）を取得し、その演算結果に応じて、同一のあるいは他の設備へと制御命令データを設定するシステムである。設備の例としては、鉄道分野では、信号機や軌道回路などが、電力分野では、リレーや警報器などがある。また情報制御システムの例としては、鉄道分野における列車運行管理システムや、電力分野における電流・電圧監視システムなどがある。
【０００３】
また，システムの設計工程においてシステムの理解を深める目的やシステムの特徴を端的に表す目的のため，モデリング言語を用いてシステムを抽象化して記述する技術がある。このモデリング言語によるシステム記述をモデル化とも呼ぶ。上記モデリング言語の例としては，UML（Unified Modeling Language）が有名である。さらに，システムの実装工程を省略しシステム開発コストを削減する目的のため，設計工程で記述したモデルを，予め決めた変換規則を用いてプログラムへと変換する技術がある。これらの技術はモデルベース開発技術と総称される。モデルベース開発技術の例として，特許文献１及び特許文献２を示す。
【０００４】
上記背景を鑑み，近年では情報制御システム開発へのモデルベース開発技術の適用が検討されている。
【０００５】
上述の通り，情報制御システムとは設備データを取得・演算し，演算結果に基づいて制御命令を送出するシステムであるため，情報制御システムの扱うデータの単位は設備であり，同様に情報制御システムのデータ演算処理も設備単位で行う。よって，情報制御システムにモデルベース開発技術を適用する場合，設備などのオブジェクトをデータ単位および処理単位とする，オブジェクト指向に基づくモデルが適している。
【０００６】
上記オブジェクト指向のモデルを使って情報制御システムのデータ及び演算ロジックを記述した場合，そのモデルから生成されるプログラムは，オブジェクト指向のデータ定義プログラム及びオブジェクト指向のデータ演算プログラムである。オブジェクト指向のデータ定義プログラムからは，例えばオブジェクトデータベースが得られる。同様にオブジェクト指向のデータ演算プログラムからは，例えば上記オブジェクトデータベースに対するデータ演算モジュールが得られる。
【０００７】
ところで，情報制御システムの開発には，全システムを新たに開発する新規開発と，既存システムを流用して部分的な改造を行う改造開発がある。改造開発は開発コストを削減できるという利点や稼働実績が長く信頼性の高いモジュールを再利用できるという利点がある一方，作り替えを行った新規モジュールが再利用した既存モジュールと連携可能であるという制約がある。例えば，新規モジュールと既存モジュール間でのデータ通信やデータアクセス，あるいは手続き呼び出しが可能でなければならない。以下，この制約についてより具体的に述べる。
【０００８】
上述の通り，情報制御システムはその制御対象となる設備のデータを扱うが，扱う設備データの種類は情報制御システムの種類ごとに決まっている。例えば，列車運行管理システムは信号機や軌道回路の設備データを扱い，電流・電圧監視システムはリレーや警報器の設備データを扱う。よって，情報制御システムの開発においては，設備データを格納するデータベースを流用できる場合が多い。
【０００９】
一方で，設備データの演算ロジックは，制御の仕様に相当するため作番ごとに異なる場合が多い。つまり，設備データ演算モジュールは，通常，作番ごとに作り替える必要がある。
【００１０】
以上の理由から，情報制御システムの改造開発においては，データベースを流用しそのデータ演算モジュールは作り替えるという形態が多い。
【００１１】
さらに，流用もとのシステムはオブジェクト指向が台頭する以前から存在するシステムが多く，そのデータベースは関係データベースであることが多い。そのため上記形態による改造開発を採用した場合，作り替え対象となる設備データ演算モジュールは関係データベースと連携可能であるという制約が生じる。より詳細には，作り替えた設備データ演算モジュールは関係データベースにアクセス可能で，指定の設備データを取得及び設定可能であるという制約が生じる。
【００１２】
上記条件のもとで情報制御システムへのモデルベース開発技術の適用を考えると，作り替え対象の設備データ演算モジュールをモデルベース開発技術によって開発することになる。しかし，上述の通り情報制御システムのモデルはオブジェクト指向のモデルであるため，モデルベース開発技術によって開発した設備データ演算モジュールは，オブジェクトデータベースに対する設備データ演算モジュールとなる。しかし，当然このオブジェクトデータベースに対する設備データ演算モジュールは，設備データを格納する既存の関係データベースにはアクセス不可能である。
【００１３】
以上より，情報制御システムの改造開発にモデルベース開発技術を適用すると，設備データを格納する既存の関係データベースを流用できないという問題がある。または，既存の関係データベースの流用を優先した場合，モデルベース開発技術を適用できないという問題がある。
【００１４】
上記問題を解決する従来技術として，特許文献３及び特許文献４では，オブジェクト指向の機能モジュールから関係データベースへのアクセスを可能にするための，データベース操作変換プログラムを生成する方法が開示されている。データベース操作変換プログラムは，オブジェクト指向の機能モジュールが実行するオブジェクトデータベースの操作を，同等の関係データベースの操作へと変換する。上記データベース操作変換プログラムは，予め用意されたテンプレートに記載のデータベース操作変換規則に基づいて生成される。この方法を用いることで，オブジェクトデータベースに対する設備データ演算モジュールから関係データベースへのアクセスが可能になるため，上記問題を解決できる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００４−２８７６９５号公報
【特許文献２】特開２００３−２０８３０７号公報
【特許文献３】特開平１１−２２４１８４号公報
【特許文献４】特開平８−２６３２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
特許文献３及び特許文献４の開示する従来技術を用いることで，オブジェクトデータベースに対する設備データ演算モジュール（以下，オブジェクト指向設備データ演算モジュールとも呼ぶ）は，関係データベースに格納された設備データを取得及び設定できるようになる。
【００１７】
しかし従来技術では，オブジェクト指向設備データ演算モジュールがオブジェクトデータベースの操作を行う度に，データベース操作変換プログラムが上記オブジェクトデータベース操作を同等の関係データベース操作に変換するため，データベースアクセスのオーバヘッドが大きいという問題がある。特に情報制御システムの場合，システム要件として一連の制御処理を完了するまでの時間が定められているため，オーバヘッドの肥大化によりシステム要件を満たせなくなる可能性がある。
【００１８】
また従来技術では，上述の通りテンプレートによってデータベース操作変換規則を定義しているが，この変換規則は全設備データの操作に対して一律に適用される変換規則である。つまり，設備データごとにその操作の変換規則が異なる場合は，従来技術は適用できないという問題がある。
【００１９】
上記に鑑み、本発明が解決しようとする課題は、オブジェクト指向設備データ演算モジュールが，関係データベースに格納された設備データを取得及び設定する際のオーバヘッドを削減すること，及びオブジェクトデータベース操作から関係データベース操作への変換規則が設備データごとに異なる場合でも，オブジェクト指向設備データ演算モジュールが関係データベースに格納された設備データを取得及び設定できるようにすることである。
【課題を解決するための手段】
【００２０】
上記課題を解決するため，本発明は，設備データを操作するソフトウェアの開発支援装置であって，プロセッサと記憶部を備え，上記記憶部は，上記設備データの構造や性質を関係指向で定義する関係データモデル，上記設備データの構造や性質をオブジェクト指向で定義するオブジェクトデータモデル，上記関係データモデルにおける設備データと上記オブジェクトデータモデルにおける設備データの対応関係，関係データベースに格納された設備データを操作するための関係データベース操作プログラム，オブジェクトデータベースに格納された設備データを操作するためのオブジェクトデータベース操作プログラム，上記オブジェクトデータモデルに対するデータ演算ロジックを定義するデータ演算ロジックモデル，上記関係データベース及び上記オブジェクトデータベースに格納された設備データの演算を行うデータ演算プログラム，及び上記データ演算プログラムを生成する手段を格納し，上記プロセッサは，上記オブジェクトデータモデルの入力を受け付け，上記関係データモデルにおける設備データと，上記オブジェクトデータモデルにおける設備データとの対応関係の入力を受け付け，上記データ演算ロジックモデルの入力を受け付け，上記データ演算ロジックモデルからデータ演算プログラムを生成し，上記データ演算プログラムを生成する際に，上記関係データモデルにおける設備データと上記オブジェクトデータモデルにおける設備データとの対応関係，及び上記オブジェクトデータモデルに基づいて，上記設備データの操作をオブジェクトデータベース操作にて行うか関係データベース操作にて行うかを設備データごとに判定し，上記判定結果に基づいて，上記関係データモデルから関係データベース操作プログラムを生成するか，あるいは上記オブジェクトデータモデルからオブジェクトデータベース操作プログラムを生成し，上記データ演算プログラム内の設備データ操作プログラムとして，上記オブジェクトデータベース操作プログラムあるいは上記関係データベース操作プログラムを用いることを特徴とするソフトウェアの開発支援装置を提供する。
【発明の効果】
【００２１】
本発明の一形態によれば，オブジェクト指向設備データ演算モジュールが関係データベースに格納された設備データを取得及び設定する際のオーバヘッドを削減できる
また，本発明の一形態によれば，オブジェクトデータベース操作から関係データベース操作への変換規則が設備データごとに異なる場合でも，関係データベースに格納された設備データを取得及び設定できるオブジェクト指向設備データ演算モジュールを得られる。
【図面の簡単な説明】
【００２２】
【図１】情報制御プログラム生成装置の構成例を示すブロック図である。
【図２】情報制御プログラム生成装置のハードウェア構成例を示すブロック図である。
【図３】情報制御プログラムの生成の手順例を示すフローチャートである。
【図４】属性対応関係定義画面の例である
【図５】関係データ属性操作手続きの生成の手順例を示すフローチャートである。
【図６】オブジェクトデータ演算プログラムの生成における設備データ属性操作手続きの選択手順例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の一形態を、図面を参照しながら詳細に説明する。
【００２４】
本実施形態は，情報制御プログラム生成装置に適用される。
【００２５】
本実施形態では，オブジェクト指向のオブジェクトデータモデル及びオブジェクトデータ演算ロジックモデルから，オブジェクト指向のデータ演算プログラムであるオブジェクトデータ演算プログラムを生成する際に，オブジェクトデータ演算プログラム内の設備データ属性操作手続きとして，関係データベースに格納された設備データを操作する関係データ属性操作手続きを用いることもできる。
【００２６】
よって本実施形態によれば，オブジェクトデータ演算プログラムは，関係データベースに格納された設備データを，手続き変換プログラム等を介さずに直接操作できるため，設備データの取得及び設定のオーバヘッドを削減できる。
【００２７】
また本実施形態では，設備データの属性ごとにオブジェクトデータ属性と関係データ属性との属性対応関係を定義する。そして上記属性対応関係に基づいて，設備データの属性ごとに関係データ属性操作手続きを生成する。
【００２８】
よって本実施形態によれば，オブジェクトデータ操作手続きから関係データ操作手続きへの変換規則が設備データごとに異なる場合でも，関係データベースに格納された設備データを取得及び設定できるオブジェクトデータ演算プログラムを得られる。また本実施形態によれば，オブジェクトデータ属性操作手続きと関係データ属性操作手続きの対応関係を定義せずとも，オブジェクトデータ属性と関係データ属性の対応関係を定義するだけで，オブジェクトデータ属性操作手続きの代わりとなる関係データ属性操作手続きが得られる。
【００２９】
また本実施形態では，オブジェクトデータ属性と関係データ属性との属性対応関係の有無，及びオブジェクトデータモデルに定義された設備データ属性の性質に基づいて，設備データ属性が関係データベースに格納されているかオブジェクトデータベースに格納されているかを判断し，その判断結果に応じて，設備データ属性操作手続きとして，関係データ属性操作手続き生成するか，あるいはオブジェクトデータ属性操作手続きを生成するかを決定する。
【００３０】
よって本実施形態によれば，設備データ属性が関係データベース及びオブジェクトデータベースに分散して格納されていた場合に，設備データ属性操作手続きとして，関係データ属性操作手続きを使用するか，あるいはオブジェクトデータ属性操作手続きを使用するかを人手で指定する必要はない。さらに，関係データ属性操作手続きとオブジェクトデータ属性操作手続きのうち，実際に使用する手続きのみを生成するため無駄がない。
【００３１】
図１は，本実施形態における情報制御プログラム生成装置の構成例を示すブロック図である。
【００３２】
情報制御プログラム生成装置２０１は，入出力部１０１，関係データ構造解析部１０３，関係データモデル保持部１０４，オブジェクトデータモデル設計部１０５，オブジェクトデータモデル保持部１０６，主キー属性保持部１０７，属性対応関係保持部１０８，オブジェクトデータ演算ロジックモデル設計部１０９，オブジェクトデータ演算ロジックモデル保持部１１０，設備データ属性操作手続き保持部１１１，設備データ属性操作手続き生成部１１２，関係データベース基本操作関数保持部１１３，オブジェクトデータ演算プログラム生成部１１４，及びオブジェクトデータ演算プログラム保持部１１５を含む。
【００３３】
入出力部１０１は，オブジェクトデータモデル設計部１０５とユーザとの間でオブジェクトデータモデルの入出力を行う。同様に，オブジェクトデータ演算ロジックモデル設計部１０９とユーザとの間でオブジェクトデータ演算ロジックモデルの入出力を行う。
【００３４】
関係データ構造解析部１０３は，関係データベース１０２のデータ構造を解析し，その結果に基づいて関係データモデルを作成する。作成した関係データモデルは関係データモデル保持部１０４に登録する。
【００３５】
オブジェクトデータモデル設計部１０５は，入出力部１０１を介してユーザからのオブジェクトデータモデルの入力を受け付ける。受け付けたオブジェクトデータモデルはオブジェクトデータモデル保持部１０６に登録する。同時に，関係データモデル保持部１０４から関係データモデルを取得し，ユーザに表示する。そしてユーザから，関係データモデルにおいて個々の設備を一意に特定する主キー属性の入力を受け付ける。受け付けた主キー属性は主キー属性保持部１０７に登録する。同時にユーザから，オブジェクトデータモデルが含むオブジェクトデータ属性と関係データモデルが含む関係データ属性の属性対応関係を受け付ける。受け付けた属性対応関係は，属性対応関係保持部１０８に登録する。
【００３６】
オブジェクトデータ演算ロジックモデル設計部１０９は，入出力部１０１を介してユーザからのオブジェクトデータ演算ロジックモデルの入力を受け付ける。受け付けたオブジェクトデータ演算ロジックモデルは，オブジェクトデータ演算ロジックモデル保持部１１０に登録する。
【００３７】
設備データ属性操作手続き生成部１１２は，オブジェクトデータ演算プログラム生成部１１４から，操作対象のオブジェクトデータ属性とその操作内容の指定とともに実行される。設備データ属性操作手続き生成部１１２は，属性対応関係保持部１０８に上記操作対象オブジェクトデータ属性に関する属性対応関係が登録されていた場合，これを取得する。さらにオブジェクトデータモデル保持部１０６から，上記操作対象オブジェクトデータ属性の属性定義情報を取得する。上記属性対応関係の有無と，上記属性定義情報に基づき，設備データ属性操作手続きとして，関係データ属性操作手続きあるいはオブジェクトデータ属性操作手続きのどちらを生成するかを選択する。設備データ属性操作手続きの選択手順の詳細は図６に示す。
【００３８】
関係データ属性操作手続きを生成する場合，設備データ属性操作手続き生成部１１２は，主キー属性保持部１０７から上記操作対象オブジェクトデータ属性が属する設備の主キー属性を取得する。さらに，関係データモデル保持部１０４から関係データモデルを取得する。さらに，関係データベース基本操作関数保持部１１３から，関係データベース１０２の操作手続きを構成する際に必要となる基本関数情報を取得する。基本関数情報とは，例えばＳＱＬを例にとると“ＳＥＬＥＣＴ”などのコマンドとその構文規則を意味する。設備データ属性操作手続き生成部１１２は，取得した上記属性対応関係，上記主キー属性，上記関係データモデル，及び上記基本関数情報を使って関係データ操作手続きを生成する。生成した関係データ属性操作手続きは，設備データ属性操作手続きとして設備データ属性操作手続き保持部１１１に登録する。関係データ属性操作手続きの生成の手順詳細は図５に示す。
【００３９】
オブジェクトデータ属性操作手続きを生成する場合，設備データ属性操作手続き生成部１１２は，オブジェクトデータモデル保持部１０６からオブジェクトデータモデルを取得し，取得したオブジェクトデータモデルに基づいてオブジェクトデータ属性操作手続きを生成する。生成したオブジェクトデータ属性操作手続きは，設備データ属性操作手続きとして設備データ属性操作手続き保持部１１１に登録する
オブジェクトデータ演算プログラム生成部１１４は，オブジェクトデータ演算ロジックモデル保持部１１０からオブジェクトデータ演算ロジックモデルを取得する。取得したオブジェクトデータ演算ロジックモデルに基づいて，そのロジックを実現するオブジェクト指向の演算プログラムであるオブジェクトデータ演算プログラムを生成する。その際に，上記オブジェクトデータ演算プログラムにおいて設備データ属性操作を行う部分を特定し，操作対象のオブジェクトデータ属性とその操作内容を指定して，設備データ属性操作手続き生成部１１２を実行する。設備データ属性操作手続き生成部１１２は，上述の通り設備データ属性操作手続きを生成し，設備データ属性操作手続き保持部１１１に登録する。オブジェクトデータ演算プログラム生成部１１４は，設備データ属性操作手続き保持部１１１から設備データ属性操作手続きを取得し，上記オブジェクトデータ演算プログラム内の設備データ属性操作を行う部分に配置する。生成したオブジェクトデータ演算プログラムは，オブジェクトデータ演算プログラム保持部１１５に登録する。
【００４０】
図２は，情報制御プログラム生成装置のハードウェア構成例を示すブロック図である。
【００４１】
情報制御プログラム生成装置２０１は、ＣＰＵ２０２、メモリ２０３、外部記憶装置２０４、表示装置２０５、入力装置２０６、及び外部媒体入出力装置２０７を備える。
【００４２】
ＣＰＵ２０２は、メモリ２０３に記憶されたプログラムを実行することによって、各種処理を実行する。メモリ２０３は、ＣＰＵ２０２のワークエリアとして機能し、プログラム及びプログラムの実行に必要なデータを記憶する。具体的には、入出力部１０１，関係データ構造解析部１０３，オブジェクトデータモデル設計部１０５，オブジェクトデータ演算ロジックモデル設計部１０９，設備データ属性操作手続き生成部１１２，及びオブジェクトデータ演算プログラム生成部１１４を構成するプログラムが記憶され、同時に関係データモデル保持部１０４，オブジェクトデータモデル保持部１０６，主キー属性保持部１０７，属性対応関係保持部１０８，オブジェクトデータ演算ロジックモデル保持部１１０，設備データ属性操作手続き保持部１１１，関係データベース基本操作関数保持部１１３，及びオブジェクトデータ演算プログラム保持部１１５の保持するデータが記憶される。
【００４３】
外部記憶装置２０４は、各種データを格納する。外部記憶装置２０４は、例えば、ハードディスク装置などである。具体的には、関係データモデル保持部１０４，オブジェクトデータモデル保持部１０６，主キー属性保持部１０７，属性対応関係保持部１０８，オブジェクトデータ演算ロジックモデル保持部１１０，設備データ属性操作手続き保持部１１１，関係データベース基本操作関数保持部１１３，及びオブジェクトデータ演算プログラム保持部１１５が格納される。
【００４４】
あるいは、入出力部１０１，関係データ構造解析部１０３，オブジェクトデータモデル設計部１０５，オブジェクトデータ演算ロジックモデル設計部１０９，設備データ属性操作手続き生成部１１２，及びオブジェクトデータ演算プログラム生成部１１４を構成するプログラムの少なくとも一部についても、外部記憶装置２０４に格納され、各種処理実行の際にＣＰＵ２０２がメモリ２０３へ読み出してプログラムを実行することとしてもよい。また各プログラムは、あらかじめメモリ２０３または外部記憶装置２０４に格納されていても良いし、必要に応じて、利用可能な媒体を介して、他の装置からメモリ２０３または外部記憶装置２０４に導入されてもよい。媒体とは、例えば、外部媒体入出力装置２０７に着脱可能な記憶媒体、または、ネットワークや、ネットワークを伝搬する搬送波やデジタル信号などの通信媒体を指す。
【００４５】
表示装置２０５は、プログラムの処理結果などを表示する。表示装置２０５は、例えば、ディスプレイなどである。入力装置２０６は、処理の実行指示及び処理に必要な情報の入力などを利用者から受け付ける。入力装置２０６は、例えば、キーボード及びマウスなどである。
【００４６】
外部媒体入出力装置２０７は、外部媒体と、外部記憶装置２０４に格納されているデータなどの入出力を行う。外部媒体は、外部媒体入出力装置２０７に着脱可能で可搬性のある記憶媒体であり、外部媒体出力装置２０７は、外部媒体に読み書き可能なドライブ装置などである。
【００４７】
図３は，情報制御プログラムの生成の手順例を示すフローチャートである。
【００４８】
以下に示す処理は、情報制御プログラム生成装置２０１の備えるＣＰＵ２０２が、メモリ２０３で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００４９】
ＣＰＵ２０２は、関係データ構造解析部１０３を実行することによって、関係データベース１０２のデータ構造を解析し，関係データモデルを作成する。作成した上記関係データモデルは，関係データモデル保持部１０４に登録する（ステップ３０１）。
【００５０】
ＣＰＵ２０２は，オブジェクトデータモデル設計部１０５を実行することによって，ユーザからのオブジェクトデータモデルの入力を受け付け，上記オブジェクトデータモデルをオブジェクトデータモデル保持部１０６に登録する（ステップ３０２）。
【００５１】
オブジェクトデータモデル設計部１０５は，個々の設備を一意に特定する関係データ属性である主キー属性の指定をユーザから受け付け，上記主キー属性を主キー属性保持部１０７に登録する（ステップ３０３）。
【００５２】
オブジェクトデータモデル設計部１０５は，オブジェクトデータ属性と関係データ属性との対応関係を表す属性対応関係の入力をユーザから受け付け，上記属性対応関係を属性対応関係保持部１０８に登録する（ステップ３０４）。
【００５３】
ＣＰＵ２０２は，オブジェクトデータ演算ロジックモデル設計部１０９を実行することによって，ユーザからのオブジェクトデータ演算ロジックモデルの入力を受け付け，上記オブジェクトデータ演算ロジックモデルをオブジェクトデータ演算ロジックモデル保持部１１０に登録する（ステップ３０５）。
【００５４】
ＣＰＵ２０２は，オブジェクトデータ演算プログラム生成部１１４を実行することによって，オブジェクトデータ演算ロジックモデル保持部１１０からオブジェクトデータ演算ロジックモデルを取得し，上記オブジェクトデータ演算ロジックモデルから生成するオブジェクトデータ演算プログラムにおいて，操作を行うオブジェクトデータ属性を特定する。そして，上記操作対象のオブジェクトデータ属性とその操作内容を指定して，設備データ属性操作手続き生成部１１２を実行する。設備データ属性操作手続き生成部１１２は，属性対応関係保持部１０８から上記操作対象オブジェクトデータ属性に関する属性対応関係を取得し，オブジェクトデータモデル保持部１０６から上記操作対象オブジェクトデータ属性の属性定義情報を取得する。そして，取得した上記属性対応関係と上記属性定義情報に基づき，設備データ属性操作手続きとして，関係データ属性操作手続きあるいはオブジェクトデータ属性操作手続きのいずれかを生成する。生成した上記関係データ操作手続きあるいは上記オブジェクトデータ属性操作手続きは，設備データ属性操作手続きとして設備データ属性操作手続き保持部１１１に登録する（ステップ３０６）。
【００５５】
オブジェクトデータ演算プログラム生成部１１４は，取得済みの上記オブジェクトデータ演算ロジックモデルから，そのロジックを実現するオブジェクトデータ演算プログラムを生成する。その際に，設備データ属性操作手続き保持部１１１から設備データ属性操作手続きを取得し，上記オブジェクトデータ演算プログラムの生成において使用する。生成した上記オブジェクトデータ演算プログラムは，オブジェクトデータ演算プログラム保持部１１５に登録する（ステップ３０７）。
【００５６】
図４は，属性対応関係定義画面の例である
属性対応関係定義画面４０１は，オブジェクトデータモデル設計部１０５が，オブジェクトデータ属性と関係データ属性との対応関係を表す属性対応関係の入力をユーザから受け付ける際の画面，及び，個々の設備を一意に特定する関係データ属性である主キー属性の指定をユーザから受け付ける際の画面である。
【００５７】
抽象クラス４０２はオブジェクトデータモデルにおける設備の抽象クラスの名称を表す。クラス４０３はオブジェクトデータモデルにおける設備のクラス名称を表す。本例では，抽象クラス「信号機」がクラス「入場信号機」及び「出発信号機」を包含しており，これは「入場信号機」及び「出発信号機」は「信号機」の一種であることを意味している。属性４０４はクラス４０３が持つ設備データ属性の名称を表す。本例では，設備クラス「入場信号機」は設備データ属性「進路開通状態」，「故障状態」，及び「現示状態」を持つことを表している。
【００５８】
スキーマ４０６は，テーブル１のデータ構造を表しており，テーブル１が含む設備データ属性によって構成される。具体的には，スキーマ４０６は所属駅４０７，設備種別４０８，設備Ｎｏ４０９，内部ＩＤ４１０によって構成される。
【００５９】
主キー属性登録ボタン４１２は，上記主キー属性の登録を行うためのボタンである。ユーザはまず，主キーの選択対象となる設備をオブジェクトデータモデルのクラスから選択する。本例では，入場信号機４１４を選択している。次に，関係データモデルのスキーマに含まれる設備データ属性から，対象の設備を一意に特定する設備データ属性を，主キー属性として選択する。主キー属性は複数の設備データ属性から構成される場合もある。本例では所属駅４０７，設備種別４０８，設備Ｎｏ４０９の３つの設備データ属性が，入場信号機４０４の主キー属性として選択されている。最後にユーザは主キー属性登録ボタン４１２を押下することで，対象の設備を表すクラス名称と上記主キー属性を対応付けて主キー属性保持部１０７に登録する。
【００６０】
属性対応関係登録ボタン４１３は，上記属性対応関係の登録を行うためのボタンである。ユーザはまず，オブジェクトデータモデルの設備データ属性と，関係データモデルの設備データ属性を関係付ける。本例ではオブジェクトデータモデルの設備データ属性である現示状態４０５と，関係データモデルの設備データ属性である現示状態４１１を関係付けている。次にユーザは属性対応関係登録ボタン４１３を押下することで，上記属性対応関係を属性対応関係保持部１０８に登録する。
【００６１】
図５は，関係データ属性操作手続きの生成の手順例を示すフローチャートである。
【００６２】
以下に示す処理は、情報制御プログラム生成装置２０１の備えるＣＰＵ２０２が、メモリ２０３で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６３】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、オブジェクトデータ演算プログラム生成部１１４から指定された操作対象オブジェクトデータ属性に関する属性対応関係を，属性対応関係保持部１０８から取得する（ステップ５０１）。
【００６４】
設備データ属性操作手続き生成部１１２は，オブジェクトデータ演算プログラム生成部１１４から指定された上記操作対象オブジェクトデータ属性が属する設備の主キー属性を，主キー属性保持部１０７から取得する。そして上記主キー属性を，取得可能関係データ属性集合と定義する（ステップ５０２）。
【００６５】
設備データ属性操作手続き生成部１１２は，関係データモデル保持部１０４から，関係データモデルを構成するテーブルのうち，未取得のテーブルを取得する（ステップ５０３）。
【００６６】
設備データ属性操作手続き生成部１１２は，ステップ５０３で取得したテーブルのレコードを一意に特定するデータ属性の集合であるキー属性集合が，上記取得可能関係データ属性集合に含まれているかを確認する。上記キー属性集合が，上記取得可能関係データ属性集合に含まれていれば，ステップ５０５を実行する。含まれていなければ，ステップ５０３に戻って実行する（ステップ５０４）。
【００６７】
設備データ属性操作手続き生成部１１２は，上記属性対応関係において操作対象のオブジェクトデータ属性と対応付けられている関係データ属性が，ステップ５０３で取得したテーブルに含まれるかを確認する。含まれていればステップ５０８を実行する。含まれていなければステップ５０６を実行する（ステップ５０５）。
【００６８】
設備データ属性操作手続き生成部１１２は，上記キー属性集合に含まれるデータ属性を引数に持つ，ステップ５０３で取得したテーブルに含まれる他のデータ属性を取得する手続きを生成する。上記手続き生成の際には，関係データベース基本操作関数保持部１１３から得た基本関数情報を使ってもよい（ステップ５０６）。
【００６９】
設備データ属性操作手続き生成部１１２は，ステップ５０３で取得したテーブルに含まれるデータ属性で，上記キー属性集合に含まれていない他のデータ属性を，上記取得可能関係データ属性集合に追加する。そしてステップ５０３に戻って実行する（ステップ５０７）。
【００７０】
設備データ属性操作手続き生成部１１２は，上記キー属性集合を引数に持つ，上記属性対応関係において操作対象のオブジェクトデータ属性と対応付けられている関係データ属性を操作する手続きを生成する。上記手続き生成の際には，関係データベース基本操作関数保持部１１３から得た基本関数情報を使ってもよい（ステップ５０８）
設備データ属性操作手続き生成部１１２は，ステップ５０８で生成した，上記キー属性集合を引数に持つ関係データ属性操作手続きと，ステップ５０６で生成したキー属性取得手続きを合わせて，主キー属性を引数に持つ，操作対象の関係データ属性を操作する関係データ属性操作手続きを構成する（ステップ５０９）。
【００７１】
図６は，オブジェクトデータ演算プログラムの生成における設備データ属性操作手続きの選択手順例を示すフローチャートである。
【００７２】
以下に示す処理は、情報制御プログラム生成装置２０１の備えるＣＰＵ２０２が、メモリ２０３で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００７３】
ＣＰＵ２０２は，オブジェクトデータ演算プログラム生成部１１４を実行することによって，オブジェクトデータ演算ロジックモデル保持部１１０からオブジェクトデータ演算ロジックモデルを取得する。そして，オブジェクトデータ演算プログラムを生成する際に必要となる設備データ属性操作から，操作対象のオブジェクトデータ属性を決定する（ステップ６０１）。
【００７４】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、ステップ６０１で決定した操作対象オブジェクトデータ属性に関する属性対応関係が，属性対応関係保持部１０８に登録されているかを確認する。登録されていればステップ６０３を実行する。登録されていなければステップ６０６を実行する（ステップ６０２）。
【００７５】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、オブジェクトデータモデル保持部１０６からオブジェクトデータモデルを取得し，上記操作対象オブジェクトデータ属性が，関係データベースで保持する属性として定義されているかを確認する。関係データベースで保持する属性として定義されている場合はステップ６０４を実行する。そうでない場合は，ステップ６０６を実行する（ステップ６０３）。
【００７６】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、上記属性対応関係において上記操作対象オブジェクトデータ属性に対応付けられている操作対象関係データ属性を特定し，図５に示した手順に従って上記操作対象関係データ属性の操作手続きを生成する（ステップ６０４）。
【００７７】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、ステップ６０４にて生成した操作対象関係データ属性操作手続きを，設備データ属性操作手続きとして設備データ操作手続き保持部１１１に登録する（ステップ６０５）。
【００７８】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、上記オブジェクトデータモデルに基づき，操作対象オブジェクトデータ属性の操作手続きを生成する（ステップ６０６）。
【００７９】
ＣＰＵ２０２は、設備データ属性操作手続き生成部１１２を実行することによって、ステップ６０５にて生成した操作対象オブジェクトデータ操作手続きを，設備データ属性操作手続きとして設備データ操作手続き保持部１１１に登録する（ステップ６０７）。
【００８０】
以上のようにして，オブジェクトデータ演算ロジックモデルからオブジェクトデータ演算プログラムを生成する際に，上記プログラム内で使用する設備データ属性操作手続きを，関係データ属性操作手続きあるいはオブジェクトデータ属性操作手続きとして生成する手段を提供する，情報制御プログラム生成装置を提供できる。
【符号の説明】
【００８１】
１０１  入出力部
１０２  関係データベース
１０３  関係データ構造解析部
１０４  関係データモデル保持部
１０５  オブジェクトデータモデル設計部
１０６  オブジェクトデータモデル保持部
１０７  主キー属性保持部
１０８  属性対応関係保持部
１０９  オブジェクトデータ演算ロジックモデル設計部
１１０  オブジェクトデータ演算ロジックモデル保持部
１１１  設備データ属性操作手続き保持部
１１２  設備データ属性操作手続き生成部
１１３  関係データベース基本操作関数保持部
１１４  オブジェクトデータ演算プログラム生成部
１１５  オブジェクトデータ演算プログラム保持部
【図１】
2012230583.tif 000003
【図２】
2012230583.tif 000004
【図３】
2012230583.tif 000005
【図４】
2012230583.tif 000006
【図５】
2012230583.tif 000007
【図６】
2012230583.tif 000008