JPH11259280A - プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体 - Google Patents

プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体

Info

Publication number
JPH11259280A
JPH11259280A JP10063058A JP6305898A JPH11259280A JP H11259280 A JPH11259280 A JP H11259280A JP 10063058 A JP10063058 A JP 10063058A JP 6305898 A JP6305898 A JP 6305898A JP H11259280 A JPH11259280 A JP H11259280A
Authority
JP
Japan
Prior art keywords
program
check
statement
unit
development support
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.)
Pending
Application number
JP10063058A
Other languages
English (en)
Inventor
Akira Ishikawa
亮 石川
Satoru Hayama
悟 葉山
Hiroyuki Wake
裕之 和氣
Mitsuko Fujita
光子 藤田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10063058A priority Critical patent/JPH11259280A/ja
Publication of JPH11259280A publication Critical patent/JPH11259280A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約書】 【課題】 プログラム開発環境において、ソースコード
記述の終了からプログラム実行までにユーザーが待たさ
れる時間を短くすることにより、開発効率を向上させ
る。 【解決手段】 フォアグラウンド処理においてエディタ
を用いた編集が行われている間、バックグラウンド処理
としてプログラムに含まれている各文の型整合性のチェ
ックを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム開発を
支援するプログラム開発支援装置と、プログラム開発を
行うためのコンピュータシステムに適用されるプログラ
ムを記録した記録媒体とに関する。
【0002】
【従来の技術】近年、特定のターゲットマシンに対して
のプログラムの開発は、汎用のコンピュータシステム上
で行われることが一般的である。このような開発環境に
おいて、プログラマは、プログラム開発を行っているコ
ンピュータにおいてエディタを起動し、エディタを用い
てプログラミング言語に従ってプログラムを記述する。
その後コンピュータシステムに『型整合性チェック』を
行わせ、ターゲットマシンの機能を実現できるシュミレ
ータ、エミュレータ、仮想マシンに実行させる。
【0003】ここで『型整合性チェック』とは、プログ
ラマが変数、関数を使用した文を記述した場合、それら
変数、関数の記法が、それらの型宣言と整合しているか
否かをチェックすることをいう。例えば、プログラマが
ある変数の値を別の変数に代入する代入文を記述した場
合、代入する側の変数と、代入される側の変数とで型が
異なる場合がある。
【0004】また、プログラマが変数を引数にして関数
を呼び出す関数呼出文を記述した場合、それら関数呼出
文の宣言時において宣言された引数の型と、プログラマ
が引数として選択した変数の型とが異なる場合がある。
以上のような型の不整合の潜在を防ぐため、プログラマ
が記述したプログラムに対して型整合性チェックを行っ
ているのである。尚ソースプログラムに対してのコンパ
イルが必要な場合は、その前段階においてこの型整合性
チェックを行う。
【0005】
【発明が解決しようとする課題】ところで操作者からプ
ログラム入力をエディタが受け付けている間、コンピュ
ータはキーボード入力を受け付けて、文字フォントを表
示する程度の処理を行えば良いので、コンピュータはそ
の処理能力を持て余している。このようにプログラム入
力が行われている間、コンピュータの処理は軽負荷であ
るが、型整合性チェックが開始されると、プログラムの
コード量が大きい場合は、コンピュータの処理負荷は重
くなる。
【0006】処理負荷が重くなり、コンピュータがその
処理能力の全てを型整合性チェックに投入すると、操作
者からの操作が全く受け付けられない状態が発生する。
この間、プログラマは何の作業も行えず、時間を持て余
すことになる。プログラマが何の作業も行えない状態に
なるのは、プログラムの開発効率を低下させる要因とな
り、またプログラマの焦燥感をいたずらに募らせてしま
う場合もある。
【0007】本発明の目的は、プログラマが何の作業も
行えないために、プログラムの開発効率が低下してしま
う現象を未然防止するプログラム開発支援装置を提供す
ることである。
【0008】
【課題を解決するための手段】型整合性チェックを、ソ
ースプログラムのコーディング中に行えば、コンパイル
時における処理負荷の集中は防止できる。但し、ソース
プログラム自体が未完成である状態において、型整合性
チェックを行っても、そのソースプログラムを操作者が
書き直してしまう可能性があるので、そのような書き直
しが発生した場合は、型整合性チェックが無駄に終わっ
てしまう恐れがある。このような恐れがあるものの、型
整合性チェックを投機的に行うことによりコンパイル時
における処理の過密化は多少なりとも軽減できる。コン
ピュータがフォアグラウンド処理にてエディタを起動さ
せている期間において、バックグラウンド処理でこのよ
うな型整合性チェックをコンピュータに行わせるプログ
ラム開発支援装置を本発明は提供する。
【0009】
【発明の実施の形態】(第1実施形態)以下、図面を参
照しながら、プログラム開発装置の実施形態を説明す
る。当業者で慣用されているプログラム開発装置の流通
・売買の形態は、プログラム開発装置の機能を実現する
実行形式のソフトウェアを記録媒体に記録して、パッケ
ージソフトとして流通・売買する形態である。パッケー
ジソフトはこれを購買した需要者により汎用コンピュー
タにインストールされ、インストールされた汎用コンピ
ュータがこのソフトウェア通りの処理を行うことにより
汎用コンピュータはプログラム開発装置を具備したコン
ピュータシステムとしての機能を果たす。このような形
態が慣用されることを考えると、プログラム開発装置と
しての機能主体は、汎用コンピュータが具備しているプ
ロセッサ、メモリ等のハードウェア資源というよりは、
記録媒体に記録されたソフトウェアと考える方が妥当で
ある。また複雑な処理内容を有するソフトウェアは、複
数のサブルーチンやワークエリアにて構成されることが
一般的であるので、個々のサブルーチンやワークエリア
が独立した構成要素と考えるべきである。以降の説明で
は、プログラム開発装置及びコンピュータシステムの機
能を果たすためにどのような機能を果たすサブルーチ
ン、ワークエリアを構成要素として開発すべきかについ
て機能ブロック図を参照しながら述べる。
【0010】図1は、プログラム開発支援装置が適用さ
れるコンピュータシステムのハードウェア環境を示す図
である。プログラム開発支援装置が適用されるハードウ
ェア環境は、プロセッサ、メモリ、ディスプレィ、キー
ボード、内蔵ハードディスク、通信インターフェイス等
を有する汎用コンピュータであり、光ディスク、フロッ
ピーディスク等の記録媒体に収録されたプログラムがイ
ンストールされている。
【0011】図2は、コンピュータシステムにおける内
部階層を示す図である。コンピュータシステムは、ハー
ドウェア層、オペレーティングシステム層、アプリケー
ション層からなり、アプリケーション層においてインス
トールされたソフトウェアが配置されている。インスト
ールされたソフトウェアとは、エディタ1、型整合チェ
ック部2、実行部3、管理部4、表示制御部6、ワーク
エリア7であり、プログラム開発支援装置の機能実現の
ために開発されたものである。
【0012】エディタ1は、ディスプレィ8にメインウ
ィンドゥ10を表示させ、操作者がポインティングデバ
イスに対して操作を行うと、編集操作に従ってメインウ
ィンドゥ10内にてプログラムを編集する。またプログ
ラムを保存する旨の指示が操作者によりなされると、当
該プログラムをファイルとしてコンピュータシステム内
のハードディスク9に格納する。
【0013】図3にディスプレィ8に表示されるメイン
ウィンドゥ10を示す。本実施形態においてプログラム
は、図3に示す「x1=y1*50;」文、「z1=y2*50+y1;」
文、「fnc(x1,y1,z1,z2);」文等、複数の文にて構成さ
れる。本明細書において「文」とは、プログラミング言
語体系において論理的な意味が与えられた最小の単位を
いうものとする。
【0014】これらの文は、行番号Line:30、行番号Lin
e:31、行番号Line:32、行番号Line:33という行番号が付
されており、変数を用いて変数の値を代入する代入文、
変数を引数にして関数呼出を行う関数呼出文等の種別が
あるものとする。これらの文には変数x1,x2,y1,y2,z1,z
2を始めとして、変数が複数使用されているため、変数
の型不整合が潜在している可能性がある。
【0015】型整合チェック部2は、エディタ1による
編集により得られたプログラムに含まれる何れかの文が
管理部4により取り出されると、その文の型整合性をチ
ェックしてゆく。実行部3は、開発すべきプログラムに
ついてのターゲットマシンの機能をコンピュータシステ
ム上で擬態するシュミレータ、エミュレータであり、エ
ディタ1による編集により得られたプログラムのうち、
型整合チェック部2による型整合性チェックが済んだも
のを実行する。
【0016】表示制御部6は、型整合チェック部2が一
文の型整合性チェックを終了した際、型整合性チェック
が済んだ文の行番号と、型整合性チェックのチェック結
果とを対応づけて型整合性チェックウィンドゥ11に表
示する。また型整合チェック部2が型整合性チェックを
行っている文の行番号を実行進捗ウィンドゥ12に表示
する。表示制御部6の制御下におけるディスプレィ8の
表示内容の一例を図3に示す。
【0017】図3の一例において型整合性チェックウィ
ンドゥ11は、型整合性チェックが済んだ文の行番号と
して行番号Line:14〜行番号Line:20の行番号を表示して
いる。また型整合性チェックのチェック結果として『No
Error』『Error Code_001』『Error Code_002』という
三種類のコードを表示している。実行進捗ウィンドゥ1
2は、型整合性チェックを行っている文の行番号として
行番号Line:23の行番号を表示している。
【0018】ワークエリア7は、管理部4を動作を行う
際に用いられるワークエリアであり、その内容を図4に
示す。図4においてワークエリア7は、チェック進捗リ
スト13、優先順位リスト14、実行終了リスト15か
らなる。チェック進捗リスト13は、プログラムに含ま
れている各文の行番号と、当該行番号において型整合性
チェックが済んでいない旨を示す未チェックマークとを
対応づけて示したリストである。図3の一例では、プロ
グラムに含まれている各文の行番号としてLine24,25,2
6,27,28,29,30が示されており、未チェックマークとし
て『_yet』とを対応づけて示している。
【0019】実行終了リスト15は、実行部3が現在型
整合性チェックの終了待ち状態にある場合、どの行番号
の型整合性チェックを待っているかを示す。実行進捗ウ
ィンドゥ12において型整合性チェック中の文の行番号
として行番号Line:23が表示されていたが、実行終了リ
スト15では実行部3がチェック終了を待っている文の
行番号として行番号Line:27が示されている。このよう
に型整合チェック部2が行番号Line:23が型整合性チェ
ック中であるのに、実行部3が行番号Line:27の型整合
性チェックを待っているのは、型整合チェック部2によ
る型整合性チェックは管理部4による文の取り出し順序
に従って行われ、その取り出し順序は原則として行番号
順であるのに対して、実行部3による文の実行は、分岐
等が発生するため行番号順に実行されるとは限らないか
らである。
【0020】優先順位リスト14は、プログラムに含ま
れている各文をどのような順序で型整合性チェックを行
わせるかを示す。この順序は原則として行番号順に決め
られている。ところで図3においてチェック進捗リスト
13において現在型整合性チェック中の文は行番号Lin
e:23と示されているのに対して、優先順位リスト14で
は行番号Line:27〜行番号Line:33の順序が記述されてい
る。これは優先順位リスト14が実行終了リスト15に
おいて実行部3がどの行番号の型整合性チェックの終了
を待っているかに応じて、動的にスケジューリングされ
ていることを意味する。
【0021】管理部4は、コンピュータシステムにおけ
るプログラム開発支援装置についての全体管理を行う。
この全体管理の内容には、フォアグラウンド処理、バッ
クグラウンド処理の二種類のものがある。フォアグラウ
ンド処理−バックグラウンド処理がそれぞれどのような
処理内容であるかを図5のフロ−チャ−トに示す。以
降、本フロ−チャ−トを参照しながら管理部4のフォア
グラウンド処理−バックグラウンド処理の処理内容につ
いて説明する。
【0022】フォアグラウンド処理のステップS0にお
いて管理部4はエディタ1の起動指示がなされるのを待
ち、指示がなされると、ステップS1においてエディタ
1を起動する。一方、バックグラウンド処理のステップ
S2において管理部4は、チェック進捗リスト13を全
て未チェックとマークする。その後、ステップS3にお
いてエディタ1がアイドル状態になるのを待つ。
【0023】ここでアイドル状態とは、エディタ1がキ
ーボード操作やマウス操作の手を休めたため、ポインテ
ィングデバイスからのイベント入力が中断している期間
をいう。操作者がポインティングデバイスに対して操作
を行っている間、ステップS6においてチェック中であ
る旨の表示を消去状態に保ったまま、ステップS7にお
いてエディタ1によりチェック済みの文の内容が書き換
えられたか否かを監視している。もし変更がなされれ
ば、チェック進捗リスト13における行番号のうち、プ
ログラムにおいて変更の影響を受ける文の行番号に未チ
ェックマークを付す。ここで『変更の影響を受ける文』
とは、エディタ1により変更を受けた文において値が定
義されている変数を参照している文等、変更を受けた文
と変数定義及び変数参照に関して直接或は間接的に依存
関係を有する文の全てをいい、ステップS8においてそ
れらの文全てに未チェックマークが付されることにな
る。
【0024】ポインティングデバイスに対しての操作が
なされている間において、ステップS3−ステップS6
−ステップS7が順次繰り返されることになる。アイド
ル状態が到来するとステップS3がYesとなり、ステッ
プS4に移行する。ステップS4では、型整合チェック
部2が型整合性チェックを開始した旨をディスプレィ8
に表示させる。表示後、ステップS5に移行して、型整
合チェック部2を起動して、型整合チェック部2に型整
合性チェックを開始させる。
【0025】この際管理部4は、未チェックマークが付
された文のうち、優先順位が最も高いものを取り出し
て、これを型整合チェック部2にチェックさせる。以降
優先順位が高い順に文を取り出させて、順次に型整合性
チェックを行わせてゆく。この間、一文に対しての型整
合性チェックが完了する毎に、チェック進捗リスト13
において当該文の行番号に付された未チェックマークを
消し、型整合性チェックウィンドゥ11及び実行進捗ウ
ィンドゥ12を更新する。
【0026】以降、アイドル状態が継続している間、ス
テップS3−ステップS4−ステップS5が順次繰り返
される。操作者がポインティングデバイスに対しての操
作を開始して、アイドル状態が終了すると、ステップS
6に移行して型整合チェック中である旨の表示を消し、
ステップS7において文の内容が変更されたか否かを判
定した後、ステップS8を介してステップS3に移行す
る。
【0027】ステップS3への移行により、管理部4は
アイドル状態の発生待ち状態となる。一方、フォアグラ
ウンド処理においては、ステップS1においてエディタ
1を起動した後、これまでの編集結果として得られたプ
ログラムを実行部3に実行させる。この際の実行部3の
実行範囲、即ち、どの範囲まで実行部3に実行させるか
であるが、バックグラウンド処理における型整合性チェ
ックがプログラムの全文に対して完了している場合は、
プログラムの終端部までとなる。バックグラウンド処理
における型整合性チェックが未完である場合は、そのチ
ェック中の文までとなる。
【0028】ステップS10において、実行部3による
実行が未型チェック部分にまで到達するのを待ち、到達
すると、ステップS11において実行部3の実行順序に
従って、各文の優先順位を決定し直す。このように決定
し直すことは、実行部3が型整合性チェックの結果を待
っている文に従って型整合性チェックの優先順位を再編
成することを意味する。
【0029】このように優先順位を決定し直すと、ステ
ップS12において次に実行すべき文の型整合性チェッ
クが終了したかを待つための、型整合性チェック終了待
ち状態となる。もし型整合性チェックが終了すると、ス
テップS9に移行してステップS9に移行し、編集結果
として得られたプログラムを実行部3に実行させる。以
上のように本実施形態によれば、エディタ1のアイドル
状態を検出して、この間に型整合性チェックを行わせる
ので、型整合性チェックをエディタ工程期間に行うこと
ができる。これにより、型整合性チェックの処理負荷を
エディタ工程期間に分散することができる。よってプロ
グラムのコード量が膨大であり、型整合性チェックに長
時間を要する場合、その負荷がエディタ工程に分散され
るので、型整合性チェックが完遂するまでの時間を短縮
することができる。
【0030】また、既にチェックが済んだ部分に対し
て、プログラマが変更を加えた場合には、その文を再度
型整合性チェックの対象とするよう未チェックマークの
削除を行うので、型整合性チェックの信憑性を維持する
ことができる。更に、型整合性チェックが済んだものを
逐次型整合チェック部2に実行させてゆくので、プログ
ラマは自身が記述したプログラムを早期に実行検証にか
けることができる。
【0031】加えて、実行部3の実行に伴って、型整合
性チェックの優先順位は動的にスケジューリングされる
ので、型整合性チェックから実行検証までのタイムラグ
を短縮することができる。尚、本実施形態では実行部3
は型整合チェック部2によるチェック中に実行したが、
実行部3はプログラム実行の指示を操作者から受け付け
ると、全文がチェック済であるか、未チェックの文が残
っているかを判定し、全文がチェック済みである場合の
み、プログラムを実行するようにしてもよい。
【0032】また本実施形態において 変更操作が行わ
れた場合、全文を未チェック状態に戻すよう指示しても
よい。更に管理部4はプログラム実行の指示を受け付け
ると、全文がチェック済であるか、未チェックの文が残
っているかを判定し、全文がチェック済みである場合の
み、プログラムを実行させてもよい。
【0033】加えて、型整合チェック部2はコンピュー
タシステムにコンパイラの一部を構成するもととしてイ
ンストールされているものを利用しても良い。 (第2実施形態)第1実施形態では編集されたプログラ
ムを実行部3に実行させたが、第2実施形態では、第1
実施形態における実行部3の役割を果たすものが仮想マ
シンであり、その仮想マシンがコンピュータシステム内
に複数設けられている場合を想定した実施形態である。
【0034】第2実施形態におけるコンピュータシステ
ムの内部階層を図6に示す。本図と図2との違いは、図
2における実行部3に代えて、仮想マシン31、仮想マ
シン32、仮想マシン33、仮想マシン34が備えられ
ており、新規に実行制御部35が備えられている点であ
る。また図示はしていないがワークエリア7内にマシン
管理リスト16が存在する点である。
【0035】仮想マシン31〜仮想マシン34は何れも
仮想マシンである。仮想マシンとは、そのプログラムが
本来動作すべきターゲットマシン環境と、それが開発さ
れるべき開発ハードウェア環境とで統一して定義された
言語体系にてプログラムを実行するものをいう。仮想マ
シンの性質としては、バイトコードの解読が可能なもの
と、テキストコードの解読が可能なものの二種があり、
更にテキストコードの解読が可能なものには、型整合性
のチェック機構を具備するものと具備しないものの二種
類がある。このような、各仮想マシンにおける型整合性
チェックの具備の有無の違いを表すため、第2実施形態
におけるワークエリア7は、マシン管理リスト16を有
する。
【0036】図7は、マシン管理リスト16の記載内容
を示す図である。テキストコードの解読が可能な仮想マ
シンとして仮想マシン31、仮想マシン32、仮想マシ
ン33、仮想マシン34のコード名が記載されており、
型整合性のチェック機構を具備するものと具備しないも
のの違いを表すため、これらのコード名に『No embede
d』『embeded』の種別コードを付している。このような
コードは、仮想マシンがインストールされた際に、シス
テム管理者により記載されるものとしている。
【0037】実行制御部35は、コンピュータシステム
に存在する仮想マシンを管理すると共に、これらの実行
を制御するための制御を図8のフロ−チャ−トに従って
行う。以降図8のフロ−チャ−トを参照して、この制御
内容について説明する。ステップS13において、実行
制御部35はプログラムの実行指示が操作者によりなさ
れるのを監視し、操作者によりプログラムを実行する旨
の指示がなされると、ステップS14において複数台の
仮想マシンをマシン管理リスト16を参照しながら、プ
ログラムの解釈系に型整合性のチェック機構を具備する
ものと具備しないものとに分類する。分類後、ステップ
S15では、マシン管理リスト16を参照し、チェック
機構を具備した仮想マシンに未チェック文を実行させ、
チェック機構を具備しない仮想マシンにチェック済み文
を実行させる。
【0038】この際ステップS16では、チェック済み
文、未チェック文を仮想マシンに実行させると、どちら
の仮想マシンで実行しているかを表示する。実行指示が
なされても、型整合チェック部2は、実行指示を受け付
けても型整合性チェックを継続して行っているが、実行
制御部35はステップS17において型整合性チェック
の終了を待ち、コンピュータが一文についての型整合性
チェックを終えると、ステップS17がYesとなりステ
ップS18に移行して、当該文をチェック機構を具備し
ない仮想マシンに実行させる。
【0039】以上のように本実施形態によれば、プログ
ラム開発環境が仮想マシンを対象にしたものであり、尚
且つ様々な種類の仮想マシンが存在する場合、それらが
どのような解釈系を具備しているかを考慮して、プログ
ラムを実行させるので、エディタ1により作成されたプ
ログラムの実行検証を早期に完遂することができる。
尚、実行指示が操作者によりなされた際、型整合チェッ
ク部2による型整合性チェックを停止させ、チェック機
構を具備した仮想マシンに未チェック文を実行させ、チ
ェック機構を具備しない仮想マシンにチェック済み文を
実行させてもよい。
【0040】
【発明の効果】上記目的を達成するために本発明は、操
作者からの編集操作に従ってプログラムを生成するエデ
ィタと同一のコンピュータシステムに備えられるプログ
ラム開発支援装置であって、エディタがコンピュータシ
ステムのフォアグラウンド処理として実行されているか
否かを判定する第1判定手段と、エディタがフォアグラ
ウンド処理として実行されている場合、これまでの編集
操作に従って生成されたプログラムから複数の文を取り
出し、取り出された各文が型整合性を有するか否かをチ
ェックする処理をバックグラウンド処理としてコンピュ
ータシステムに実行させるチェック処理制御手段とを備
える。
【0041】本構成によれば、エディタのアイドル状態
を検出して、この間に型整合性チェックを行わせるの
で、型整合性チェックをエディタ工程期間に行うことが
できる。これにより、型整合性チェックの処理負荷をエ
ディタ工程中に分散することができる。よってプログラ
ムのコード量が膨大であり、型整合性チェックに長時間
を要する場合、その負荷がエディタ工程に分散されるの
で、型整合性チェックが完遂するまでの時間を短縮する
ことができる。
【0042】また上記構成において、前記プログラム開
発支援装置は、起動中エディタのアイドル状態を検出す
る第1検出手段を備え、前記チェック処理制御手段は、
検出されたアイドル状態のみ、コンピュータシステムに
型整合性チェックを実行させるように構成しても良い。
本構成によればエディタがキーボード操作やマウス操作
の手を休めたため、ポインティングデバイスからのイベ
ント入力が中断している期間を逸せずに、型整合性チェ
ックを進捗させることができる。
【0043】また上記構成において、前記チェック処理
制御手段は、これまでに入力されたプログラムから文を
取り出す取出部と、取り出された文が型整合性を有する
か否かをコンピュータシステムにチェックさせるチェッ
ク制御部と、チェック済み状態の文と、未チェック状態
の文とを管理する管理部と一文についてのチェックが済
むと、これまでに入力されたプログラムから、未チェッ
クの文を取出部に取り出させる繰り返し制御部とを備え
ることを特徴としてよい。
【0044】本構成によればチェック済みの文と、そう
でない文とを明確に管理し、型整合性チェックの対象を
未チェックのものから選択するので、二重チェックは原
理上発生しない。また上記構成において、前記プログラ
ム開発支援装置は、チェック済み状態の文に対しての変
更操作がエディタにおいて行われたか否かを監視する監
視手段と、変更操作が行われた場合、管理部に全文を未
チェック状態に戻すよう指示するリセット手段とを備え
るように構成しても良く、また上記構成において、前記
プログラム開発支援装置は、チェック済み状態の文に対
しての変更操作がエディタにおいて行われたか否かを監
視する監視手段と、変更操作が行われた場合、変更され
た文と依存関係を有する全ての文を検出する第2検出手
段と、検出された全文を未チェック状態に戻すよう指示
するリセット手段とを備えるように構成しても良い。
【0045】本構成によれば既にチェックが済んだ部分
に対して、プログラマが変更を加えた場合には、その文
を再度型整合性チェックの対象とするよう未チェックマ
ークの削除を行うので、型整合性チェックの信憑性を維
持することができる。また上記構成において、前記プロ
グラム開発支援装置は、チェック処理制御手段が型整合
性チェックをコンピュータに開始させると、型整合性の
チェックが行われている旨をコンピュータに表示させる
第1表示手段を備えるように構成しても良く、本構成に
よればプログラマは、型整合性チェックの対象になって
おらず、型不整合が潜在している可能性がある文を視覚
的に確認することができる。また上記構成において、前
記管理部が管理している未チェック状態の文を、その旨
を付してコンピュータに表示させる第2表示手段を備え
るように構成しても良く、本構成によればプログラマ
は、型整合性チェックが現在どれだけ進捗しているかを
視覚的に確認することができる。また上記構成におい
て、前記プログラム開発支援装置は、バックグラウンド
処理においてコンピュータが型整合性チェックを終了す
ると、型整合性チェックのチェック結果をコンピュータ
に表示させる第3表示手段を備えるように構成しても良
く、本構成によればプログラマは、プログラマは文に型
不整合が存在しているか、存在していないかを視覚的に
確認することができる。
【0046】また上記構成において、前記プログラム開
発支援装置は、プログラム実行の指示を操作者から受け
付ける第2受付手段と、プログラム実行の指示を受け付
けると、全文がチェック済であるか、未チェックの文が
残っているかを判定する第2判定手段と、全文がチェッ
ク済みである場合のみ、プログラムを実行する実行手段
とを備えるように構成しても良く、本構成によれば型整
合性チェックの完了を待ってプログラムを実行させてゆ
くので、プログラマは自身が記述したプログラムを早期
に実行検証にかけることができる。
【0047】また上記構成において、前記プログラム開
発支援装置は、プログラム実行の指示を操作者から受け
付ける第3受付手段と、プログラム実行の指示を受け付
けると、プログラムの文をチェック済の文と、未チェッ
クの文とに分類する第1分類手段と、チェック済みと分
類された文を実行すると共に、チェック済みと分類され
た文を実行し尽くすと、チェック手段による次文のチェ
ックを終了を待ち、次文のチェックが終了すると、次文
を実行する実行手段とを備えるように構成しても良く、
本構成によれば型整合性チェックが済んだものを実行さ
せてゆくので、プログラマは自身が記述したプログラム
を早期に実行検証にかけることができる。
【0048】また上記構成において、前記チェック処理
制御手段は、実行手段が型整合性チェックの終了待ち状
態にあるか実行状態にあるかを判定する判定部と、終了
待ち状態にある場合、実行手段がプログラムのうちどの
文の型整合性チェックの終了待ちを行っているかを検出
する検出部と、前記取出部は、型整合性チェックの終了
を待っている文が検出されると、当該文を取り出し、チ
ェック制御部は、取り出された文をコンピュータシステ
ムにチェックさせるように構成しても良く、本構成によ
ればプログラム実行に伴い、次に実行するべき文に型整
合性チェックをかけるので、実行検証を早期に実施する
ことができる。
【0049】また上記構成において、前記チェック実行
制御手段は、プログラムにおける文の実行手段による実
行順序に基づいて、優先順位記憶部における型整合性の
チェックの順番を示す優先順位を並び替えるスケジュー
リング部を備えるように構成しても良く、本構成によれ
ばプログラム実行に伴って、型整合性チェックの優先順
位は動的にスケジューリングされるので、型整合性チェ
ックから実行検証までのタイムラグを短縮することがで
きる。
【0050】また上記構成において、前記プログラム開
発支援装置は、コンピュータが生成されたプログラムに
ついてのターゲットマシンの機能を具備する仮想マシン
を複数台有している場合、その複数台の仮想マシンを、
プログラムの解釈系に型整合性のチェック機構を具備す
るものと具備しないものとに分類する第2分類手段と、
分類されると、チェック機構を具備した仮想マシンに未
チェック文を実行させ、チェック機構を具備しない仮想
マシンにチェック済み文を実行させる実行制御手段を備
えるように構成しても良く、本構成によれば、プログラ
ム開発環境が仮想マシンを対象にしたものであり、尚且
つ様々な種類の仮想マシンが存在する場合、それらがど
のような解釈系を具備しているかを考慮して、プログラ
ムを実行させるので、エディタにより作成されたプログ
ラムの実行検証を早期に完遂することができる。
【図面の簡単な説明】
【図1】プログラム開発支援装置が適用されるコンピュ
ータシステムのハードウェア環境を示す図である。
【図2】コンピュータシステムにおける内部階層を示す
図である。
【図3】ディスプレイ8の表示内容を示す図である。
【図4】チェック進捗リスト13、優先順位リスト1
4、実行終了リスト15の内容を示す図である。
【図5】フォアグラウンド処理−バックグラウンド処理
がそれぞれどのような処理内容であるかを示すフロ−チ
ャ−トである。
【図6】第2実施形態におけるコンピュータシステムの
内部階層を示す図である。
【図7】マシン管理リスト16の記載内容を示す図であ
る。
【図8】実行制御部35の制御内容を示すフロ−チャ−
トである。
【符号の説明】
1 エディタ 2 型整合チェック部 3 実行部 4 管理部 6 表示制御部 7 ワークエリア 8 ディスプレィ 9 ハードディスク 10 メインウィンドゥ 11 型整合性チェックウィンドゥ 12 実行進捗ウィンドゥ 13 チェック進捗リスト 14 優先順位リスト 15 実行終了リスト 16 マシン管理リスト 31 仮想マシン 32 仮想マシン 33 仮想マシン 34 仮想マシン 35 実行制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤田 光子 大阪府門真市大字門真1006番地 松下電器 産業株式会社内

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】 操作者からの編集操作に従ってプログラ
    ムを生成するエディタと同一のコンピュータシステムに
    備えられるプログラム開発支援装置であって、 エディタがコンピュータシステムのフォアグラウンド処
    理として実行されているか否かを判定する第1判定手段
    と、 エディタがフォアグラウンド処理として実行されている
    場合、これまでの編集操作に従って生成されたプログラ
    ムから複数の文を取り出し、取り出された各文が型整合
    性を有するか否かをチェックする処理をバックグラウン
    ド処理としてコンピュータシステムに実行させるチェッ
    ク処理制御手段とを備えることを特徴とするプログラム
    開発支援装置。
  2. 【請求項2】 前記プログラム開発支援装置は、 起動中エディタのアイドル状態を検出する第1検出手段
    を備え、 前記チェック処理制御手段は、 検出されたアイドル状態のみ、コンピュータシステムに
    型整合性チェックを実行させることを特徴とする請求項
    1記載のプログラム開発支援装置。
  3. 【請求項3】 前記チェック処理制御手段は、 これまでに入力されたプログラムから文を取り出す取出
    部と、 取り出された文が型整合性を有するか否かをコンピュー
    タシステムにチェックさせるチェック制御部と、 チェック済み状態の文と、未チェック状態の文とを管理
    する管理部と一文についてのチェックが済むと、これま
    でに入力されたプログラムから、未チェックの文を取出
    部に取り出させる繰り返し制御部とを備えることを特徴
    とする請求項1又は2記載のプログラム開発支援装置。
  4. 【請求項4】 前記プログラム開発支援装置は、 チェック済み状態の文に対しての変更操作がエディタに
    おいて行われたか否かを監視する監視手段と、 変更操作が行われた場合、管理部に全文を未チェック状
    態に戻すよう指示するリセット手段とを備えることを特
    徴とする請求項3記載のプログラム開発支援装置。
  5. 【請求項5】 前記プログラム開発支援装置は、 チェック済み状態の文に対しての変更操作がエディタに
    おいて行われたか否かを監視する監視手段と、 変更操作が行われた場合、変更された文と依存関係を有
    する全ての文を検出する第2検出手段と、 検出された全文を未チェック状態に戻すよう指示するリ
    セット手段とを備えることを特徴とする請求項3記載の
    プログラム開発支援装置。
  6. 【請求項6】 前記プログラム開発支援装置は、 チェック処理制御手段が型整合性チェックをコンピュー
    タに開始させると、型整合性のチェックが行われている
    旨をコンピュータに表示させる第1表示手段を備えるこ
    とを特徴とする請求項3〜5の何れかに記載のプログラ
    ム開発支援装置。
  7. 【請求項7】 前記管理部が管理している未チェック状
    態の文を、その旨を付してコンピュータに表示させる第
    2表示手段を備えることを特徴とする請求項3〜6の何
    れかに記載のプログラム開発支援装置。
  8. 【請求項8】 前記プログラム開発支援装置は、 バックグラウンド処理においてコンピュータが型整合性
    チェックを終了すると、型整合性チェックのチェック結
    果をコンピュータに表示させる第3表示手段を備えるこ
    とを特徴とする請求項1〜7の何れかに記載のプログラ
    ム開発支援装置。
  9. 【請求項9】 前記プログラム開発支援装置は、 プログラム実行の指示を操作者から受け付ける第2受付
    手段と、 プログラム実行の指示を受け付けると、全文がチェック
    済であるか、未チェックの文が残っているかを判定する
    第2判定手段と、 全文がチェック済みである場合のみ、プログラムを実行
    する実行手段とを備えることを特徴とする請求項1〜8
    の何れかに記載のプログラム開発支援装置。
  10. 【請求項10】 前記プログラム開発支援装置は、 プログラム実行の指示を操作者から受け付ける第3受付
    手段と、 プログラム実行の指示を受け付けると、プログラムの文
    をチェック済の文と、未チェックの文とに分類する第1
    分類手段と、 チェック済みと分類された文を実行すると共に、チェッ
    ク済みと分類された文を実行し尽くすと、チェック手段
    による次文のチェックを終了を待ち、次文のチェックが
    終了すると、次文を実行する実行手段とを備えることを
    特徴とする請求項3〜8の何れかに記載のプログラム開
    発支援装置。
  11. 【請求項11】 前記チェック処理制御手段は、 実行手段が型整合性チェックの終了待ち状態にあるか実
    行状態にあるかを判定する判定部と、 終了待ち状態にある場合、実行手段がプログラムのうち
    どの文の型整合性チェックの終了待ちを行っているかを
    検出する検出部とを備え、 前記取出部は、 型整合性チェックの終了を待っている文が検出される
    と、当該文を取り出し、 チェック制御部は、取り出された文をコンピュータシス
    テムにチェックさせることを特徴とする請求項10記載
    のプログラム開発支援装置。
  12. 【請求項12】 前記チェック処理制御手段は、 型整合性のチェックの順番を示す優先順位を記憶する優
    先順位記憶部を備え、 前記取出部は、 優先順位の高い順にプログラムにおける文を取り出し、
    チェック部にチェックさせることを特徴とする請求項1
    1記載のプログラム開発支援装置。
  13. 【請求項13】 前記チェック実行制御手段は、 プログラムにおける文の実行手段による実行順序に基づ
    いて、優先順位記憶部における型整合性のチェックの順
    番を示す優先順位を並び替えるスケジューリング部を備
    えることを特徴とする請求項12記載のプログラム開発
    支援装置。
  14. 【請求項14】 前記プログラム開発支援装置は、 コンピュータが生成されたプログラムについてのターゲ
    ットマシンの機能を具備する仮想マシンを複数台有して
    いる場合、その複数台の仮想マシンを、プログラムの解
    釈系に型整合性のチェック機構を具備するものと具備し
    ないものとに分類する第2分類手段と、 分類されると、チェック機構を具備した仮想マシンに未
    チェック文を実行させ、チェック機構を具備しない仮想
    マシンにチェック済み文を実行させる実行制御手段を備
    えることを特徴とする請求項3〜8の何れかに記載のプ
    ログラム開発支援装置。
  15. 【請求項15】 前記実行制御手段がチェック済み文、
    未チェック文を仮想マシンに実行させると、 どちらの仮想マシンで実行しているかを表示する第4表
    示手段を備えることを特徴とする請求項14記載のプロ
    グラム開発支援装置。
  16. 【請求項16】 前記プログラム開発支援装置は、 仮想マシンにプログラムを実行させる旨の指示を操作者
    から受け付ける第4受付手段と、 実行指示を受け付けると、コンピュータシステムによる
    型整合性チェックを停止させる停止制御手段を備え、 前記実行制御手段は、 チェック機構を具備した仮想マシンに未チェック文を実
    行させ、チェック機構を具備しない仮想マシンにチェッ
    ク済み文を実行させることを特徴とする請求項14又は
    15記載のプログラム開発支援装置。
  17. 【請求項17】 前記仮想マシンにプログラムを実行さ
    せる旨の指示を操作者から受け付ける第5受付手段と、 前記チェック部は、実行指示を受け付けても型整合性チ
    ェックを継続して行い、 前記実行制御手段は、 コンピュータが一文についての型整合性チェックを終え
    ると、当該文をチェック機構を具備しない仮想マシンに
    実行させることを特徴とする請求項14又は15記載の
    プログラム開発支援装置。
  18. 【請求項18】 前記プログラム開発支援装置は、 型整合性のチェックの順番を示す優先順位を記憶する優
    先順位記憶部を備え、 前記取出部は、 優先順位の高い順にプログラムにおける文を取り出し、
    チェック部にチェックさせることを特徴とする請求項1
    7記載のプログラム開発支援装置。
  19. 【請求項19】 前記チェック実行制御手段は、 プログラムにおける文のチェック機構を具備しない仮想
    マシンによる実行順序に基づいて、優先順位記憶部にお
    ける型整合性のチェックの順番を示す優先順位を並び替
    えるスケジューリング部を備えることを特徴とする請求
    項18記載のプログラム開発支援装置
  20. 【請求項20】 前記プログラム開発支援装置におい
    て、どちらの仮想マシンで実行しているかを表示する第
    3表示手段を備えることを特徴とする請求項13〜19
    記載のプログラム開発支援装置。
  21. 【請求項21】 コンピュータシステムはコンパイラを
    有し、 前記チェック処理制御手段は、 エディタがフォアグラウンド処理として実行されている
    場合、これまでの編集操作に従って生成されたプログラ
    ムから複数の文を取り出し、取り出された各文が型整合
    性を有するか否かをチェックする処理をコンパイラに実
    行させることを特徴とするプログラム開発支援装置。
  22. 【請求項22】 操作者からの編集操作に従ってプログ
    ラムを生成するエディタと同一のコンピュータシステム
    に適用されるプログラムを記録した記録媒体であって、 前記プログラムはエディタがコンピュータシステムのフ
    ォアグラウンド処理として実行されているか否かを判定
    する第1判定ステップと、 エディタがフォアグラウンド処理として実行されている
    場合、これまでの編集操作に従って生成されたプログラ
    ムから複数の文を取り出し、取り出された各文が型整合
    性を有するか否かをチェックする処理をバックグラウン
    ド処理としてコンピュータシステムに実行させるチェッ
    ク処理制御ステップとを有することを特徴とする記録媒
    体。
  23. 【請求項23】 前記コンピュータシステムに適用され
    るプログラムは、 起動中エディタのアイドル状態を検出する第1検出ステ
    ップを備え、 前記チェック処理制御ステップは、 検出されたアイドル状態のみ、コンピュータシステムに
    型整合性チェックを実行させることを特徴とする請求項
    22記載の記録媒体。
  24. 【請求項24】 前記チェック処理制御ステップは、 これまでに入力されたプログラムから文を取り出す取出
    サブステップと、 取り出された文が型整合性を有するか否かをコンピュー
    タシステムにチェックさせるチェック制御サブステップ
    と、 チェック済み状態の文と、未チェック状態の文とを管理
    する管理サブステップと一文についてのチェックが済む
    と、これまでに入力されたプログラムから、未チェック
    の文を取出サブステップに取り出させる繰り返し制御サ
    ブステップとを有することを特徴とする請求項22又は
    23記載の記録媒体。
  25. 【請求項25】 前記コンピュータシステムに適用され
    るプログラムは、 チェック済み状態の文に対しての変更操作がエディタに
    おいて行われたか否かを監視する監視ステップと、 変更操作が行われた場合、管理サブステップに全文を未
    チェック状態に戻すよう指示するリセットステップとを
    有することを特徴とする請求項24記載の記録媒体。
  26. 【請求項26】 前記コンピュータシステムに適用され
    るプログラムは、 チェック済み状態の文に対しての変更操作がエディタに
    おいて行われたか否かを監視する監視ステップと、 変更操作が行われた場合、変更された文と依存関係を有
    する全ての文を検出する第2検出ステップと、 検出された全文を未チェック状態に戻すよう指示するリ
    セットステップとを有することを特徴とする請求項24
    記載の記録媒体。
  27. 【請求項27】 前記コンピュータシステムに適用され
    るプログラムは、 プログラム実行の指示を操作者から受け付ける第1受付
    ステップと、 プログラム実行の指示を受け付けると、全文がチェック
    済であるか、未チェックの文が残っているかを判定する
    第2判定ステップと、 全文がチェック済みである場合のみ、プログラムを実行
    する実行ステップとを有することを特徴とする請求項2
    2〜26の何れかに記載の記録媒体。
  28. 【請求項28】 前記コンピュータシステムに適用され
    るプログラムは、 プログラム実行の指示を操作者から受け付ける第2受付
    ステップと、 プログラム実行の指示を受け付けると、プログラムの文
    をチェック済の文と、未チェックの文とに分類する第1
    分類ステップと、 チェック済みと分類された文を実行すると共に、チェッ
    ク済みと分類された文を実行し尽くすと、チェックステ
    ップによる次文のチェックを終了を待ち、次文のチェッ
    クが終了すると、次文を実行する実行ステップとを有す
    ることを特徴とする請求項22〜27の何れかに記載の
    記録媒体。
  29. 【請求項29】 前記チェック処理制御ステップは、 実行ステップが型整合性チェックの終了待ち状態にある
    か実行状態にあるかを判定する判定サブステップと、 終了待ち状態にある場合、実行ステップがプログラムの
    うちどの文の型整合性チェックの終了待ちを行っている
    かを検出する検出サブステップと、 前記取出サブステップは、 型整合性チェックの終了を待っている文が検出される
    と、当該文を取り出し、 チェック制御サブステップは、取り出された文をコンピ
    ュータシステムにチェックさせることを特徴とする請求
    項28記載の記録媒体。
  30. 【請求項30】 前記コンピュータシステムに適用され
    るプログラムは、 コンピュータが生成されたプログラムについてのターゲ
    ットマシンの機能を具備する仮想マシンを複数台有して
    いる場合、その複数台の仮想マシンを、プログラムの解
    釈系に型整合性のチェック機構を具備するものと具備し
    ないものとに分類する第2分類ステップと、 分類されると、チェック機構を具備した仮想マシンに未
    チェック文を実行させ、チェック機構を具備しない仮想
    マシンにチェック済み文を実行させる実行制御ステップ
    を有することを特徴とする請求項22〜29の何れかに
    記載の記録媒体。
  31. 【請求項31】 前記コンピュータシステムは、 型整合性のチェックの順番を示す優先順位を記憶する優
    先順位記憶部を備え、 前記取出サブステップは、 優先順位の高い順にプログラムにおける文を取り出し、
    チェックサブステップにチェックさせることを特徴とす
    る請求項30記載のコンピュータシステム。
  32. 【請求項32】 前記チェック実行制御ステップは、 プログラムにおける文のチェック機構を具備しない仮想
    マシンによる実行順序に基づいて、優先順位記憶部にお
    ける型整合性のチェックの順番を示す優先順位を並び替
    えるスケジューリングサブステップを有することを特徴
    とする請求項31記載のコンピュータシステム。
