(57)【要約】【課題】プログラミング作業を初心者でも簡単にミスなく行えるようにする。【解決手段】ソースファイルの識別名となるメソッド名と、実行時の動作の違いによって区別されたスレッドタイプとの設定を促すＧＵＩ画面をコンピュータのディスプレイに表示させる。コンピュータは、ＧＵＩ画面を介してメソッド名とスレッドタイプとが設定されると、設定されたスレッドタイプのソースコードテンプレートを読込んで１つのソースファイル３を作成し、このソースファイルのソースコードテンプレートに設定されたメソッド名を反映させるとともに、この設定されたメソッド名及びスレッドタイプを当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルに反映させる。【選択図】      図３
2006196021.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上において、スレッドの実行内容を示すソースコードを記述したソースファイルを少なくとも1つ作成するとともに、前記ソースファイルのスレッド実行条件等を定義するスレッド定義情報を記述した定義ファイルを作成し、前記ソースファイルと定義ファイルとをコンパイルしてオブジェクトプログラムを生成するプログラミングの支援プログラムであって、
前記コンピュータに、
前記ソースファイルの識別名となるメソッド名と、実行時の動作の違いによって区別されたスレッドタイプとの設定を促すＧＵＩ（Graphical User Interface）画面を表示させる機能と、
前記スレッドタイプの動作に応じたソースコードテンプレートをスレッドタイプ別にテンプレートファイルに記憶する機能と、
前記ＧＵＩ画面を介して前記メソッド名と前記スレッドタイプとが設定されると、設定されたスレッドタイプのソースコードテンプレートを前記テンプレートファイルから読込んで１つのソースファイルを作成し、このソースファイルのソースコードテンプレートに設定されたメソッド名を反映させるとともに、この設定されたメソッド名及びスレッドタイプを当該メソッド名で識別されるソースファイルのスレッド定義情報として前記定義ファイルに反映させる機能と、
を実現させることを特徴とするプログラミング支援プログラム。
【請求項２】
前記ＧＵＩ画面から、設定されたメソッド名で識別されるソースファイルのスレッドに対して、同時に実行できるスレッドの最大数である同時実行数を設定可能とし、
前記ＧＵＩ画面を介して前記メソッド名及びスレッドタイプとともに前記同時実行数が設定されると、この同時実行数に関する情報を、同じく設定されたメソッド名及びスレッドタイプとともに前記定義ファイルに反映させることを特徴とする請求項１記載のプログラミング支援プログラム。
【請求項３】
前記ＧＵＩ画面から、設定されたメソッド名で識別されるソースファイルのスレッドに対して、ビジーになった受信メッセージをキューに格納して順次実行させるメッセージキューイングを設定可能とし、
前記ＧＵＩ画面を介して前記メソッド名及びスレッドタイプとともに前記メッセージキューイングが設定されると、このメッセージキューイングに関する情報を、同じく設定されたメソッド名及びスレッドタイプとともに前記定義ファイルに反映させることを特徴とする請求項１または２記載のプログラミング支援プログラム。
【請求項４】
前記ＧＵＩ画面から、設定されたメソッド名で識別されるソースファイルのスレッドに対して、排他制御される他のスレッドを設定可能とし、
前記ＧＵＩ画面を介して前記メソッド名及びスレッドタイプとともに排他制御される他のスレッドが設定されると、この設定された他のスレッドに関する情報を、同じく設定されたメソッド名及びスレッドタイプとともに前記定義ファイルに反映させることを特徴とする請求項１乃至３のいずれかに記載のプログラミング支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチスレッド対応のオブジェクトプログラムをコンピュータ上で効率よく開発できるように支援するプログラミング支援プログラムに関する。
【背景技術】
【０００２】
スレッドと呼ばれる最小単位の処理を複数並行して実行することができるマルチスレッド対応のアプリケーションソフト，ユーティリティソフト等のオブジェクトプログラムをコンピュータ上で開発（プログラミング）するには、スレッドの実行内容を示すソースコードを記述したソースファイルをスレッド毎に作成するとともに、各ソースファイルのスレッド実行条件等を定義するスレッド定義情報を記述した定義ファイルを作成する必要がある。ソースファイルと定義ファイルとが誤りなく作成されると、所定のコンパイラを起動して当該ソースファイルと定義ファイルとをコンパイルすることによって、マルチスレッド対応のオブジェクトプログラムが生成される。
【０００３】
そこで従来は、プログラミング作業者がエディタと呼ばれるテキストファイル編集用のソフトウェアを利用してソースコードをテキストデータでコンピュータに入力することにより、ソースファイルと定義ファイルとをコンピュータ上に作成していた。このため、プログラミング作業者は、ソースコードの意味及び使い方を一つ一つ理解し、ソースファイル及び定義ファイルの適切な場所に該当するソースコードを記述して、ソースファイルと定義ファイルとを作り上げていた。
【０００４】
なお、本願に関連する先行技術文献としては、プログラムを自動生成する際に、ユーザの入力に応じてテンプレートを選択してプログラムを作成することを示した文献がある（例えば、特許文献１，２参照）。
【特許文献１】特開平０９-１８５４９９号公報
【特許文献２】特開平０４-２７３５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、プログラミング作業には、ソースコードの意味及び使い方を一つ一つ理解しなければならなかったので、プログラミング初心者がプログラムを作り上げるには、学習する時間も含めると多くの時間を要していた。また、ソースコードを入力する作業自体にも時間を要する上、入力ミスによってコンパイルできないこともあった。
【０００６】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、プログラミング作業を初心者でも簡単にミスなく行うことができるプログラミング支援プログラムを提供しようとするものである。
【課題を解決するための手段】
【０００７】
本発明のプログラミング支援プログラムは、コンピュータに、ソースファイルの識別名となるメソッド名と、実行時の動作の違いによって区別されたスレッドタイプとの設定を促すＧＵＩ画面を表示させる機能と、スレッドタイプの動作に応じたソースコードテンプレートをスレッドタイプ別にテンプレートファイルに記憶する機能と、ＧＵＩ画面を介してメソッド名とスレッドタイプとが設定されると、設定されたスレッドタイプのソースコードテンプレートをテンプレートファイルから読込んで１つのソースファイルを作成し、このソースファイルのソースコードテンプレートに設定されたメソッド名を反映させるとともに、この設定されたメソッド名及びスレッドタイプを当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルに反映させる機能とを実現させるものである。
【０００８】
本発明のプログラミング支援プログラムをコンピュータ上で起動すると、当該コンピュータのディスプレイにＧＵＩ画面が表示される。そこで、この画面を介してメソッド名とスレッドタイプとを設定すると、当該スレッドタイプのソースコードテンプレートを含むソースファイルが自動的に作成され、このソースコードテンプレートの所定場所に設定されたメソッド名が反映される。また、設定されたメソッド名及びスレッドタイプが当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルに反映される。
【発明の効果】
【０００９】
かかる手段を講じた本発明によれば、プログラミング作業を初心者でも簡単にミスなく行うことができるプログラミング支援プログラムを提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施の形態を図面を用いて説明する。  
なお、この実施の形態は、マルチスレッド対応のオブジェクトプログラムをコンピュータ上でプログラミングするのを支援するプログラミング支援プログラムに関するものである。因みに、１つのオブジェクトプログラムが並行して複数の処理を行うことをマルチスレッドと称し、１つ１つの処理単位をスレッドと称している。
【００１１】
はじめに、本実施の形態におけるプログラミングの概略について、図１を用いて説明する。同図において、符号１はプログラミングを行うコンピュータ，例えばパソコン，ワークステーション等を示している。プログラミングは、コンピュータ１上にソースプログラム２を作成する。ソースプログラム２は、スレッド毎にその実行内容を示すソースコードを記述したＮ（Ｎ≧１）個のソースファイル３と、各ソースファイル３のスレッド実行条件等を定義するスレッド定義情報を記述した定義ファイル４とからなる。ソースプログラム２が作成されると、このソースプログラム２のソースファイル３及び定義ファイル４の記述をコンパイラ言語とするコンパイラ５でソースプログラム２をコンパイル（翻訳）することによって、所期の目的であるオブジェクトプログラム６が生成される。
【００１２】
本実施の形態は、コンピュータ１上で動作し、ソースプログラム２の作成作業を簡易化するべく支援するプログラミング支援プログラム７にある。
【００１３】
図２は前記コンピュータ１の主要なハードウェア構成を示すブロック図である。コンピュータ１は、主制御部を構成するＣＰＵ（Central Processing Unit）１１と、主記憶部を構成するＲＯＭ（Read Only Memory）１２及びＲＡＭ（Random Access Memory）１３と、補助記憶装置を構成するＨＤＤ（Hard Disk Drive）装置１４と、キーボードインタフェース１５，マウスインタフェース１６，ディスプレイインタフェース１７、記憶媒体インタフェース１８等の各種入出力インタフェースとから構成されている。ＣＰＵ１１と、ＲＯＭ１２，ＲＡＭ１３，ＨＤＤ装置１４及び各種入出力インタフェース１５，１６，１７，１８とは、アドレスバス，データバス等のバスライン１９によって接続されている。
【００１４】
キーボードインタフェース１５には、文字キー，数字キー，スペースキー，エンターキー，カーソルキー，ファンクションキー等が配設されたキーボード１５ａが接続される。ディスプレイインタフェース１７には、液晶ディスプレイ，ＣＲＴディスプレイ等のディスプレイ装置１７ａが接続される。マウスインタフェース１６には、ディスプレイ装置１７ａの画面上に表示されるポインタを移動させるポインティングデバイスとしてのマウス１７ａが接続される。記憶媒体インタフェース１８には、フレキシブルディスク，ＣＤ−ＲＯＭ等の記憶媒体１８ａが接続される。
【００１５】
プログラミング支援プログラム７は記憶媒体１８ａに記憶されており、記憶媒体インタフェース１８を介してコンピュータに読取られ、ＨＤＤ装置１４にインストールされて使用される。なお、図示しないが、有線または無線の通信インタフェースを有するコンピュータ１に対しては、インターネット等の通信媒体を介してプログラミング支援プログラム７をＨＤＤ装置１４にイントールすることによって、使用してもよい。
【００１６】
しかして、上記プログラミング支援プログラム７がインストールされたコンピュータ１においては、ＣＰＵ１１が図３乃至図１２の流れ図に示す処理を実行するものとなっている。
【００１７】
すなわち、上記プログラミング支援プログラム７が起動されると、ＣＰＵ１１は図３に示すメイン処理を開始する。先ず、ＳＴ（ステップ）１としてディスプレイインタフェース１７に接続されているディスプレイ装置１７ａに、ＧＵＩ（Graphical User Interface）を利用してスレッド作成画面を表示させる。
【００１８】
スレッド作成画面の一例を図１３に示す。このスレッド作成画面３０には、メソッドエリア３１，スレッドタイプエリア３２，スレッドプールエリア３３，キューエリア３４，排他テーブルエリア３５及びスレッド同時実行数エリア３６が割り当てられているとともに、ＯＫボタン３７とキャンセルボタン３８とが配置されている。
【００１９】
メソッドエリア３１には、前記ソースファイル３の識別名となるメソッド名，クラス名及びソースファイル名の表示欄３１ａ，３１ｂ，３１ｃが形成されている。そして、画面上のポインタでメソッド名表示欄３１ａを指定することにより、任意のメソッド名をキー入力できる。また、クラス名表示欄３１ｂを指定することにより、任意のクラス名をキー入力できる。
【００２０】
スレッドタイプエリア３２には、実行時の動作の違いによって区別された３種類のスレッドタイプ（「ダイナミック」，「レジデンス」，「シングルトン」）の選択子３２ａ，３２ｂ，３２ｃが形成されており、いずれかの選択子３２ａ，３２ｂ，３２ｃを指定することにより、対応するスレッドタイプが設定される。因みに、スレッドタイプ「ダイナミック」は非常駐のスレッドであり、処理要求メッセージを受信すると、動的にスレッドを生成して処理を実行させるものである。スレッドタイプ「レジデンス」は常駐のスレッドであり、プロセス起動時に全てのスレッドをメモリにマッピング（生成／初期化）しておき、処理要求メッセージに応じて業務ロジック部を実行させるものである。スレッドタイプ「シングルトン」は常駐のスレッドであり、常駐させる単一のインスタンスのスレッドを継続して実行させるものである。
【００２１】
スレッドプールエリア３３には、メソッドエリア３１のソースファイル名表示欄３１ｃに表示されているソースファイル名が付されたソースファイルのスレッドに対してスレッドプール管理を使用するか否かを選択するための選択子３３ａ，３３ｂが形成されている。スレッドタイプが「ダイナミック」のスレッドに対してスレッドプール管理を使用するか否かを選択可能であり、「レジデンス」のスレッドに対してはスレッドプール管理を必ず使用し、「シングルトン」のスレッドに対してはスレッドプール管理を使用しない。
【００２２】
キューエリア３４には、同スレッドに対して、ビジーになった受信メッセージ（処理要求）をキューに格納して順次実行させるメッセージキューイングを使用するか否かを選択するための選択子３４ａ，３４ｂが形成されている。また、キューの名称がプルダウン表示される表示欄３４ｃと、キューの作成を指令するキュー作成ボタン３４ｄとが形成されている。スレッドタイプが「ダイナミック」または「レジデンス」のスレッドに対してメッセージキューイングを使用するか否かを選択可能であり、「シングルトン」のスレッド対してはメッセージキューイングを使用しない。
【００２３】
排他テーブルエリア３５には、同スレッドに対して、排他制御を行うか否かを選択するための選択子３５ａ，３５ｂが表示されている。また、排他制御を行うスレッド名が登録される排他テーブルの名称がプルダウン表示される表示欄３５ｃと、排他テーブルの作成を指令するテーブル作成ボタン３５ｄとが形成されている。スレッドタイプが「ダイナミック」または「レジデンス」のスレッドに対して排他制御を行うか否かを選択可能であり、「シングルトン」のスレッドに対しては排他制御を行わない。
【００２４】
スレッド同時実行数エリア３６には、同スレッドに対して同時に実行できるスレッドの最大数、いわゆる同時実行数を制限するか否かを選択するための選択子３６ａ，３６ｂが表示されている。また、同時実行数を制限する場合において、その実行数を表示する表示欄３６ｃが形成されている。この表示欄３６ｃをポインタで指定することによって、任意の同時実行数をキー入力できる。スレッドタイプが「ダイナミック」または「レジデンス」のスレッドに対して同時実行数を制限するか否かを選択可能であり、「シングルトン」のスレッドに対しては同時実行数が固定（１）である。
【００２５】
ＣＰＵ１１は、上記スレッド作成画面３０をディスプレイ装置１７ａに表示させることによって、メソッド名やスレッドタイプの設定を促す。また、スレッドプール管理，メッセージキューイング，排他制御，同時実行数等のスレッド実行条件の設定を促す。この状態で、ＳＴ２としてメソッドエリア３１のメソッド名表示欄３１ａまたはクラス名表示欄３１ｂへの入力が行われたか否かを判断する。入力が行われていない場合には、ＳＴ３の処理に進む。
【００２６】
これに対し、メソッドエリア３１のメソッド名表示欄３１ａまたはクラス名表示欄３１ｂへの入力が行われた場合には、図４に具体的に示すメソッド入力処理を実行する。先ず、ＳＴ２１としてメソッド名表示欄３１ａにメソッド名が表示されているか否かを判断する。メソッド名が表示されていない場合には、ＳＴ２２としてメソッド名表示欄３１ａへの入力が行われたか否かを確認する。メソッド名表示欄３１ａでなくクラス名表示欄３１ｂへの入力が行われた場合には、メソッド名より先にクラス名を入力しようとする誤操作なので、ＳＴ３の処理に進む。
【００２７】
ＳＴ２２にてメソッド名表示欄３１ａへの入力が行われた場合には、新規スレッドのメソッド名が入力されたので、ＳＴ２３としてキー入力されたテキスト情報をメソッド名としてＲＡＭ１３に記憶する。また、ＳＴ２４としてこのメソッド名に基づいてクラス名及びソースファイル名を自動的に作成してＲＡＭ１３に記憶する。しかる後、ＳＴ２５としてメソッド名，クラス名及びソースファイル名をメソッドエリア３１の各表示欄３１ａ，３１ｂ，３１ｃに表示させたならば、ＳＴ３の処理に進む。
【００２８】
一方、ＳＴ２１にてメソッド名が表示されている場合には、ＳＴ２６として入力が行われた表示欄を確認する。ここで、メソッド名表示欄３１ａへの入力が行われた場合には、メソッド名が変更されたので、前記ＳＴ２３〜ＳＴ２５の処理を実行する。つまり、ＲＡＭ１３に記憶していたメソッド名を破棄し、キー入力されたメソッド名を変更後のメソッド名として記憶する。また、変更後のメソッド名に基づいてクラス名及びソースファイル名を自動的に作成してＲＡＭ１３に記憶する。しかる後、変更後のメソッド名，クラス名及びソースファイル名をメソッドエリア３１の各表示欄３１ａ，３１ｂ，３１ｃに表示させたならば、ＳＴ３の処理に進む。
【００２９】
これに対し、クラス名表示欄３１ｂへの入力が行われた場合には、クラス名が変更されたので、ＳＴ２７としてＲＡＭ１３に記憶していたクラス名を破棄し、キー入力されたテキスト情報を変更後のクラス名として記憶する。しかる後、前記ＳＴ２５の処理に進み、メソッド名，変更後のクラス名及びソースファイル名をメソッドエリア３１の各表示欄３１ａ，３１ｂ，３１ｃに表示させたならば、ＳＴ３の処理に進む。
【００３０】
ＳＴ３では、スレッドタイプエリア３２のいずれかの選択子３２ａ，３２ｂ，３２ｃが選択されたか否かを判断する。選択されていない場合には、ＳＴ４の処理に進む。
【００３１】
スレッドタイプエリア３２のいずれかの選択子３２ａ，３２ｂ，３２ｃが選択されたことを検知した場合には、図５の流れ図に示すスレッドタイプ選択処理を実行する。先ず、ＳＴ３１として選択された選択子がどのスレッドタイプに対応するものかを判断する。ここで、スレッドタイプ「ダイナミック」に対応する選択子３２ａが選択されたことを確認した場合には、ＲＡＭ１３に記憶しているスレッドタイプ識別データを［ＤＹＮＡＭＩＣ］に更新し、スレッドタイプ「レジデンス」に対応する選択子３２ｂが選択されたことを確認した場合には、スレッドタイプ識別データを［ＲＥＳＩＤＥＮＣＥ］に更新し、スレッドタイプ「シングルトン」に対応する選択子３２ｂが選択されたことを確認した場合には、スレッドタイプ識別データを［ＳＩＮＧＬＥＴＯＮ］に更新する。しかる後、ＳＴ４の処理に進む。
【００３２】
因みに、この実施の形態では、デフォルトとしてスレッドタイプ「ダイナミック」が選択されており、スレッドタイプ識別データとして［ＤＹＮＡＭＩＣ］が予めＲＡＭ１３に格納されている。なお、デフォルトとしてスレッドタイプ「レジデンス」が選択され、スレッドタイプ識別データとして［ＲＥＳＩＤＥＮＣＥ］が予め格納されていてもよいし、スレッドタイプ「シングルトン」が選択され、スレッドタイプ識別データとして［ＳＩＮＧＬＥＴＯＮ］が予め格納されていてもよい。
【００３３】
ＳＴ４では、スレッドプールエリア３３においてどちらの選択子３３ａ，３３ｂが選択されているか否かを判断する。ここで、「スレッドプール管理を使用しない」に対応する選択子３３ａが選択されていた場合には、ＲＡＭ１３上のスレッドプールフラグＳＰＦを“０”に設定する。これに対し、「スレッドプール管理を使用する」に対応する選択子３３ｂが選択されていた場合には、同スレッドプールフラグＳＰＦを“１”に設定する。しかる後、ＳＴ５の処理に進む。
【００３４】
なお、スレッドプールフラグＳＰＦは、デフォルト値として“１”が設定されている。また、スレッドプールエリア３３の選択子３３ａ，３３ｂは、ＳＴ３にて選択されたスレッドタイプが「ダイナミック」または「レジデンス」のときに選択可能であり、「シングルトン」のときには選択することができないようになっている。
【００３５】
ＳＴ５では、キューエリア３４に対する入力の有無を判断する。そして、入力無しの場合には、ＳＴ６の処理に進む。
【００３６】
これに対し、「メッセージキューイングを使用しない」に対応する選択子３４ａが選択された場合には、ＲＡＭ１３上のキューフラグＱＵＦを“０”に設定して、ＳＴ６の処理に進む。
【００３７】
また、キュー作成ボタン３４ｄが入力された場合には、図６の流れ図に示すキュー作成処理を実行する。先ず、ＳＴ５１としてディスプレイ装置１７ａにＧＵＩを利用してキュー作成画面を表示させる。
【００３８】
キュー作成画面の一例を図１４に示す。このキュー作成画面４０は、キュー名入力欄４１，キューサイズ入力欄４２及び優先度入力欄４３と、保存フラグを保存するか否かの選択子４４ａ，４４ｂが設けられた保存フラグエリア４４と、ＯＫボタン４５及びキャンセルボタン４６が配置されている。
【００３９】
ＣＰＵ１１は、キュー作成画面４０を表示させることによって、キュー名，キューサイズ，優先度，保存フラグの設定を促す。なお、キュー名は、キューの識別名である。キューサイズは、キューに格納できるメッセージ数［１〜９９９９９］である。優先度は、キューの優先度であり、１０段階で設定する。優先度１が最優先である。下位のキューは、上位のキュー全てが処理されるまで実行されない。保存フラグを「保存する」とした場合、キューが残ったままプロセスを終了したとき、未処理のキューがファイルに保存される。そして、保存されたキューは、次にプロセスが起動したとき読込まれて処理される。
【００４０】
ＣＰＵ１１は、ＳＴ５２としてキュー作成画面４０のキュー名入力欄４１にキュー名がキー入力されたことを検知すると、そのキュー名データをＲＡＭ１３に記憶する。また、ＳＴ５３としてキューサイズ入力欄４２に１〜９９９９９の範囲でキューサイズデータが入力されると、そのキューサイズをＲＡＭ１３に記憶する。また、ＳＴ５４として優先度入力欄４３に１〜１０の優先度が入力されると、その優先度データをＲＡＭ１３に記憶する。また、ＳＴ５５として保存フラグエリア４４の「保存フラグを保存しない」に対応する選択子４４ａが入力されると、キュー保存フラグＱＰＦを“０”に設定し、「保存フラグを保存する」に対応する選択子４４ｂが入力されると、キュー保存フラグＱＰＦを“１”に設定する。
【００４１】
また、ＳＴ５６としてＯＫボタン４５が入力された場合には、ディスプレイ装置１７ａの画面を前記スレッド作成画面３０に戻す。そして、この画面３０のキューエリア３４における表示欄３４ｃに、ＲＡＭ１３に記憶したキュー名を表示させる。その後、キューフラグＱＵＦを“１”に設定したならば、ＳＴ６の処理に進む。
【００４２】
なお、ＯＫボタン４５でなく、ＳＴ５７としてキャンセルボタン４６が入力された場合には、ディスプレイ装置１７ａの画面を前記スレッド作成画面３０に戻した後、ＲＡＭ１３に記憶したメッセージキューイングに関するデータ（キュー名，キューサイズ，優先度，保存フラグ）をクリアする。また、キューフラグＱＵＦが“１”に設定されていた場合には“０”に設定する。しかる後、ＳＴ６の処理に進む。
【００４３】
ＳＴ６では、排他テーブルエリア３５に対する入力の有無を判断する。そして、入力無しの場合には、ＳＴ７の処理に進む。
【００４４】
これに対し、「排他テーブルを使用しない（排他制御を行わない）」に対応する選択子３５ａが選択された場合には、ＲＡＭ１３上の排他テーブルフラグＥＸＦを“０”に設定して、ＳＴ７の処理に進む。
【００４５】
また、排他テーブル作成ボタン３５ｄが入力された場合には、図７の流れ図に示す排他テーブル作成処理を実行する。先ず、ＳＴ６１としてディスプレイ装置１７ａにＧＵＩを利用して排他テーブル作成画面を表示させる。
【００４６】
排他テーブル作成画面の一例を図１５に示す。この排他テーブル作成画面５０は、テーブル名入力欄５１、対象スレッドのメソッド名一覧表示欄５２、排他スレッドのメソッド名一覧表示欄５３及び新規メソッド名の入力欄５４と、排他スレッド追加ボタン５５、排他スレッド削除ボタン５６、全追加ボタン５７、全削除ボタン５８、新規メソッド名追加ボタン５９、ＯＫボタン６０及びキャンセルボタン６１とが配置されている。
【００４７】
ＣＰＵ１１は、排他テーブル作成画面５０を表示させることによって、排他制御する他のスレッドの選択を促す。さて、ＣＰＵ１１は、排他テーブル作成画面５０を表示させると、次に、ＳＴ６２としてＲＡＭ１３に排他テーブルを記憶しているか否かを判断する。排他テーブルを記憶していない場合には、ＳＴ６３として排他テーブル名が入力されるのを待機する。この待機状態において、ＳＴ６４としてキャンセルボタン６１が入力された場合には、ディスプレイ装置１７ａの画面を前記スレッド作成画面３０に戻して、ＳＴ７の処理に進む。
【００４８】
ＳＴ６３にてテーブル名入力欄５１への入力が行われた場合には、待機テーブル名が入力されたので、ＳＴ６５としてこのキー入力されたテーブル名の排他テーブルをＲＡＭ１３に作成する。そして、ＳＴ６６として対象スレッドのメソッド名一覧表示欄５２に、ＲＡＭ１３に記憶している全てのメソッド名を表示させる。このとき、排他テーブルには排他制御するスレッドのメソッド名が格納されていないので、排他スレッドのメソッド名一覧表示欄５３には何も表示しない。
【００４９】
一方、ＳＴ６２にてＲＡＭ１３に排他テーブルを記憶している場合には、前記ＳＴ６６の処理に進む。そして、この排他テーブルに格納されているスレッド名を排他スレッドのメソッド名一覧表示欄５３に表示する。また、ＲＡＭ１３に記憶している残りのメソッド名を対象スレッドのメソッド名一覧表示欄５２に表示させる。
【００５０】
しかる後、ＣＰＵ１１は、各ボタン５５〜６１が入力されるのを待機する。ここで、ＳＴ６７として新規メソッド名追加ボタン５９が入力された場合には、新規メソッド名入力欄５４に入力されているメソッド名をＲＡＭ１３に記憶するとともに、対象スレッドのメソッド名一覧表示欄５２に追加する。
【００５１】
一方、ＳＴ６８として排他スレッド追加ボタン５５が入力された場合には、対象スレッドのメソッド名一覧表示欄５２にて選択されているメソッド名をＲＡＭ１３の排他テーブルに複写する。また、ＳＴ６９として排他スレッド削除ボタン５６が入力された場合には、排他スレッドのメソッド名一覧表示欄５３にて選択されているメソッド名を排他テーブルから削除する。また、ＳＴ７０として全追加ボタン５７が入力された場合には、対象スレッドのメソッド名一覧表示欄５２に表示されているメソッド名をＲＡＭ１３の排他テーブルに全て複写する。また、ＳＴ７１として全削除ボタン５８の入力を検知した場合には、排他スレッドのメソッド名一覧表示欄５３に表示されているメソッド名を排他テーブルから全て削除する。しかる後、ＳＴ６６の処理に戻って、各メソッド名一覧表示欄５２，５３の表示内容を更新する。
【００５２】
また、ＳＴ７２としてＯＫボタン６０が入力された場合には、ディスプレイ装置１７ａの画面を前記スレッド作成画面３０に戻す。そして、この画面の排他テーブルエリア３５における表示欄３５ｃに、ＲＡＭ１３に記憶した排他テーブル名を表示させる。その後、排他テーブルフラグＥＸＦを“１”に設定したならば、ＳＴ７の処理に進む。
【００５３】
なお、ＯＫボタン４５でなく、ＳＴ７３としてキャンセルボタン６１が入力された場合には、ディスプレイ装置１７ａの画面を前記スレッド作成画面３０に戻した後、ＲＡＭ１３に記憶していた排他テーブルを削除する。また、排他テーブルフラグＥＸＦが“１”に設定されていた場合には“０”に設定する。しかる後、ＳＴ７の処理に進む。
【００５４】
ＳＴ７では、同時実行数エリア３６に対する入力有無を判断する。そして、入力無しの場合には、ＳＴ８の処理に進む。
【００５５】
これに対し、「同時実行数制限無し」に対応する選択子３６ａが選択された場合には、ＲＡＭ１３上の同時実行数フラグＰＲＦを“０”に設定して、ＳＴ８の処理に進む。
【００５６】
また、「同時実行数制限有り」に対応する選択子３６ｂが選択された場合には、図８の流れ図に示す同時実行数制限処理を実行する。先ず、ＳＴ８１として同時実行数エリア３６の表示欄３６ｃに同時実行数（≧０）が入力されるのを待機する。そして、同時実行数がキー入力されたならば、ＳＴ８２として入力された同時実行数が“０”より大きいか否かを判断する。そして、同時実行数が“０”より大きい場合には、この同時実行数をＲＡＭ１３に記憶するとともに、表示欄３６ｃに表示させる。その後、同時実行数フラグＰＲＦを“１”に設定したならば、ＳＴ８の処理に進む。
【００５７】
一方、同時実行数として“０”が入力された場合には、同時実行数制限無しと認識する。そして、同時実行数フラグＰＲＦが“１”に設定されていた場合には“０”に設定して、ＳＴ８の処理に進む。
【００５８】
ＳＴ８では、スレッド作成画面３０のＯＫボタン３７が入力されたか否かを判断する。ＯＫボタン３７が入力されていない場合には、ＳＴ９としてキャンセルボタン３８が入力されたか否かを判断する。キャンセルボタン３８も入力されていない場合には、ＳＴ２の処理に戻る。
【００５９】
スレッド作成画面３０のＯＫボタン３７が入力された場合には、図９の流れ図に示すスレッド定義記憶処理を実行する。先ず、ＳＴ９１としてメソッドエリア３１のメソッド名表示欄３１ａにメソッド名が入力されているか否かを判断する。メソッド名が入力されていない場合、つまりＲＡＭ１３にメソッド名が格納されていない場合には、ＳＴ１０の処理に進む。
【００６０】
メソッド名が入力されている場合、つまりＲＡＭ１３にメソッド名が格納されている場合には、図１６（ｃ）に示すフォーマットのスレッド定義レコード（ＯＮ＿ＪＯＢ）の第１パラメータ及び第２パラメータに、ＲＡＭ１３に記憶しているメソッド名及びクラス名をセットする。
【００６１】
次に、ＳＴ９２としてスレッドタイプエリア３２にて選択されているスレッドタイプを判断する。ここで、ＲＡＭ１３にスレッドタイプ識別データ［ＳＩＮＧＬＥＴＯＮ］を記憶している場合には、スレッドタイプ「シングルトン」が選択されているので、以下の処理を実行する。先ず、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第３パラメータにスレッドタイプ識別データ［ＳＩＮＧＬＥＴＯＮ］をセットする。次に、第４パラメータに同時実行数［１］をセットする。次に、第５パラメータに排他テーブル，メッセージキューイング及びスレッドプール管理を行わないことを示すデータ「ｎｕｌｌ」をセットする。しかる後、ＳＴ９７としてこのスレッド定義レコード（ＯＮ＿ＪＯＢ）をソースプログラム２の定義ファイル４に反映させたならば、ＳＴ１０の処理に進む。
【００６２】
一方、ＳＴ９２にてＲＡＭ１３にスレッドタイプ識別データ［ＲＡＳＩＤＥＮＣＥ］を記憶している場合には、スレッドタイプ「レジデンス」が選択されているので、以下の処理を実行する。先ず、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第３パラメータにスレッドタイプ識別データ［ＲＡＳＩＤＥＮＣＥ］をセットする。次に、第７パラメータにスレッドプール管理を使用することを示すデータ「ＵｓｅＭｓＴｈｒｅａｄＰｏｏｌ」をセットする。
【００６３】
次に、ＳＴ９４としてＲＡＭ１３に記憶している同時実行数フラグＰＲＦを調べる。そして、同時実行数フラグＰＲＦが“０”に設定されていた場合には、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第４パラメータに同時実行数［０］をセットする。これに対し、同時実行数フラグＰＲＦが“１”に設定されていた場合には、ＲＡＭ１３に記憶している同時実行数を前記第４パラメータにセットする。
【００６４】
次に、ＳＴ９５としてＲＡＭ１３に記憶している排他テーブルフラグＥＸＦを調べる。そして、排他テーブルフラグＥＸＦが“０”に設定されていた場合には、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第５パラメータに排他制御を行わないことを示すデータ「ｎｕｌｌ」をセットする。これに対し、排他テーブルフラグＥＸＦが“１”に設定されていた場合には、ＲＡＭ１３に記憶している排他テーブル名を前記第５パラメータにセットするとともに、後述する排他テーブル定義記憶処理を実行する。
【００６５】
次に、ＳＴ９６としてＲＡＭ１３に記憶しているキューフラグＱＵＦを調べる。そして、キューフラグＱＵＦが“０”に設定されていた場合には、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第６パラメータを省略する。このとき、第７パラメータに挿入されたにデータ「ＵｓｅＭｓＴｈｒｅａｄＰｏｏｌ」は、第６パラメータに移される。これに対し、キューフラグＱＵＦが“１”に設定されていた場合には、ＲＡＭ１３に記憶しているキュー名を前記第６パラメータにセットするとともに、後述するキュー定義記憶処理を実行する。
【００６６】
しかる後、ＳＴ９７としてこのスレッド定義レコード（ＯＮ＿ＪＯＢ）をソースプログラム２の定義ファイル４に反映させたならば、ＳＴ１０の処理に進む。
【００６７】
また、ＳＴ９２にてＲＡＭ１３にスレッドタイプ識別データ［ＤＹＮＡＭＩＣ］を記憶している場合には、スレッドタイプ「ダイナミック」が選択されているので、以下の処理を実行する。先ず、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第３パラメータにスレッドタイプ識別データ［ＤＹＮＡＭＩＣ］をセットする。次に、ＳＴ９３としてＲＡＭ１３に記憶しているスレッドプールフラグＳＰＦを調べる。そして、スレッドプールフラグＳＰＦが“０”に設定されていた場合には、前記スレッド定義レコード（ＯＮ＿ＪＯＢ）の第７パラメータを省略する。これに対し、スレッドプールフラグＳＰＦが“１”に設定されていた場合には、第７パラメータにスレッドプール管理を使用することを示すデータ「ＵｓｅＭｓＴｈｒｅａｄＰｏｏｌ」をセットする。
【００６８】
その後、前記スレッドタイプ「レジデンス」が選択されていた場合と同様に、ＳＴ９４〜ＳＴ９７の処理を順次実行して、スレッド定義レコード（ＯＮ＿ＪＯＢ）をソースプログラム２の定義ファイル４に反映させたならば、ＳＴ１０の処理に進む。
【００６９】
図１０は、前記排他テーブル記憶処理を示す流れ図である。ＣＰＵ１１は先ず、図１６（ｂ）に示すフォーマットの排他テーブル定義レコード（ＥＸＣＬＵＳＩＶＥ＿ＪＯＢ）の第１パラメータに、ＲＡＭ１３に記憶している排他テーブル名をセットする。次に、ＲＡＭ１３上の排他テーブルに排他制御するスレッドのメソッド名が格納されているか否かを判断する。そして、格納されている場合には、このスレッド名を前記排他テーブル定義レコード（ＥＸＣＬＵＳＩＶＥ＿ＪＯＢ）の第２パラメータ以降に順次セットする。排他テーブルに排他制御するスレッドのメソッド名が格納されていない場合には、第２パラメータ以降を省略する。しかる後、この排他テーブル定義レコード（ＥＸＣＬＵＳＩＶＥ＿ＪＯＢ）を前記定義ファイル４に反映させたならば、ＳＴ９６の処理に進む。
【００７０】
図１１は、前記キュー定義記憶処理を示す流れ図である。ＣＰＵ１１は先ず、図１６（ａ）に示すフォーマットのキュー定義レコード（ＴＨＲＥＡＤ＿ＱＵＥ）の第１〜第３パラメータに、ＲＡＭ１３に記憶しているキュー名，キューサイズ及び優先度をそれぞれセットする。次に、ＲＡＭ１３上のキュー保存フラグＱＰＦを調べる。そして、キュー保存フラグＱＰＦが“１”に設定されていた場合には、キュー定義レコード（ＴＨＲＥＡＤ＿ＱＵＥ）の第４パラメータに、保存フラグを保存することを示すデータ「ＱｕｅＳａｖｅＦｉｌｅ」をセットする。キュー保存フラグＱＰＦが“０”に設定されていた場合には、第４パラメータを省略する。しかる後、このキュー定義レコード（ＴＨＲＥＡＤ＿ＱＵＥ）を前記定義ファイル４に反映させたならば、ＳＴ９７の処理に進む。
【００７１】
定義ファイル４の一例を図１７に示す。同図中、ソースコード「protected override void QUEMAP」の次の行に、キュー定義レコード（ＴＨＲＥＡＤ＿ＱＵＥ）が順次反映（挿入）され、ソースコード「protected override void EXCLUSIVEMAP」の次の行に、排他テーブル定義レコード（ＥＸＣＬＵＳＩＶＥ＿ＪＯＢ）が順次反映（挿入）され、ソースコード「protected override void JOBMAP」の次の行に、スレッド定義レコード（ＯＮ＿ＪＯＢ）が順次反映（挿入）される。
【００７２】
ＳＴ１０では、図１２に示すソースファイル保存処理を実行する。先ず、ＳＴ１０１としてメソッドエリア３１のメソッド名表示欄３１ａにメソッド名が入力されているか否かを判断する。メソッド名が入力されていない場合、つまりＲＡＭ１３にメソッド名が格納されていない場合には、ＳＴ１１の処理に進む。
【００７３】
メソッド名が入力されている場合、つまりＲＡＭ１３にメソッド名が格納されている場合には、ＳＴ１０２としてスレッドタイプエリア３２にて選択されているスレッドタイプを判断する。ここで、ＲＡＭ１３にスレッドタイプ識別データ［ＳＩＮＧＬＥＴＯＮ］を記憶している場合には、スレッドタイプ「シングルトン」が選択されているので、テンプレートファイル［ＳＩＮＧＬＥＴＯＮ］を読込む。そして、このテンプレートファイル［ＳＩＮＧＬＥＴＯＮ］にメソッド名等を反映させる。
【００７４】
これに対し、ＲＡＭ１３にスレッドタイプ識別データ［ＲＡＳＩＤＥＮＣＥ］を記憶している場合には、スレッドタイプ「レジデンス」が選択されているので、テンプレートファイル［ＲＡＳＩＤＥＮＣＥ］を読込む。そして、このテンプレートファイル［ＲＡＳＩＤＥＮＣＥ］にメソッド名等を反映させる。
【００７５】
また、ＲＡＭ１３にスレッドタイプ識別データ［ＤＹＮＡＭＩＣ］を記憶している場合には、スレッドタイプ「ダイナミック」が選択されているので、テンプレートファイル［ＤＹＮＡＭＩＣ］を読込む。そして、このテンプレートファイル［ＤＹＮＡＭＩＣ］にメソッド名等を反映させる。
【００７６】
なお、各テンプレートファイルは、対応するスレッドタイプの動作に応じたソースコードのテンプレートを記述したもので、プログラミング支援プログラム７に予め用意されている。テンプレートファイル［ＤＹＮＡＭＩＣ］の一例を図１８に示す。同図中ソースコード「ＦＵＮＣ＿ＮＡＭＥ」の個所に、メソッド名が反映（挿入）される。
【００７７】
しかる後、ＣＰＵ１１は、ＳＴ１０３として上記テンプレートファイルをソースファイル３としてソースプログラムに保存したならば、ＲＡＭ１３に記憶しているデータ（スレッド名，クラス名，ソースファイル名，スレッド識別データ，排他テーブル，キューデータ，各種フラグ等）をクリアして、ＳＴ１１の処理に進む。
【００７８】
ＳＴ１１では、プログラミング支援プログラム７を終了させる。
【００７９】
このように、本実施の形態のプログラミング支援プログラム７をコンピュータ１にインストールして起動させることにより、コンピュータ１のディスプレイ装置１７aにはＧＵＩを利用したスレッド作成画面３０が表示される。そこで、プログラミング作業者は、メソッドエリア３１のメソッド名表示欄３１ａに任意のメソッド名を設定入力する。そうすると、このメソッド名に基づいてクラス名及びソースファイル名が自動的に生成される。
【００８０】
次に、プログラミング作業者は、作成すべきソースファイル３のスレッドタイプをスレッドタイプエリア３２の中から選択する。ここで、スレッドタイプが「ダイナミック」のときには、当該ソースファイル３のスレッドに対してスレッドプール管理を使用するか否かを決める。そして、使用する場合には、スレッドプールエリア３３の選択子３３ｂを選択する。
【００８１】
また、スレッドタイプが「ダイナミック」または「レジデンス」のときには、当該スレッドに対してメッセージキューイングを使用するか否か、排他制御を行うか否か、同時実行数を制限するか否かを決める。そして、メッセージキューイングを使用する場合には、キューエリア３４のキュー作成ボタン３４ｄを入力する。そうすると、ディスプレイ装置１７aにキュー作成画面４０が表示される。そこで、プログラミング作業者は、所望するキュー名，キューサイズ，優先度，保存フラグの有無を当該キュー作成画面４０に入力する。
【００８２】
また、排他制御を行う場合には、排他テーブルエリア３５の排他テーブル作成ボタン３５ｄを入力する。そうすると、ディスプレイ装置１７aに排他テーブル作成画面５０が表示される。そこでプログラミング作業者は、対象スレッドのメソッド名一覧表示欄５２の中から排他制御するスレッドのメソッド名を選択し、排他スレッド追加ボタン５５を入力する。そうすると、排他制御するスレッドのメソッド名が排他スレッドのメソッド名一覧表示欄５３に移される。
【００８３】
また、同時実行数を制限する場合には、同時実行数エリア３６の選択子３６bを選択した後、表示欄３６ｃに制限する同時実行数を入力する。
【００８４】
その後、スレッド作成画面３０のＯＫボタン３７を入力する。そうすると、メソッド名，クラス名，スレッドタイプ識別データ，同時実行数，排他テーブル名，キュー名及びスレッドプール管理有無データの各パラメータからなるスレッド定義レコード（ＯＮ＿ＪＯＢ）が、ソースプログラム２の定義ファイル４に反映される。また、排他制御を行う場合には、排他テーブル名及び排他スレッドのメソッド名の各パラメータからなる排他テーブル定義レコード（ＥＸＣＬＵＳＩＶＥ＿ＪＯＢ）が、ソースプログラム２の定義ファイル４に反映される。また、メッセージキューイングを使用する場合には、キュー名，キューサイズ，優先度及び保存フラグの各パラメータからなるキュー定義レコード（ＴＨＲＥＡＤ＿ＱＵＥ）がソースプログラム２の定義ファイル４に反映される。
【００８５】
しかる後、当該スレッドタイプの動作に応じたソースコードのテンプレートが記述されたテンプレートファイルが読込まれる。そして、このテンプレートファイルに当該スレッド名が反映され、ソースファイル３としてソースプログラム２に保存される。
【００８６】
このように、プログラミング作業者は、ディスプレイ装置１７ａに表示されるＧＵＩ画面３０，４０，５０に必要最小限の項目の情報を入力するだけで、所望するソースファイル３や定義ファイル４を保存したソースプログラム２を作成することができる。そして、このソースプログラム２を所定のコンパイラ５でコンパイルすることによって、所期の目的であるオブジェクトプログラム６が作成される。したがって、ソースコードの意味及び使い方を一つ一つ理解していなくてもプログラミングできる上、ソースコードの入力ミスも発生しないので、プログミング作業を初心者でも簡単にミスなく行うことができる効果を奏する。
【００８７】
なお、本発明の他の実施形態としては、ソースファイルの識別名となるメソッド名と、実行時の動作の違いによって区別されたスレッドタイプとの設定を促すＧＵＩ画面を表示させる表示手段と、ＧＵＩ画面を介してメソッド名とスレッドタイプとが設定されると、設定されたスレッドタイプのソースコードテンプレートを読込んで１つのソースファイルを作成するソースファイル作成手段と、このソースファイルのソースコードテンプレートに設定されたメソッド名を反映させるソースファイル反映手段と、この設定されたメソッド名及びスレッドタイプを当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルに反映させる定義ファイル反映手段とを具備したプログラミング専用装置が考えられる。
【００８８】
また、ソースファイルの識別名となるメソッド名と、実行時の動作の違いによって区別されたスレッドタイプとの設定を促すＧＵＩ画面を表示させ、このＧＵＩ画面を介してメソッド名とスレッドタイプとが設定されると、設定されたスレッドタイプのソースコードテンプレートを読込んで１つのソースファイルを作成し、このソースファイルのソースコードテンプレートに設定されたメソッド名を反映させるとともに、この設定されたメソッド名及びスレッドタイプを当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルに反映させるプログラミング支援方法も考えられる。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施の形態におけるプログラミングの概略説明に用いる図。
【図２】同実施の形態におけるコンピュータの主要なハードウェア構成を示すブロック図。
【図３】同実施の形態のＣＰＵが実行するプログラミング支援プログラムの要部処理を示す流れ図。
【図４】図３におけるメソッド入力処理を具体的に示す流れ図。
【図５】図３におけるスレッドタイプ選択処理を具体的に示す流れ図。
【図６】図３におけるキュー作成処理を具体的に示す流れ図。
【図７】図３における排他テーブル作成処理を具体的に示す流れ図。
【図８】図３における同時実行数制限処理を具体的に示す流れ図。
【図９】図３におけるスレッド定義記憶処理を具体的に示す流れ図。
【図１０】図９における排他テーブル定義記憶処理を具体的に示す流れ図。
【図１１】図９におけるキュー定義記憶処理を具体的に示す流れ図。
【図１２】図３におけるソースファイル保存処理を具体的に示す流れ図。
【図１３】スレッド作成画面の一例を示す図。
【図１４】キュー作成画面の一例を示す図。
【図１５】排他テーブル作成画面の一例を示す図。
【図１６】各種定義レコードのフォーマットを示す図。
【図１７】定義ファイルの一例を示す図。
【図１８】テンプレートファイル［ＤＹＮＡＭＩＣ］の一例を示す図。
【符号の説明】
【００９０】
１…コンピュータ、２…ソースプログラム、３…ソースファイル、４…定義ファイル、５…コンパイラ、６…オブジェクトプログラム、７…プログラミング支援プログラム、３０…スレッド作成画面、４０…キュー作成画面、５０…排他テーブル作成画面。
【図１】
2006196021.tif 000003
【図２】
2006196021.tif 000004
【図３】
2006196021.tif 000005
【図４】
2006196021.tif 000006
【図５】
2006196021.tif 000007
【図６】
2006196021.tif 000008
【図７】
2006196021.tif 000009
【図８】
2006196021.tif 000010
【図９】
2006196021.tif 000011
【図１０】
2006196021.tif 000012
【図１１】
2006196021.tif 000013
【図１２】
2006196021.tif 000014
【図１３】
2006196021.tif 000015
【図１４】
2006196021.tif 000016
【図１５】
2006196021.tif 000017
【図１６】
2006196021.tif 000018
【図１７】
2006196021.tif 000019
【図１８】
2006196021.tif 000020
【手続補正書】
【提出日】平成18年4月27日(2006.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ上において、スレッドの実行内容を示すソースコードを記述したソースファイルを少なくとも１つ作成するとともに、前記ソースファイルのスレッド実行条件等を定義するスレッド定義情報を記述した定義ファイルを作成し、前記ソースファイルと定義ファイルとをコンパイルしてオブジェクトプログラムを生成するプログラミングの支援プログラムであって、
前記コンピュータに、
前記ソースファイルの識別名となるメソッド名を入力するためのメソッドエリアと、実行時の動作の違いによって区別された複数種類のスレッドタイプの中からいずれか１つのスレッドタイプを選択するためのスレッドタイプエリアとが設けられたスレッド作成画面を表示させる機能と、
前記スレッドタイプの動作に応じたソースコードテンプレートをスレッドタイプ別にテンプレートファイルに記憶する機能と、
前記スレッド作成画面の前記メソッドエリアに前記メソッド名が入力されるとともに、同一画面の前記スレッドタイプエリアにていずれか１つのスレッドタイプが選択されると、この選択されたスレッドタイプのソースコードテンプレートを前記テンプレートファイルから読込み、このソースコードテンプレートにおける所定のソースコードに前記入力されたメソッド名を挿入して当該メソッド名で識別されるソースファイルを作成する機能と、
前記スレッド作成画面の前記メソッドエリアに入力されたメソッド名及び同一画面の前記スレッドタイプエリアにて選択されたスレッドタイプがセットされたスレッド定義レコードを当該メソッド名で識別されるソースファイルのスレッド定義情報として前記定義ファイルの所定のコードの次の行に挿入する機能と、
を実現させることを特徴とするプログラミング支援プログラム。
【請求項２】
前記スレッド作成画面を表示させる機能によって表示される前記スレッド作成画面には、前記メソッドエリアに入力されたメソッド名で識別されるソースファイルのスレッドに対して同時実行数を制限するか否かを選択するため及び制限する場合の同時実行数を入力するためのスレッド同時実行数エリアが含まれており、
前記コンピュータに、
前記スレッド作成画面の前記スレッドタイプエリアにて選択されたスレッドタイプの種類により前記同時実行数を制限するか否かの選択を可能にする機能と、
前記スレッド作成画面の前記スレッド同時実行数エリアにて前記同時実行数を制限することが選択されると、当該スレッド同時実行数エリアに入力された同時実行数を同一画面の前記メソッドエリアに入力されたメソッド名及び同一画面の前記スレッドタイプエリアにて選択されたスレッドタイプがセットされた前記スレッド定義レコードにセットする機能と、
をさらに実現させることを特徴とする請求項１記載のプログラミング支援プログラム。
【請求項３】
前記スレッド作成画面を表示させる機能によって表示される前記スレッド作成画面には、前記メソッドエリアに入力されたメソッド名で識別されるソースファイルのスレッドに対してメッセージキューイングを使用するか否かを選択するためのキューエリアが含まれており、
前記コンピュータに、
前記スレッド作成画面の前記スレッドタイプエリアにて選択されたスレッドタイプの種類により前記メッセージキューイングを使用するか否かの選択を可能にする機能と、
前記スレッド作成画面の前記キューエリアにて前記メッセージキューイングを使用することが選択されると、このメッセージキューイングに関する情報の入力画面を表示させる機能と、
前記メッセージキューイングに関する情報の入力画面を介して入力されたメッセージキューイングに関する情報を前記スレッド作成画面の前記メソッドエリアに入力されたメソッド名及び同一画面の前記スレッドタイプエリアにて選択されたスレッドタイプがセットされた前記スレッド定義レコードにセットする機能と、
をさらに実現させることを特徴とする請求項１または２記載のプログラミング支援プログラム。
【請求項４】
前記スレッド作成画面を表示させる機能によって表示される前記スレッド作成画面には、前記メソッドエリアに入力されたメソッド名で識別されるソースファイルのスレッドに対して排他制御を行うか否かを選択するための排他テーブルエリアが含まれており、
前記コンピュータに、
前記スレッド作成画面の前記スレッドタイプエリアにて選択されたスレッドタイプの種類により前記排他制御を行うか否かの選択を可能にする機能と、
前記スレッド作成画面の前記排他テーブルエリアにて排他制御を行うことが選択されると、排他制御される他のスレッドに関する情報の入力画面を表示させる機能と、
前記排他制御される他のスレッドに関する情報の入力画面を介して入力された前記排他制御される他のスレッドに関する情報を前記スレッド作成画面の前記メソッドエリアに入力されたメソッド名及び同一画面の前記スレッドタイプエリアにて選択されたスレッドタイプがセットされた前記スレッド定義レコードにセットする機能と、
をさらに実現させることを特徴とする請求項１乃至３のいずれかに記載のプログラミング支援プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明のプログラミング支援プログラムは、コンピュータに、ソースファイルの識別名となるメソッド名を入力するためのメソッドエリアと、実行時の動作の違いによって区別された複数種類のスレッドタイプの中からいずれか１つのスレッドタイプを選択するためのスレッドタイプエリアとが設けられたスレッド作成画面を表示させる機能と、スレッドタイプの動作に応じたソースコードテンプレートをスレッドタイプ別にテンプレートファイルに記憶する機能と、スレッド作成画面のメソッドエリアにメソッド名が入力されるとともに、同一画面のスレッドタイプエリアにていずれか１つのスレッドタイプが選択されると、この選択されたスレッドタイプのソースコードテンプレートをテンプレートファイルから読込み、このソースコードテンプレートにおける所定のソースコードに入力されたメソッド名を挿入して当該メソッド名で識別されるソースファイルを作成する機能と、スレッド作成画面のメソッドエリアに入力されたメソッド名及び同一画面のスレッドタイプエリアにて選択されたスレッドタイプがセットされたスレッド定義レコードを当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルの所定のコードの次の行に挿入する機能とを実現させるものである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明のプログラミング支援プログラムをコンピュータ上で起動すると、当該コンピュータのディスプレイに、ソースファイルの識別名となるメソッド名を入力するためのメソッドエリアと、実行時の動作の違いによって区別された複数種類のスレッドタイプの中からいずれか１つのスレッドタイプを選択するためのスレッドタイプエリアとが設けられたスレッド作成画面が表示される。そこで、この画面のメソッドエリアにメソッド名を入力するとともに、同一画面のスレッドタイプエリアにていずれか１つのスレッドタイプを選択すると、当該スレッドタイプのソースコードテンプレートがテンプレートファイルから読込まれ、このソースコードテンプレートにおける所定のソースコードに入力されたメソッド名が挿入されて当該メソッド名で識別されるソースファイルが自動的に作成される。また、スレッド作成画面のメソッドエリアに入力されたメソッド名及び同一画面のスレッドタイプエリアにて選択されたスレッドタイプがセットされたスレッド定義レコードが、当該メソッド名で識別されるソースファイルのスレッド定義情報として定義ファイルの所定のコードの次の行に挿入される。