IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シャープ株式会社の特許一覧

特許7404022プログラム生成装置及びプログラム生成方法
<>
  • 特許-プログラム生成装置及びプログラム生成方法 図1
  • 特許-プログラム生成装置及びプログラム生成方法 図2
  • 特許-プログラム生成装置及びプログラム生成方法 図3
  • 特許-プログラム生成装置及びプログラム生成方法 図4
  • 特許-プログラム生成装置及びプログラム生成方法 図5
  • 特許-プログラム生成装置及びプログラム生成方法 図6
  • 特許-プログラム生成装置及びプログラム生成方法 図7
  • 特許-プログラム生成装置及びプログラム生成方法 図8
  • 特許-プログラム生成装置及びプログラム生成方法 図9
  • 特許-プログラム生成装置及びプログラム生成方法 図10
  • 特許-プログラム生成装置及びプログラム生成方法 図11
  • 特許-プログラム生成装置及びプログラム生成方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】プログラム生成装置及びプログラム生成方法
(51)【国際特許分類】
   G06F 8/34 20180101AFI20231218BHJP
【FI】
G06F8/34
【請求項の数】 10
(21)【出願番号】P 2019187567
(22)【出願日】2019-10-11
(65)【公開番号】P2021064087
(43)【公開日】2021-04-22
【審査請求日】2022-09-21
(73)【特許権者】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100167302
【弁理士】
【氏名又は名称】種村 一幸
(74)【代理人】
【識別番号】100135817
【弁理士】
【氏名又は名称】華山 浩伸
(72)【発明者】
【氏名】戸丸 知信
(72)【発明者】
【氏名】寺田 智
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2013-140513(JP,A)
【文献】特開2017-138901(JP,A)
【文献】特開平10-247142(JP,A)
【文献】特開昭63-106843(JP,A)
【文献】米国特許第06199199(US,B1)
【文献】特開2015-072505(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/30-8/38
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成部と、
前記プログラム生成部により生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出部と、
前記処理時間算出部により算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示制御部と、
を備え
前記表示制御部は、さらに、前記フローチャートにおいて、前記プログラムにおいて複数回処理が実行される前記ノードについて、複数回の各処理の処理時間を合計した合計処理時間を、当該ノードの近傍に表示させる、プログラム生成装置。
【請求項2】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成部と、
前記プログラム生成部により生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出部と、
前記処理時間算出部により算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示制御部と、
を備え
前記表示制御部は、さらに、前記フローチャートにおいて、前記プログラムにおいて複数回処理が実行される前記ノードについて、複数回の各処理の処理時間を平均した平均処理時間を、当該ノードの近傍に表示させる、プログラム生成装置。
【請求項3】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成部と、
前記プログラム生成部により生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出部と、
前記処理時間算出部により算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示制御部と、
を備え
前記表示制御部は、さらに、前記フローチャートにおいて、前記プログラムを複数回実行した場合に、前記ノードの複数回の各処理時間を当該ノードに対応付けて表示させる、プログラム生成装置。
【請求項4】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成部と、
前記プログラム生成部により生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出部と、
前記処理時間算出部により算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示制御部と、
を備え
前記表示制御部は、さらに、前記フローチャートにおいて、前記複数のノードのうち前記処理時間が最も長い前記ノードの表示態様を他の前記ノードとは異ならせる、プログラム生成装置。
【請求項5】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成部と、
前記プログラム生成部により生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出部と、
前記処理時間算出部により算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示制御部と、
を備え
前記複数のノードのそれぞれに、前記処理時間に対応する閾値時間が設定されており、
前記表示制御部は、さらに、前記フローチャートにおいて、前記処理時間算出部により算出される前記処理時間が前記閾値時間を超える前記ノードの表示態様を、前記処理時間算出部により算出される前記処理時間が前記閾値時間以下の前記ノードの表示態様とは異ならせる、プログラム生成装置。
【請求項6】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成ステップと、
前記プログラム生成ステップにより生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出ステップと、
前記処理時間算出ステップにより算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示ステップと、
を一又は複数のプロセッサー実行し、
前記表示ステップでは、さらに、前記フローチャートにおいて、前記プログラムにおいて複数回処理が実行される前記ノードについて、複数回の各処理の処理時間を合計した合計処理時間を、当該ノードの近傍に表示させる、プログラム生成方法。
【請求項7】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成ステップと、
前記プログラム生成ステップにより生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出ステップと、
前記処理時間算出ステップにより算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示ステップと、
を一又は複数のプロセッサー実行し、
前記表示ステップでは、さらに、前記フローチャートにおいて、前記プログラムにおいて複数回処理が実行される前記ノードについて、複数回の各処理の処理時間を平均した平均処理時間を、当該ノードの近傍に表示させる、プログラム生成方法。
【請求項8】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成ステップと、
前記プログラム生成ステップにより生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出ステップと、
前記処理時間算出ステップにより算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示ステップと、
を一又は複数のプロセッサー実行し、
前記表示ステップでは、さらに、前記フローチャートにおいて、前記プログラムを複数回実行した場合に、前記ノードの複数回の各処理時間を当該ノードに対応付けて表示させる、プログラム生成方法。
【請求項9】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成ステップと、
前記プログラム生成ステップにより生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出ステップと、
前記処理時間算出ステップにより算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示ステップと、
を一又は複数のプロセッサー実行し、
前記表示ステップでは、さらに、前記フローチャートにおいて、前記複数のノードのうち前記処理時間が最も長い前記ノードの表示態様を他の前記ノードとは異ならせる、プログラム生成方法。
【請求項10】
複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成ステップと、
前記プログラム生成ステップにより生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出ステップと、
前記処理時間算出ステップにより算出される前記複数のノードのそれぞれの前記処理時間を、前記フローチャートにおいて、前記複数のノードのそれぞれの近傍に対応付けて表示させる表示ステップと、
を一又は複数のプロセッサー実行し、
前記複数のノードのそれぞれに、前記処理時間に対応する閾値時間が設定されており、
前記表示ステップでは、さらに、前記フローチャートにおいて、前記処理時間算出ステップにより算出される前記処理時間が前記閾値時間を超える前記ノードの表示態様を、前記処理時間算出ステップにより算出される前記処理時間が前記閾値時間以下の前記ノードの表示態様とは異ならせる、プログラム生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のノード(処理ステップ)で構成されるフローチャートに対応するプログラムを生成するプログラム生成装置及びプログラム生成方法に関する。
【背景技術】
【0002】
従来、RPA(Robotics Process Automation)と称するプログラム生成ツールが知られている(例えば特許文献1参照)。このようなプログラム生成ツールを利用することにより、簡便にプログラムを生成することが可能となり、例えば定型業務を容易に自動化することが可能となる。
【先行技術文献】
【特許文献】
【0003】
【文献】特許6532626号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、プログラムを生成する場合、当該プログラムを構成する各ノード(処理ステップ又はタスク)の有効性を評価するために、生成したプログラムの実行結果のログを分析して改善が必要なノードを判断する。この場合、例えば実行結果のログからフローチャート(シナリオ)の改善点を探すことになるが、当該ログと各ノードとの対応関係が不明確であるため、改善が必要なノードを把握することが困難である。
【0005】
本発明の目的は、複数のノードで構成されるフローチャートに対応するプログラムにおいて、各ノードの有効性を容易に把握することが可能なプログラム生成装置及びプログラム生成方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一の態様に係るプログラム生成装置は、複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成部と、前記プログラム生成部により生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出部と、前記処理時間算出部により算出される前記処理時間を前記ノードに対応付けて表示させる表示制御部と、を備える。
【0007】
本発明の他の態様に係るプログラム生成方法は、複数のノードで構成されるフローチャートに対応するプログラムを生成するプログラム生成ステップと、前記プログラム生成ステップにより生成される前記プログラムを実行した場合に、前記複数のノードのそれぞれの処理時間を算出する処理時間算出ステップと、前記処理時間算出ステップにより算出される前記処理時間を前記ノードに対応付けて表示させる処理時間表示ステップと、を一又は複数のプロセッサーにより実行するプログラム生成方法である。
【発明の効果】
【0008】
本発明によれば、複数のノードで構成されるフローチャートに対応するプログラムにおいて、各ノードの有効性を容易に把握することが可能となる。
【図面の簡単な説明】
【0009】
図1図1は、本発明の実施形態に係るプログラム生成装置の概略構成を示す機能ブロック図である。
図2図2は、本発明の実施形態に係るプログラム生成装置のプログラム生成画面の一例を示す図である。
図3図3は、本発明の実施形態に係るプログラム生成装置のプログラム生成画面の一例を示す図である。
図4図4は、本発明の実施形態に係るプログラム生成装置のプログラム生成画面の一例を示す図である。
図5図5は、本発明の実施形態に係るプログラム生成装置のプログラム生成画面の一例を示す図である。
図6図6は、本発明の実施形態に係るプログラム生成装置における各処理時間と各ノードとの関係を表すグラフである。
図7図7は、本発明の実施形態に係るプログラム生成装置の表示画面の画面遷移の一例を示す図である。
図8図8は、本発明の実施形態に係るプログラム生成装置において用いられる閾値時間の一例を示す図である。
図9図9は、本発明の実施形態に係るプログラム生成装置のプログラム生成画面の一例を示す図である。
図10図10は、本発明の実施形態に係るプログラム生成装置のプログラム生成画面の一例を示す図である。
図11図11は、本発明の実施形態に係るプログラム生成装置における各処理番号と各メモリ使用率との関係を表すグラフである。
図12図12は、本発明の実施形態に係るプログラム生成装置において実行されるプログラム生成処理の手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら、本発明の実施形態について説明する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格を有さない。
【0011】
本発明に係るプログラム生成装置は、複数のノード(処理ステップ)で構成されるフローチャートに対応するプログラムを生成する。また、前記プログラム生成装置は、ユーザの操作に基づいて、表示部(操作表示部)に前記フローチャートを表示させながら前記プログラムを生成する。前記プログラム生成装置は、RPA(Robotics Process Automation)などのプログラム生成ツールを用いて前記プログラムを生成することが可能である。
【0012】
図1は、本発明の実施形態に係るプログラム生成装置1の概略構成を示す機能ブロック図である。図1に示すように、プログラム生成装置1は、制御部11、記憶部12、操作表示部13、タイマー14、及び通信部15などを備える。プログラム生成装置1は、例えばパーソナルコンピュータのような情報処理装置であってもよい。
【0013】
通信部15は、プログラム生成装置1を有線又は無線でネットワークに接続し、ネットワークを介して外部装置との間で所定の通信プロトコルに従ったデータ通信を実行するための通信インターフェースである。例えば、プログラム生成装置1は、前記ネットワークを介してクラウドサーバに接続し、前記クラウドサーバに記憶される前記プログラム生成ツールを利用してもよい。
【0014】
操作表示部13は、各種の情報を表示する液晶ディスプレイ又は有機ELディスプレイのような表示部と、操作を受け付けるタッチパネル、マウス、又はキーボードなどの操作部とを備えるユーザーインターフェースである。
【0015】
タイマー14は、制御部11の命令に従って時間を計測する。具体的には、タイマー14は、制御部11の命令に従って、前記フローチャートを構成する各ノードの処理時間を計測する。
【0016】
記憶部12は、各種の情報を記憶するHDD(Hard Disk Drive)又はSSD(Solid State Drive)などの不揮発性の記憶部である。例えば、記憶部12には、制御部11に後述のプログラム生成処理(図12参照)を実行させるための制御プログラム(前記プログラム生成ツール)などが記憶されている。例えば、前記制御プログラムは、CD又はDVDなどのコンピュータ読取可能な記録媒体に非一時的に記録されており、プログラム生成装置1に電気的に接続されるCDドライブ又はDVDドライブなどの読取装置(不図示)で読み取られて記憶部12に記憶される。また前記制御プログラムは、前記クラウドサーバからダウンロードされて記憶部12に記憶されてもよい。
【0017】
また記憶部12は、プログラム生成装置1により生成される前記フローチャート、前記プログラムなどのデータを記憶する。
【0018】
制御部11は、CPU、ROM、及びRAMなどの制御機器を有する。前記CPUは、各種の演算処理を実行するプロセッサーである。前記ROMは、前記CPUに各種の演算処理を実行させるためのBIOS及びOSなどの制御プログラムが予め記憶される不揮発性の記憶部である。前記RAMは、各種の情報を記憶する揮発性又は不揮発性の記憶部であり、前記CPUが実行する各種の処理の一時記憶メモリー(作業領域)として使用される。そして、制御部11は、前記ROM又は記憶部12に予め記憶された各種の制御プログラムを前記CPUで実行することによりプログラム生成装置1を制御する。
【0019】
具体的に、制御部11は、プログラム生成部111、プログラム実行部112、処理時間算出部113、表示制御部114などの各種の処理部を含む。なお、制御部11は、前記CPUで前記制御プログラムに従った各種の処理を実行することによって前記各種の処理部として機能する。また、制御部11に含まれる一部又は全部の処理部が電子回路で構成されていてもよい。なお、前記制御プログラムは、複数のプロセッサーを前記各種の処理部として機能させるためのプログラムであってもよい。
【0020】
プログラム生成部111は、複数のノードで構成されるフローチャートに対応するプログラムを生成する。プログラム生成部111は、操作表示部13に表示されるプログラム生成画面D1においてユーザが作成するフローチャートに基づいて前記プログラムを生成する。例えば、プログラム生成部111は、記憶部12に記憶された前記制御プログラムに応じたアプリケーションを起動することによりプログラム生成画面D1を操作表示部13に表示させる。
【0021】
図2は、プログラム生成画面D1の一例を示す図である。プログラム生成画面D1の表示領域131には、フローチャートを作成するための処理ステップに対応する複数のノードが表示されている。例えばユーザは、ドラッグアンドドロップ操作等により、プログラム生成画面D1の表示領域131において所望のノードを選択して、フローチャートの表示領域132に表示させる。表示領域132に表示された各ノードには、ユーザの操作に応じて、所定の動作を規定するパラメータが設定される。図2には、1つのスレッドに対応するフローチャートを示している。ユーザがフローチャートを作成してプログラム生成ボタン133を押下すると、プログラム生成部111は、前記フローチャートに対応するプログラムを生成する。プログラム生成部111は、生成した前記プログラムを記憶部12に記憶する。プログラム生成部111は、本発明のプログラム生成部の一例である。
【0022】
上述のプログラム生成部111の処理によれば、ユーザは、フローチャートを作成することにより所望のプログラムを生成することができる。よって、プログラムを生成するための特別な技能を有しないユーザであっても容易にプログラムを生成することができる。
【0023】
プログラム実行部112は、プログラム生成部111により生成される前記プログラムを実行する。具体的には、図2に示すプログラム生成画面D1において、ユーザがプログラム実行ボタン134を押下すると、プログラム実行部112は前記プログラムを実行する。例えば、プログラム実行部112は、表示領域132に表示された前記フローチャートに基づいて各ノードに対応する処理を実行する。例えば、ユーザは、生成した前記プログラムの有効性、実効性などを評価する場合に、試験的に前記プログラムを実行させる。プログラム実行部112は、ユーザの操作に応じて、1回又は複数回、前記プログラムを実行する。プログラム実行部112は、本発明のプログラム実行部の一例である。
【0024】
処理時間算出部113は、プログラム生成部111により生成される前記プログラムを実行した場合に、複数のノードのそれぞれの処理時間を算出する。具体的には、図2に示すプログラム生成画面D1においてユーザがプログラム実行ボタン134を押下してプログラム実行部112が前記プログラムを実行した場合に、処理時間算出部113は、タイマー14を使用して、各ノードにおける処理の所要時間を算出する。また、処理時間算出部113は、処理が繰り返されるノードについては、処理毎に前記処理時間を算出する。処理時間算出部113は、算出した前記処理時間をノードに対応付けて記憶部12に登録する。処理時間算出部113は、本発明の処理時間算出部の一例である。
【0025】
表示制御部114は、処理時間算出部113により算出される前記処理時間を前記ノードに対応付けて表示させる。具体的には、表示制御部114は、図3に示すように、プログラム生成画面D1の表示領域132に表示された前記フローチャートにおいて、各ノードの近傍に、対応する前記処理時間を表示させる。
【0026】
また、表示制御部114は、前記フローチャートにおいて、各ノードの近傍に、対応する前記処理時間と処理が実行される順番とを表示させてもよい。図3に示す例では、1番目の処理(「処理A」)から11番目の処理(「処理D」)までの各ノードの処理順と前記処理時間とが併記されている。
【0027】
また、表示制御部114は、前記プログラムにおいて複数回処理が実行される前記ノードについて、複数回の各処理の処理時間を合計した合計処理時間を、当該ノードの近傍に表示させてもよい。図3に示す例では、「処理A」及び「分岐A」のノードについて処理が3回繰り返され、「分岐B」のノードについて処理が2回繰り返されている。この場合、表示制御部114は、「処理A」及び「分岐A」それぞれのノードの近傍に3回の処理の合計処理時間Ttを表示させ、「分岐B」のノードの近傍に2回の処理の合計処理時間Ttを表示させる。
【0028】
また、表示制御部114は、前記プログラムにおいて複数回処理が実行される前記ノードについて、複数回の各処理の処理時間を平均した平均処理時間を、当該ノードの近傍に表示させてもよい。図4に示す例では、「処理A」及び「分岐A」のノードについて処理が3回繰り返され、「分岐B」のノードについて処理が2回繰り返されている。この場合、表示制御部114は、「処理A」及び「分岐A」それぞれのノードの近傍に3回の処理の平均処理時間Taを表示させ、「分岐B」のノードの近傍に2回の処理の平均処理時間Taを表示させる。
【0029】
また、表示制御部114は、一連の動作の処理時間を合計した合計処理時間を表示させてもよい。例えば、表示制御部114は、図4に示す例において、「処理B」、「分岐B」、「処理C」及び「処理D」を含む一連の動作の処理時間を合計した合計処理時間Ttを、当該一連の動作に対応付けて表示させる。例えば、ユーザが図4に示す前記フローチャートにおいて、マウスにより範囲(図4の点線枠)を指定すると、処理時間算出部113が当該範囲に含まれるノードの合計処理時間を算出し、表示制御部114が当該合計処理時間を当該範囲に対応付けて表示させる。
【0030】
また、表示制御部114は、プログラム実行部112が前記プログラムを複数回実行した場合に、前記ノードの複数回の各処理時間を当該ノードに対応付けて表示させてもよい。例えば図5に示すように、プログラム実行部112が前記プログラムを25回実行した場合に、表示制御部114は、各ノードに対応する処理回数分の平均処理時間Taを各ノードの近傍に表示させる。
【0031】
また、図5に示すフローチャートにおいて、ユーザが所望のノード又は平均処理時間Taを押下(例えば「処理B」の平均処理時間Taをクリック)した場合、表示制御部114は、図6に示すように、当該ノード(「処理B」)の複数回(「25回」)の各処理時間と当該ノードとの関係を表すグラフを表示させる。表示制御部114は、図6のグラフをプログラム生成画面D1に表示させてもよいし、他の画面に表示させてもよい。なお、プログラム実行部112は、ユーザが前記プログラムの実行回数を入力した場合に、当該実行回数だけ前記プログラムを繰り返して実行してもよい。
【0032】
また、表示制御部114は、前記フローチャートにおいて、複数の前記ノードのうち前記処理時間が最も長い前記ノードの表示態様を他の前記ノードとは異ならせてもよい。例えば、図7に示すように、表示制御部114は、前記処理時間が最も長い「処理B」のノードについて、背景画像、テキスト文字、図形などの表示態様を、他のノードとは異ならせて強調表示させる。また、表示制御部114は、前記処理時間が最も長い前記ノードの処理時間の表示態様を、他の前記ノードの処理時間の表示態様とは異ならせてもよい。
【0033】
ここで、複数の前記ノードのそれぞれに、前記処理時間に対応する閾値時間が設定されてもよい。前記閾値時間は、前記ノードごとに、当該ノードの処理を実行する場合に想定される処理時間である。前記閾値時間は、ユーザにより予め設定されて記憶部12に記憶される。図8は、各ノードに対応する前記閾値時間の一例を示す図である。
【0034】
そして、表示制御部114は、前記フローチャートにおいて、処理時間算出部113により算出される前記処理時間が前記閾値時間を超える前記ノードの表示態様を、処理時間算出部113により算出される前記処理時間が前記閾値時間以下の前記ノードの表示態様とは異ならせてもよい。例えば図9に示すように、「処理B」及び「処理C」の各ノードの前記処理時間は前記閾値時間(図8参照)を超えているため、表示制御部114は、これらのノードの表示態様を他のノードの表示態様とは異ならせて強調表示させる。
【0035】
なお、前記閾値時間は、前記プログラムを実行する装置の属性(処理速度、容量、負荷、通信環境など)を考慮して設定されてもよい。例えば、高速処理が可能な性能を有する装置の前記閾値時間を、当該性能を有さない装置の前記閾値時間よりも短い時間に設定してもよい。また、高速通信が可能なネットワーク環境に属する装置の前記閾値時間を、当該ネットワーク環境に属さない装置の前記閾値時間よりも短い時間に設定してもよい。
【0036】
また、表示制御部114は、前記フローチャートにおいて、各ノードの近傍に、対応する前記処理時間とメモリ使用率とを表示させてもよい。図10に示す例では、各ノードの近傍に、前記処理時間とメモリ使用率Mとが併記されている。また、表示制御部114は、図11に示すように、各ノードに対応する処理番号とメモリ使用率とを対応付けたグラフをプログラム生成画面D1に表示させてもよい。なお、表示制御部114は、前記フローチャートにおいて、メモリ使用率、メモリ使用量、HDDの空き容量、CPUの使用率、ネットワーク通信時間のうち少なくともいずれかの情報を各ノードの近傍に表示させてもよい。
【0037】
なお、表示制御部114は、上述した各表示処理を組み合わせてもよい。表示制御部114は、本発明の表示制御部の一例である。
【0038】
[プログラム生成処理]
以下、図12を参照しつつ、プログラム生成装置1の制御部11によって実行されるプログラム生成処理の手順の一例について説明する。なお、以下の前記プログラム生成処理において、利用者が処理を中止する操作を行った場合には、制御部11は、その時点で処理を終了する。
【0039】
なお、本発明は、前記プログラム生成処理に含まれる一又は複数のステップを実行するプログラム生成方法の発明として捉えることができ、ここで説明する当該プログラム生成処理に含まれる一又は複数のステップが適宜省略されてもよい。なお、前記プログラム生成処理における各ステップは同様の作用効果を生じる範囲で実行順序が異なってもよい。さらに、ここでは制御部11によって前記プログラム生成処理における各ステップが実行される場合を例に挙げて説明するが、複数のプロセッサーによって前記プログラム生成処理における各ステップが分散して実行されるプログラム生成方法も他の実施形態として考えられる。
【0040】
先ずステップS1において、制御部11は、プログラム生成画面D1におけるユーザの操作に基づいてフローチャートを作成する(図2参照)。
【0041】
次に、制御部11は、プログラム生成画面D1においてユーザからプログラムを生成する指示操作(図2のプログラム生成ボタン133を押下)を受け付けると(S2:Yes)、前記フローチャートに対応するプログラムを生成する(S3)。ステップS3は、本発明のプログラム生成ステップの一例である。
【0042】
次に、制御部11は、プログラム生成画面D1においてユーザからプログラムを実行する指示操作(図2のプログラム実行ボタン134を押下)を受け付けると(S4:Yes)、前記フローチャートに対応する前記プログラムを実行する(S5)。なお、ユーザは、プログラムを実行するまでフローチャートを編集することが可能である(S4:No)。
【0043】
次にステップS6において、制御部11は、前記プログラムを実行すると、前記フローチャートを構成する複数のノードのそれぞれの処理時間を算出する。ステップS6は、本発明の処理時間算出ステップの一例である。
次にステップS7において、制御部11は、プログラム生成画面D1において、算出した前記処理時間を前記フローチャートの前記ノードに対応付けて表示させる(図3等参照)。ステップS7は、本発明の処理時間表示ステップの一例である。
【0044】
ユーザは、前記処理時間が表示された前記フローチャートを確認して、前記プログラムの有効性、実効性などを評価する。例えば、ユーザは、前記処理時間が長いノードについて処理内容を見直して、パラメータを変更したり、前記フローチャート全体を編集したりする。前記フローチャートを変更した場合、例えばユーザは、再度、プログラムの生成指示及び実行指示を行い、変更された処理時間を確認して、変更後のプログラムを評価する。
【0045】
以上のように、本実施形態に係るプログラム生成装置1は、複数のノードで構成されるフローチャートによりプログラムを生成し、生成された前記プログラムを実行して前記複数のノードのそれぞれの処理時間を算出する。そして、プログラム生成装置1は、算出した前記処理時間を前記ノードに対応付けて表示させる。これにより、各ノードと処理時間との対応関係が明確になるため、ユーザは改善が必要なノードを容易に把握することができる。よって、複数のノードで構成されるフローチャートに対応するプログラムにおいて、各ノードの有効性を容易に把握することが可能となる。
【0046】
本発明は、上述の実施形態に限定されない。他の実施形態として、表示制御部114は、前記処理時間をプログラム生成画面D1とは異なる画面において、前記ノードと対応付けて表示させてもよい。
【0047】
また、表示制御部114は、前記フローチャートを構成する複数のノードのうち改善が必要なノード、具体的には前記処理時間が最も長いノード又は前記処理時間が閾値時間を超えるノードについて前記処理時間を表示させ、他のノードについては前記処理時間を非表示にしてもよい。
【0048】
なお、本発明に係るプログラム生成装置は、各請求項に記載された発明の範囲において、以上に示された各実施形態を自由に組み合わせること、或いは各実施形態を適宜、変形又は一部を省略することによって構成されることも可能である。
【符号の説明】
【0049】
1 :プログラム生成装置
11 :制御部
12 :記憶部
13 :操作表示部
14 :タイマー
15 :通信部
111 :プログラム生成部
112 :プログラム実行部
113 :処理時間算出部
114 :表示制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12