JP10063058A 1998-03-13 1998-03-13 プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体 Pending JPH11259280A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10063058A JPH11259280A (ja) 1998-03-13 1998-03-13 プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10063058A JPH11259280A (ja) 1998-03-13 1998-03-13 プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JPH11259280A true JPH11259280A (ja) 1999-09-24

Family

ID=13218372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10063058A Pending JPH11259280A (ja) 1998-03-13 1998-03-13 プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JPH11259280A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116477A (ja) * 2007-11-02 2009-05-28 Nec Corp ソースコード検証管理装置、方法、及びプログラム
WO2012095984A1 (ja) * 2011-01-13 2012-07-19 富士通株式会社 スケジューリング方法及びスケジューリングシステム
US8826239B2 (en) 2010-10-06 2014-09-02 International Business Machines Corporation Asynchronous code testing in integrated development environment (IDE)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116477A (ja) * 2007-11-02 2009-05-28 Nec Corp ソースコード検証管理装置、方法、及びプログラム
US8826239B2 (en) 2010-10-06 2014-09-02 International Business Machines Corporation Asynchronous code testing in integrated development environment (IDE)
US9569346B2 (en) 2010-10-06 2017-02-14 International Business Machines Corporation Asynchronous code testing
WO2012095984A1 (ja) * 2011-01-13 2012-07-19 富士通株式会社 スケジューリング方法及びスケジューリングシステム
US9507635B2 (en) 2011-01-13 2016-11-29 Fujitsu Limited Assigning speculative processes to plurality of CPUs based on calculated maximum number of speculative processes capable of being assigned and other processes assigned to each CPU

Similar Documents

Publication Publication Date Title
US8423982B2 (en) Speculative compilation
US5978585A (en) Development system with improved methods for recompiling dependent code modules
US5715463A (en) Installation utility for device drivers and utility programs
TWI442235B (zh) 記憶體交易群組
US8266588B2 (en) Creating projects in a rational application developer workspace
US8276118B2 (en) Depicting changes to structures in an integrated development environment
JP2000181725A (ja) 実行可能なコ―ドを改変し、追加機能を付与するための方法およびシステム
US7689979B1 (en) Methods and apparatus to improve application launch time
US20160274891A1 (en) Managed execution environment for software application interfacing
US10747510B1 (en) Application runtime modification
KR20110014146A (ko) 동적인 선언형 애플리케이션 설명
Mackey Introducing. NET 4.0: With Visual Studio 2010
US20150160930A1 (en) Presenting a custom view in an integrated development environment based on a variable selection
US5915116A (en) Time value manipulation
US20040261055A1 (en) Predictively processing tasks for building software
US20110167415A1 (en) Language processing apparatus, language processing method, and computer program product
US20120222023A1 (en) Automatic runtime dependency lookup
US20050268219A1 (en) Method and system for embedding context information in a document
JPH11259280A (ja) プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体
US11900105B2 (en) Code review system with development environment integration
Kurniawan Java for Android
US20210208912A1 (en) Simulated change of immutable objects during execution runtime
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
Smyth Android Studio 4.2 Development Essentials-Java Edition: Developing Android Apps Using Android Studio 4.2, Java and Android Jetpack
Parsons et al. The java story