(57)【要約】【課題】従来、プログラムを分かりやすく提示できなかった【解決手段】２以上のサブプログラムを有するプログラムを格納し得るプログラム格納部１２と、前記２以上の各サブプログラムに対応付けて、アイコンを格納し得るアイコン格納部１３と、前記プログラム格納部１２からプログラムを読み出し、当該プログラムを実現するサブプログラムの実行順序に従って、２以上の各サブプログラムに対応付けられた２以上のアイコンを出力する実行順序アイコン出力部１５とを具備する情報処理装置により、プログラムを分かりやすく提示することができる。【選択図】図１
2010122785.tif 000002
【特許請求の範囲】
【請求項１】
２以上のサブプログラムを有するプログラムを格納し得るプログラム格納部と、
前記２以上の各サブプログラムに対応付けて、アイコンを格納し得るアイコン格納部と、
前記プログラム格納部からプログラムを読み出し、当該プログラムを実現するサブプログラムの実行順序に従って、２以上の各サブプログラムに対応付けられた２以上のアイコンを出力する実行順序アイコン出力部とを具備する情報処理装置。
【請求項２】
前記実行順序アイコン出力部は、
前記プログラム格納部からプログラムを読み出し、当該プログラムから、当該プログラムを実現するサブプログラムの実行順序を取得する実行順序取得手段と、
前記サブプログラム間のループ処理を検出し、ループに関する情報であるループ情報を取得するループ情報取得手段と、
前記実行順序取得手段が取得したサブプログラムの実行順序、および前記ループ情報取得手段が取得したループ情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序とループを示すように出力する実行手順出力手段とを具備する請求項１記載の情報処理装置。
【請求項３】
前記実行順序アイコン出力部は、
処理の分岐を検出し、分岐に関する情報である分岐情報を取得する分岐情報取得手段をさらに具備し、
前記実行手順出力手段は、
前記実行順序取得手段が取得したサブプログラムの実行順序、前記ループ情報取得手段が取得したループ情報、および分岐情報取得手段が取得した分岐情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序、ループ、および分岐を示すように出力する請求項２記載の情報処理装置。
【請求項４】
前記プログラム格納部からプログラムを読み出し、実行する実行部をさらに具備し、
前記実行順序アイコン出力部は、
前記実行部が実行中のサブプログラムに対応づけられているアイコンを、他のサブプログラムに対応づけられているアイコンと視覚的に区別して出力する請求項１から請求項３いずれか記載の情報処理装置。
【請求項５】
１以上のサブプログラムが、停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報である実行属性情報を格納している実行属性情報格納部をさらに具備し、
前記実行部は、
前記実行属性情報に従って、１以上のサブプログラムを自動実行し、かつ、１以上のサブプログラムの実行前に停止する請求項４記載の情報処理装置。
【請求項６】
前記実行属性情報は、
１以上のサブプログラムが、実行前にユーザからの入力を受け付けないと実行されないサブプログラムである停止対象のサブプログラムであるか、ユーザからの入力の有無に関わらず実行され得る一時停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報であり、
前記実行部は、
前記実行属性情報が停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの所定の情報の入力を受け付けた後、当該サブプログラムを実行し、
前記実行属性情報が一時停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの入力の有無に関わらず当該サブプログラムを実行し、
前記実行属性情報が自動実行対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に停止せずに、当該サブプログラムを実行する請求項５記載の情報処理装置。
【請求項７】
コンピュータを、
２以上のサブプログラムを有するプログラムと、２以上の各サブプログラムに対応付けて、アイコンを、記憶媒体に格納しており、
前記記憶媒体からプログラムを読み出し、プログラムを実現するサブプログラムの実行順序に従って、２以上の各サブプログラムに対応付けられた２以上のアイコンを出力する実行順序アイコン出力部として機能させるためのプログラム。
【請求項８】
前記実行順序アイコン出力部は、
前記記憶媒体からプログラムを読み出し、当該プログラムから、当該プログラムを実現するサブプログラムの実行順序を取得する実行順序取得手段と、
前記サブプログラム間のループ処理を検出し、ループに関する情報であるループ情報を取得するループ情報取得手段と、
前記実行順序取得手段が取得したサブプログラムの実行順序、および前記ループ情報取得手段が取得したループ情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序とループを示すように出力する実行手順出力手段とを具備するものとして、コンピュータを機能させるための請求項７記載のプログラム。
【請求項９】
前記実行順序アイコン出力部は、
処理の分岐を検出し、分岐に関する情報である分岐情報を取得する分岐情報取得手段をさらに具備し、
前記実行手順出力手段は、
前記実行順序取得手段が取得したサブプログラムの実行順序、前記ループ情報取得手段が取得したループ情報、および分岐情報取得手段が取得した分岐情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序、ループ、および分岐を示すように出力するものとして、コンピュータを機能させるための請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サブプログラムとアイコンを対応付けて、プログラム全体の処理の流れを、アイコンを用い表示する情報処理装置等に関するものである。
【背景技術】
【０００２】
従来、アイコンを表示する装置があった（例えば、特許文献１参照）。かかる装置は、複数のアイコンを重ね合わせて配置された中から、ユーザが所望するファイルのアイコンを速やかに選択できるようにする装置である。この装置は、コンピュータの実体ファイルメモリ内のそれぞれのファイルに対応するアイコンのアイコンデータを保持するアイコンテーブルを持ち、スコア算出手段がファイルに基づいて表示順スコアを算出し、アイコン再配置手段が前記算出した表示順スコアに基づいてアイコンを再配置し、アイコン表示手段が前記再配置したアイコンを画面に表示出力することで、各アイコンのＸ、Ｙ表示位置の関係を維持しつつ、画面の深さ方向でアイコンをソートするものである。
【特許文献１】特開２００６−２４４３２６号公報（第１頁、第１図等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の情報処理装置においては、プログラム全体の構造や実行手順を、細かい単位（サブプログラム単位）で、図的に分かりやすく出力することができなかった。また、プログラム実行中に、プログラムの実行過程を、細かい単位（サブプログラム単位）で、図的に分かりやすく出力することができなかった。
【課題を解決するための手段】
【０００４】
本第一の発明の情報処理装置は、２以上のサブプログラムを有するプログラムを格納し得るプログラム格納部と、前記２以上の各サブプログラムに対応付けて、アイコンを格納し得るアイコン格納部と、前記プログラム格納部からプログラムを読み出し、当該プログラムを実現するサブプログラムの実行順序に従って、２以上の各サブプログラムに対応付けられた２以上のアイコンを出力する実行順序アイコン出力部とを具備する情報処理装置である。
【０００５】
かかる構成により、プログラムの実行順序を分かりやすく提示することができる。
【０００６】
また、本第二の発明の情報処理装置は、第一の発明に対して、前記実行順序アイコン出力部は、前記プログラム格納部からプログラムを読み出し、当該プログラムを解析し、当該プログラムを実現するサブプログラムの実行順序を取得する実行順序取得手段と、前記サブプログラム間のループ処理を検出し、ループに関する情報であるループ情報を取得するループ情報取得手段と、前記実行順序取得手段が取得したサブプログラムの実行順序、および前記ループ情報取得手段が取得したループ情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序とループを示すように出力する実行手順出力手段とを具備する情報処理装置である。
【０００７】
かかる構成により、プログラムの実行順序と制御構造を分かりやすく提示することができる。
【０００８】
また、本第三の発明の情報処理装置は、第二の発明に対して、前記実行順序アイコン出力部は、処理の分岐を検出し、分岐に関する情報である分岐情報を取得する分岐情報取得手段をさらに具備し、前記実行手順出力手段は、前記実行順序取得手段が取得したサブプログラムの実行順序、前記ループ情報取得手段が取得したループ情報、および分岐情報取得手段が取得した分岐情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序、ループ、および分岐を示すように出力する情報処理装置である。
【０００９】
かかる構成により、プログラムの実行順序と制御構造を分かりやすく提示することができる。
【００１０】
また、本第四の発明の情報処理装置は、第一から第三いずれかの発明に対して、前記プログラム格納部からプログラムを読み出し、実行する実行部をさらに具備し、前記実行順序アイコン出力部は、前記実行部が実行中のサブプログラムに対応づけられているアイコンを、他のサブプログラムに対応づけられているアイコンと視覚的に区別して出力する情報処理装置である。
【００１１】
かかる構成により、プログラムの実行順序と実行経過を分かりやすく提示することができる。
【００１２】
また、本第五の発明の情報処理装置は、第四の発明に対して、１以上のサブプログラムが、停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報である実行属性情報を格納している実行属性情報格納部をさらに具備し、前記実行部は、前記実行属性情報に従って、１以上のサブプログラムを自動実行し、かつ、１以上のサブプログラムの実行前に停止する情報処理装置である。
【００１３】
かかる構成により、サブプログラムの特性に応じた実行が可能である。
【００１４】
また、本第六の発明の情報処理装置は、第五の発明に対して、前記実行属性情報は、１以上のサブプログラムが、実行前にユーザからの入力を受け付けないと実行されないサブプログラムである停止対象のサブプログラムであるか、ユーザからの入力の有無に関わらず実行され得る一時停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報であり、前記実行部は、前記実行属性情報が停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの所定の情報の入力を受け付けた後、当該サブプログラムを実行し、前記実行属性情報が一時停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの入力の有無に関わらず当該サブプログラムを実行し、前記実行属性情報が自動実行対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に停止せずに、当該サブプログラムを実行する情報処理装置である。
【００１５】
かかる構成により、サブプログラムの特性に応じた実行が可能である。
【発明の効果】
【００１６】
本発明による情報処理装置によれば、プログラムを分かりやすく提示することができる。
【発明を実施するための最良の形態】
【００１７】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１８】
（実施の形態１）
本実施の形態において、サブプログラムとアイコンを対応付けて、プログラム全体の処理の流れを、アイコンを用い表示する情報処理装置について説明する。本情報処理装置は、ループや分岐などのプログラムの制御構造も図的に表示できる。また、本情報処理装置は、プログラムの実行部も有し、実行中のサブプログラムを明示できる。さらに、本情報処理装置において、サブプログラムごとに、サブプログラムの種類（停止対象のサブプログラムか、一時停止対象のサブプログラムか、自動実行対象のサブプログラムかを示し情報）を設定でき、その種類に応じて、サブプログラムが実行される。なお、サブプログラムの種類とは、後述する実行属性情報である。
【００１９】
図１は、本実施の形態における情報処理装置のブロック図である。情報処理装置１は、受付部１１、プログラム格納部１２、アイコン格納部１３、実行属性情報格納部１４、実行順序アイコン出力部１５、実行部１６を具備する。
【００２０】
実行順序アイコン出力部１５は、実行順序取得手段１５１、ループ情報取得手段１５２、分岐情報取得手段１５３、実行手順出力手段１５４を具備する。
【００２１】
受付部１１は、ユーザからの入力を受け付ける。入力とは、例えば、データ、指示などである。データとは、プログラム格納部１２に格納されるプログラムやサブプログラム、アイコン格納部１３に格納されるアイコン、実行属性情報格納部１４に格納される実行属性情報などを含む。指示とは、プログラムの実行指示や、実行順序を示すサブプログラムのアイコンを出力する指示であるアイコン出力指示などである。
【００２２】
ユーザが利用する入力手段は、キーボードやマウスやテンキーやメニュー画面によるもの等、何でも良い。受付部１１は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００２３】
プログラム格納部１２は、２以上のサブプログラムを有するプログラムを格納し得る。
【００２４】
サブプログラムとは、コマンド、関数、メソッドなどとも言う。サブプログラムは、呼び出し可能（実行可能）な、実行モジュールでも良い。また、サブプログラムは、ＣＡＥにおけるソルバなどでも良い。サブプログラムは、プログラムの一部を構成するものであれば何でも良い。プログラムやサブプログラムを実現しているプログラム言語は、手続型でも良いし、宣言型でも良い。つまり、プログラムやサブプログラムを実現しているプログラム言語は、問わない。プログラム格納部１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。プログラム格納部１２にプログラムやサブプログラムが記憶される過程は問わない。例えば、記録媒体を介してプログラムやサブプログラムがプログラム格納部１２で記憶されるようになってもよく、通信回線等を介して送信されたプログラムやサブプログラムがプログラム格納部１２で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたプログラムやサブプログラムがプログラム格納部１２で記憶されるようになってもよい。
【００２５】
アイコン格納部１３は、２以上の各サブプログラムに対応付けて、アイコンを格納し得る。アイコンは、図柄、シンボルなどと言っても良い。アイコンは、通常、サブプログラムを抽象する情報である。つまり、アイコンは、ユーザにサブプログラムの機能や動作などを認識させる情報であることが好適である。また、アイコンのデータタイプは問わない。つまり、アイコンは、イメージだけに限らず、文字列、動画等でも良い。なお、アイコンは、コンピュータがプログラム実行時に解釈する情報（関数名、実行モジュール名、メッセージ名、メソッド名など）は含まれない。つまり、アイコン格納部のアイコンは、プログラムとは、別途、入力された情報である。アイコン格納部１３は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。アイコン格納部１３にアイコンが記憶される過程は問わない。例えば、記録媒体を介してアイコンがアイコン格納部１３で記憶されるようになってもよく、通信回線等を介して送信されたアイコンがアイコン格納部１３で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたアイコンがアイコン格納部１３で記憶されるようになってもよい。
【００２６】
実行属性情報格納部１４は、１以上のサブプログラムが、停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報である実行属性情報を格納している。実行属性情報は、停止対象のサブプログラムであるか、一時停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報であっても良い。実行属性情報は、サブプログラムの種類を分類する情報であり、その種類の数は、２つでも、３つでも、４つ以上でも良い。また、停止対象のサブプログラムとは、実行前に停止するサブプログラムである。また、好ましくは、停止対象のサブプログラムとは、サブプログラムの実行前に、実行を停止し、ユーザからの所定の情報の入力を受け付けた後、当該サブプログラムが実行されるプログラムである。所定の情報とは、例えば、サブプログラムが利用するパラメータや、サブプログラムを識別する識別子である。また、一時停止対象のサブプログラムとは、サブプログラムの実行前に、実行を停止し、ユーザからの入力の有無に関わらず実行されるプログラムである。一時停止対象のサブプログラムは、情報の入力を受け付けてから実行されても良いし、情報を出力してから実行されても良いし、何も動作を行わずに実行されても良い。また、実行の際に、ユーザからの実行指示を受け付けても良い。自動実行対象のサブプログラムとは、実行前に停止せずに、実行を進めるサブプログラムである。また、実行属性情報とは、フラグ（例えば、２，１，０などの数値）でも良いし、停止対象のサブプログラムの識別子、自動実行対象のサブプログラムの識別子などでも良い。つまり、実行属性情報は、サブプログラムの種類を区別できる情報であれば良い。実行属性情報格納部１４は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。実行属性情報格納部１４に実行属性情報が記憶される過程は問わない。例えば、記録媒体を介して実行属性情報が実行属性情報格納部１４で記憶されるようになってもよく、通信回線等を介して送信された実行属性情報が実行属性情報格納部１４で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された実行属性情報が実行属性情報格納部１４で記憶されるようになってもよい。
【００２７】
実行順序アイコン出力部１５は、プログラム格納部１２からプログラムを読み出し、プログラムを実現するサブプログラムの実行順序に従って、２以上の各サブプログラムに対応付けられた２以上のアイコンを出力する。実行順序アイコン出力部１５は、プログラム格納部１２からプログラムを読み出し、当該プログラムから、２以上のサブプログラムの実行順序に関する情報（通常、２以上のサブプログラムの識別子など）を取得し、当該２以上の各サブプログラムの識別子をアイコンに置き換え、サブプログラムの実行順序を示すように、当該２以上のアイコンを出力する。なお、プログラムからサブプログラムの識別子（例えば、関数名やソルバ名など）を取得する処理は、既存のコンパイラや、既存のプログラムの静的解析ツールや、既存のデバッガなどと同様の処理であり、公知技術であるので、詳細な説明は省略する。
【００２８】
また、実行順序アイコン出力部１５は、プログラム格納部１２からプログラムを読み出し、プログラムを解析し、プログラムを実現するサブプログラムの実行順序と、サブプログラム間のループ処理を検出し、ループに関する情報であるループ情報を取得し、サブプログラムの実行順序、およびループ情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序とループを示すように出力することは好適である。
【００２９】
また、実行順序アイコン出力部１５は、処理の分岐をも検出し、分岐に関する情報である分岐情報を取得し、出力することはさらに好適である。
【００３０】
さらに、実行順序アイコン出力部１５は、実行部１６が実行中のサブプログラムに対応づけられているアイコンを、他のサブプログラムに対応づけられているアイコンと視覚的に区別して出力することはさらに好適である。
【００３１】
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置（主として、表示装置）への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。
【００３２】
実行順序アイコン出力部１５は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。実行順序アイコン出力部１５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３３】
実行順序取得手段１５１は、プログラム格納部１２からプログラムを読み出し、プログラムを解析し、プログラムを実現するサブプログラムの実行順序を取得する。ここで、プログラムの解析とは、プログラムに対して構文解析、字句解析等を行い、サブプログラムの実行順序（例えば、実行されるサブプログラムの、実行順にソートされた識別子の集合）を取得する処理である。プログラムの解析は、既存のコンパイラや、既存のプログラムの静的解析ツールや、既存のデバッガなどと同様の処理であり、公知技術であるので、詳細な説明は省略する。実行順序取得手段１５１は、通常、ＭＰＵやメモリ等から実現され得る。実行順序取得手段１５１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３４】
ループ情報取得手段１５２は、サブプログラム間のループ処理を検出し、ループに関する情報であるループ情報を取得する。ループ情報とは、例えば、ループの開始位置、終了位置を示す情報である。ループ情報とは、例えば、ループ内のサブプログラムを識別する情報でも良い。ループ情報取得手段１５２が行う処理も、既存のコンパイラや、既存のプログラムの静的解析ツールや、既存のデバッガなどと同様の処理であり、公知技術であるので、詳細な説明は省略する。ループ情報取得手段１５２は、通常、ＭＰＵやメモリ等から実現され得る。ループ情報取得手段１５２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３５】
分岐情報取得手段１５３は、処理の分岐を検出し、分岐に関する情報である分岐情報を取得する。分岐情報とは、例えば、分岐の位置を示す情報、分岐の直後のサブプログラムを識別する情報である。処理の分岐は、例えば、プログラム中の予約語である「ＩＦ」「ＴＨＥＮ」「ＥＬＳＥ」などの出現を検知することにより行われる。予約語は、プログラム言語により異なることは言うまでもない。分岐情報取得手段１５３は、通常、ＭＰＵやメモリ等から実現され得る。分岐情報取得手段１５３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３６】
実行手順出力手段１５４は、実行順序取得手段１５１が取得したサブプログラムの実行順序、およびループ情報取得手段１５２が取得したループ情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序とループを示すように出力する。また、実行手順出力手段１５４は、実行順序取得手段１５１が取得したサブプログラムの実行順序、ループ情報取得手段１５２が取得したループ情報、および分岐情報取得手段１５３が取得した分岐情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序、ループ、および分岐を示すように出力することは好適である。ここで、実行順序を示すように出力する、とは、例えば、実行順序に従ってサブプログラムのアイコンを順に並べて出力することであったり、実行順序に従ってサブプログラムのアイコンを矢印で接続している出力することであったりする。また、ループは、例えば、矢印や記号などにより出力される。また、分岐は、例えば、分岐を示すアイコン（例えば、菱形図形のアイコン）などにより示される。ただし、実行順序、ループ、および分岐を示すような出力の態様は問わない。
【００３７】
実行手順出力手段１５４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。実行手順出力手段１５４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３８】
実行部１６は、プログラム格納部１２からプログラムを読み出し、当該プログラムを実行する。
【００３９】
また、実行部１６は、実行属性情報に従って、１以上のサブプログラムを実行することは好適である。つまり、実行部１６は、実行属性情報に従って、自動実行し、かつ、１以上のサブプログラムの実行前に停止することは好適である。
【００４０】
また、実行部１６は、実行属性情報が停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの所定の情報の入力を受け付けた後、当該サブプログラムを実行する。なお、実行属性情報が停止対象のサブプログラムであることを示す場合、実行部１６は、実行を停止した後、ユーザからの所定の情報の入力を受け付けたか否かを検査し、所定の情報（予め決められた数のパラメータや、サブプログラム識別子など）を受け付けたと判断した場合に、当該サブプログラムを実行することは好適である。また、かかる場合、実行部１６は、実行を停止した後、ユーザからの所定の情報の入力を受け付けたか否かを検査し、所定の情報（予め決められた数のパラメータや、サブプログラム識別子など）を受け付けたと判断し、かつ、ユーザからサブプログラムの実行指示の入力（実行ボタンの押下など）があった場合に、サブプログラムを実行することは好適である。
【００４１】
また、実行部１６は、実行属性情報が一時停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの入力の有無に関わらず当該サブプログラムを実行する。なお、実行属性情報が一時停止対象のサブプログラムであることを示す場合、ユーザからの所定の情報の入力を受け付けたか否かを検査せずに、ユーザからサブプログラムの実行指示の入力（実行ボタンの押下など）があった場合に、サブプログラムを実行することは好適である。
【００４２】
また、実行部１６は、実行属性情報が自動実行対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に停止せずに、当該サブプログラムを実行することは好適である。
【００４３】
実行部１６は、通常、ＭＰＵやメモリ等から実現され得る。実行部１６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４４】
次に、情報処理装置の動作について、図２のフローチャートを用いて説明する。
【００４５】
（ステップＳ２０１）受付部１１は、ユーザからデータ等の入力を受け付けたか否かを判断する。データ等の入力を受け付ければステップＳ２０２に行き、データ等の入力を受け付けなければステップＳ２０３に行く。
【００４６】
（ステップＳ２０２）受付部１１は、ステップＳ２０１で受け付けたデータ等を、プログラム格納部１２、アイコン格納部１３、実行属性情報格納部１４等の記憶媒体に蓄積する。つまり、ステップＳ２０１で受け付けられデータがアイコンである場合には、受付部１１は、当該アイコンをアイコン格納部１３に蓄積する。また、ステップＳ２０１で受け付けられデータが実行属性情報である場合には、受付部１１は、当該実行属性情報を実行属性情報格納部１４に蓄積する。ステップＳ２０１に戻る。
【００４７】
（ステップＳ２０３）受付部１１は、ユーザからアイコン出力指示を受け付けたか否かを判断する。アイコン出力指示を受け付ければステップＳ２０４に行き、アイコン出力指示を受け付けなければステップＳ２０５に行く。
【００４８】
（ステップＳ２０４）実行順序アイコン出力部１５は、実行順序アイコン出力処理を行う。実行順序アイコン出力処理の詳細について、図３のフローチャートを用いて説明する。ステップＳ２０１に戻る。
【００４９】
（ステップＳ２０５）受付部１１は、ユーザからプログラム実行指示を受け付けたか否かを判断する。プログラム実行指示を受け付ければステップＳ２０６に行き、プログラム実行指示を受け付けなければステップＳ２０１に行く。
【００５０】
（ステップＳ２０６）実行順序アイコン出力部１５は、実行順序アイコン出力処理を行う。実行順序アイコン出力処理の詳細について、図３のフローチャートを用いて説明する。
【００５１】
（ステップＳ２０７）実行部１６は、プログラムの実行処理を行う。かかる実行処理の詳細について、図４のフローチャートを用いて説明する。ステップＳ２０１に戻る。
【００５２】
なお、図２のフローチャートにおいて、プログラムの実行指示を受け付けた場合のみ、実行順序アイコンの出力処理を行っても良い。つまり、図２のフローチャートにおいて、アイコン出力指示は受け付けなくても良い。
【００５３】
また、図２のフローチャートにおいて、受付部１１が他の指示等を受け付けた場合、当該他の指示等に応じた処理を行うことは言うまでもない。
【００５４】
さらに、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５５】
次に、ステップＳ２０４の実行順序アイコン出力処理の詳細について、図３のフローチャートを用いて説明する。
【００５６】
（ステップＳ３０１）実行順序アイコン出力部１５の実行順序取得手段１５１は、プログラム格納部１２に格納されているプログラムのファイルをオープンする。
【００５７】
（ステップＳ３０２）実行順序取得手段１５１は、カウンタｉに１を代入する。
【００５８】
（ステップＳ３０３）実行順序取得手段１５１は、ステップＳ３０１でオープンしたプログラムファイル中に、ｉ番目のサブプログラム等が存在するか否かを判断する。ｉ番目のサブプログラム等が存在すればステップＳ３０４に行き、ｉ番目のサブプログラム等が存在しなければステップＳ３１２に行く。なお、サブプログラム等とは、サブプログラム、ループや分岐などの制御情報などである。ループや分岐などの制御情報もサブプログラムと言っても良い。
【００５９】
（ステップＳ３０４）実行順序取得手段１５１は、ｉ番目のサブプログラム等を、メモリ上に読み込む。
【００６０】
（ステップＳ３０５）実行順序取得手段１５１は、ｉ番目のサブプログラム等に対応するアイコンをアイコン格納部１３から取得する。
【００６１】
（ステップＳ３０６）実行手順出力手段１５４は、ステップＳ３０５で取得されたアイコンを出力する。アイコンを出力する位置は、（ｉ−１）番目のアイコンの出力位置の次の位置である。また、ｉ番目のアイコンと（ｉ−１）番目のアイコンとを矢印で接続して、フローを図的に表現することは好適である。
【００６２】
（ステップＳ３０７）実行順序取得手段１５１は、ｉ番目のサブプログラム等に対応する実行属性情報を実行属性情報格納部１４から取得する。
【００６３】
（ステップＳ３０８）実行手順出力手段１５４は、ステップＳ３０７で取得された実行属性情報を出力する。なお、実行属性情報がサブプログラムの種類を示す文字列や数値であり、出力される情報が当該文字列や数値に対応するアイコンなどの情報でも良い。かかる出力される情報も、実行属性情報という。つまり、実行属性情報格納部１４に格納されている実行属性情報（例えば、文字列）と出力される実行属性情報（例えば、アイコン）とが、対応付いていれば良く、異なる情報でも良い。
【００６４】
（ステップＳ３０９）実行手順出力手段１５４は、ｉ番目のサブプログラム等が分岐またはループ等の制御情報であるか否かを判断する。制御情報であればステップＳ３１０に行き、制御情報でなければステップＳ３１１に行く。
【００６５】
（ステップＳ３１０）実行手順出力手段１５４は、ｉ番目のサブプログラム等の制御情報の種類（分岐かループか、など）と、制御情報が現れる位置に関する情報を、少なくとも一時蓄積する。一時蓄積する記憶媒体は、いわゆる主メモリでも、ハードディスク等でも良い。
【００６６】
（ステップＳ３１１）実行手順出力手段１５４は、カウンタｉを１、インクリメントする。ステップＳ３０３に行く。
【００６７】
（ステップＳ３１２）実行順序取得手段１５１は、カウンタｊに１を代入する。
【００６８】
（ステップＳ３１３）ループ情報取得手段１５２または分岐情報取得手段１５３は、ステップＳ３１０で一時蓄積した情報（制御情報の種類と位置に関する情報を含む情報）の中で、ｊ番目の情報が存在するか否かを判断する。ｊ番目の情報が存在すればステップＳ３１４に行き、ｊ番目の情報が存在しなければ上位処理にリターンする。
【００６９】
（ステップＳ３１４）ループ情報取得手段１５２または分岐情報取得手段１５３は、ステップＳ３１０で一時蓄積した情報（制御情報の種類と位置に関する情報を含む情報）の中の、ｊ番目の情報を取得する。
【００７０】
（ステップＳ３１５）実行順序取得手段１５１は、ｊ番目の情報の種類（ループまたは分岐など）に応じた図形を取得し、当該図形を、ｊ番目の情報の種類が有する位置の情報に対応した箇所に出力する。また、実行順序取得手段１５１は、ｊ番目の情報の種類に応じた矢印などを出力することは好適である。
【００７１】
（ステップＳ３１６）実行手順出力手段１５４は、カウンタｊを１、インクリメントする。ステップＳ３０３に行く。ステップＳ３１３に戻る。
【００７２】
次に、ステップＳ２０７の実行処理の詳細について、図４のフローチャートを用いて説明する。図４のフローチャートにおいて、図３のフローチャートと同一のステップについて、その説明を省略する。
【００７３】
（ステップＳ４０１）実行部１６は、実行属性情報が停止対象のサブプログラムであることを示す情報であるか否かを判断する。停止対象であればステップＳ４０２に行き、停止対象でなければステップＳ４０８に行く。
【００７４】
（ステップＳ４０２）実行部１６は、ｉ番目のサブプログラム等に対応するメッセージを読み込む。このメッセージは、例えば、サブプログラム等に対応づけられている情報であり、プログラム格納部１２に格納されている。また、メッセージとは、サブプログラム等の実行前に出力される情報（メッセージ）である。
【００７５】
（ステップＳ４０３）実行部１６は、ステップＳ４０２で読み込まれたメッセージを出力する。なお、ステップＳ４０２で読み込まれたメッセージが存在しない場合は、メッセージは出力されないことは言うまでもない。
【００７６】
（ステップＳ４０４）実行部１６は、入力を受け付けたか否かを判断する。入力を受け付ければステップＳ４０５に行き、入力を受け付けなければステップＳ４０４に戻る。
【００７７】
（ステップＳ４０５）実行部１６は、ステップＳ４０４で受け付けた入力により、サブプログラムの実行が可能か否かを判断する。サブプログラムの実行が可能であればステップＳ４０６に行き、サブプログラムの実行が可能でなければステップＳ４０４に戻る。なお、サブプログラムの実行が可能である場合は、例えば、サブプログラムの実行に必要なパラメータがすべて入力された場合や、サブプログラムを識別する識別子が指定された場合などである。
【００７８】
（ステップＳ４０６）実行順序アイコン出力部１５は、ｉ番目のサブプログラム等に対応するアイコンをフォーカスするような出力にする。フォーカスするような表示とは、他のアイコンと視覚的に区別できれば良い趣旨である。また、アイコン格納部１３は、ｉ番目のサブプログラム等に対応するアイコンとは別に、ｉ番目のサブプログラム等に対応するフォーカスアイコンを保持していても良い。かかる場合、実行順序アイコン出力部１５は、ｉ番目のサブプログラム等に対応するフォーカスアイコンをアイコン格納部１３から読み出し、ｉ番目のサブプログラム等に対応するアイコンが出力されている位置に、フォーカスアイコンを出力する。
【００７９】
（ステップＳ４０７）実行部１６は、ｉ番目のサブプログラムを実行する。サブプログラムが制御情報（分岐、ループなど）である場合も、当該制御情報に従った動作を行う。かかる動作は、例えば、プログラムカウンタを進める処理等である。
【００８０】
（ステップＳ４０８）実行部１６は、カウンタｉを１，インクリメントする。ステップＳ３０１に戻る。
【００８１】
（ステップＳ４０９）実行部１６は、実行属性情報が一時停止対象のサブプログラムであることを示す情報であるか否かを判断する。一時停止対象であればステップＳ４０２に行き、一時停止対象でなければステップＳ４１１に行く。
【００８２】
（ステップＳ４１０）実行部１６は、入力を受け付けたか否かを判断する。入力を受け付ければステップＳ４０６に行き、入力を受け付けなければステップＳ４１０に戻る。なお、この入力とは、サブプログラムの実行指示でも良い。
【００８３】
（ステップＳ４１１）実行部１６は、実行属性情報が自動実行対象のサブプログラムであることを示す情報であるか否かを判断する。自動実行であればステップＳ４０２に行き、自動実行でなければステップＳ４１２に行く。
【００８４】
（ステップＳ４１２）実行部１６は、ｉ番目のサブプログラム等がループの終点であるか否かを判断する。ループの終点であればステップＳ４１３に行き、ループの終点でなければステップＳ４１４に行く。
【００８５】
（ステップＳ４１３）実行部１６は、ループの始点にジャンプする。ステップＳ４０６に行く。
【００８６】
（ステップＳ４１４）実行部１６は、ｉ番目のサブプログラム等が分岐であるか否かを判断する。分岐であればステップＳ４１５に行き、ループの終点でなければステップＳ４０８に行く。
【００８７】
（ステップＳ４１５）実行部１６は、分岐に対応するサブプログラムにジャンプする。ステップＳ４０６に行く。
【００８８】
以下、本実施の形態における情報処理装置の具体的な動作について説明する。
【００８９】
今、プログラム格納部１２は、図５に示すプログラムを格納している、とする。図５に示すプログラムは、２以上のサブプログラムを有する。サブプログラムは、「＄ＣＯＭＭＡＮＤ｛」から「｝」までの情報を含む。また、サブプログラムは、「＠ＮＡＭＥ」に代入されているサブプログラム識別子（例えば、「ｒｅａｄ＿ｌｓｄｙｎａ＿ｋｅｙｗｏｒｄ」）に対応するプログラム（実行モジュールなどでも良い）である。このサブプログラム識別子で識別されるプログラムも、プログラム格納部１２に格納されている。なお、図５は、本プログラムを構成する一部のサブプログラムである。また、ここでのサブプログラムは、ＣＡＥにおけるソルバである。
【００９０】
また、アイコン格納部１３は、図６に示すアイコン管理表を保持している。アイコン管理表は、「ＩＤ」「アイコン識別子」「アイコン」の属性値を有するレコードを１以上、保持している。「ＩＤ」は、レコードを識別する情報であり、表管理のために存在する。「アイコン識別子」は、ここではアイコン名である。「アイコン」は、ここでは、静止画であるが、動画等の他のデータタイプでも良い。
【００９１】
さらに、実行属性情報格納部１４は、図５のプログラム中の「＠ＳＩＧＮＡＬ」に代入されている情報（例えば、「ＧＲＥＥＮ」「ＲＥＤ」「ＹＥＬＬＯＷ」）である実行属性情報を、サブプログラムに対応付けて、管理している。ここでは、実行属性情報は、サブプログラム中に埋め込まれているが、実行属性情報格納部１４は、実行属性情報管理表により、実行属性情報を管理しても良い。実行属性情報管理表は、例えば、サブプログラム識別子と実行属性情報とを対に有するレコードを１以上、保持する表である。なお、「ＧＲＥＥＮ」は自動実行対象のサブプログラム、「ＲＥＤ」は停止対象のサブプログラム、「ＹＥＬＬＯＷ」は一時停止対象のサブプログラムであることを示す。
【００９２】
なお、図５のサブプログラムにおける「＠ＩＤ」に代入される値は、サブプログラムＩＤ（サブプログラム識別子の一種）である。また、図５のサブプログラムにおける「＠ＴＹＰＥ」に代入される値は、サブプログラムのタイプである。サブプログラムのタイプは、例えば、実行可能であることを示す「ＥＸＥＣＵＴＡＢＬＥ」、制御情報であることを示す「ＣＯＮＴＲＯＬ」などがある。また、図５ のサブプログラムにおける「＠ Ｓ Ｙ Ｓ Ｔ Ｅ Ｍ 」に代入される値は、本システムにおける動作目的を示す情報である。動作目的を示す情報とは、例えば、解析モデル形状作成を示す「Ｐ Ｒ Ｅ （ Ｇ Ｅ Ｏ Ｍ Ｅ Ｔ Ｒ Ｙ ）」、解析条件設定を示す「Ｐ Ｒ Ｅ （ Ｃ Ｏ Ｎ Ｄ Ｉ Ｔ Ｉ Ｏ Ｎ ）」、「解析ソルバの実行」を示す「Ｓ Ｏ Ｌ Ｖ ＥＲ 」、解析結果評価を示す「Ｐ Ｏ Ｓ Ｔ 」などである。また、図５のサブプログラムにおける「＠ＰＲＯＭＰＴ」に代入される値は、当該サブプログラムの実行前に出力されるメッセージを示す。また、図５のサブプログラムにおける「＠ＭＥＮＵ＿ＩＤ」に代入される値は、当該サブプログラムで利用されるメニューを識別するメニューＩＤを示す。なお、図示しない記憶媒体にメニューＩＤに対応するメニューの実体データが格納されている。また、図５のサブプログラムにおける「＠ＰＡＲＡＭ」に代入される値は、当該サブプログラムで利用されるパラメータを示す。また、図５のサブプログラムにおける「＠ＣＯＮＴＲＯＬ＿ＴＹＰＥ」に代入される値は、制御情報の種類が分岐「ＢＲＡＮＣＨ」であるか、ループ「ＬＯＯＰ」であるかを示す。さらに、図５ のサブプログラムにおける「＠ ＦＵ Ｎ Ｃ Ｔ Ｉ Ｏ Ｎ 」に代入される値は、サブプログラムの流れ（ フロー）を制御するための情報を示す。かかる情報として、フローの条件分岐を示す情報、繰り返し（ 同じ処理を繰り返す際の戻り先定義、戻り先への制御ジャンプ）を示す情報、制御用パラメータの定義を示す情報、制御用パラメータの演算を示す情報、などがある。なお、例えば、「Ｆ Ｕ ＮＣ Ｔ Ｉ Ｏ Ｎ ＝ Ｃ Ｏ Ｎ Ｆ Ｉ Ｒ Ｍ （" ..." ／ １ ２ １ ０ ／ １ ０ ８ ０ ）」は、条件分岐機能のタイプが「確認ダイアログ」によるものであることを示す。そして、上記の定義において、確認の回答が「はい」である場合は、サブプログラム「Ｉ Ｄ：１ ２１ ０ 」へジャンプする。また、確認の回答が「いいえ」である場合は、サブプログラム「ＩＤ ： １ ０ ８ ０ 」へジャンプする。
【００９３】
かかる状況において、ユーザは、プログラムの実行指示を入力した、とする。そして、受付部１１は、プログラムの実行指示を受け付ける。ここでのプログラムは、図５に示すプログラムである、とする。
【００９４】
そして、実行順序アイコン出力部１５は、以下に示す実行順序アイコン出力処理を行う。つまり、実行順序アイコン出力部１５の実行順序取得手段１５１は、図５のプログラムのファイルをオープンする。
【００９５】
そして、実行順序取得手段１５１は、オープンしたプログラムファイル中の、１番目のサブプログラム等から、処理していく。
【００９６】
つまり、まず、実行順序取得手段１５１は、１番目のサブプログラム等を、メモリ上に読み込む。
【００９７】
そして、実行順序取得手段１５１は、１番目のサブプログラム等に対応するアイコン「ｒｅａｄ＿ｋｅｙｗｏｒｄ＿ｆｉｌｅ．ｐｎｇ」を図６のアイコン管理表から取得する。
【００９８】
次に、実行手順出力手段１５４は、取得されたアイコン「ｒｅａｄ＿ｋｅｙｗｏｒｄ＿ｆｉｌｅ．ｐｎｇ」を出力する。
【００９９】
次に、実行順序取得手段１５１は、１番目のサブプログラム等に対応する実行属性情報「ＧＲＥＥＮ」を実行属性情報格納部１４（図５のファイル）から取得する。
【０１００】
次に、実行手順出力手段１５４は、取得された実行属性情報「ＧＲＥＥＮ」を出力する。ここで出力する実行属性情報は、「ＧＲＥＥＮ」に対応する青信号のアイコン（図柄）である。なお、「ＧＲＥＥＮ」「ＹＥＬＬＯＷ」「ＲＥＤ」のそれぞれに対応するアイコンは、実行手順出力手段１５４に管理されている、とする。また、「ＧＲＥＥＮ」に対応するアイコンは信号の形状をしており、左の丸図形が点灯している。「ＹＥＬＬＯＷ」に対応するアイコンは信号の形状をしており、真ん中の丸図形が点灯している。さらに、「ＲＥＤ」に対応するアイコンは信号の形状をしており、右の丸図形が点灯している。
【０１０１】
そして、この時点で、実行手順出力手段１５４は、図７（ａ）に示す出力画面を得る。なお、図７（ａ）等において、サブプログラム等に対応するアイコンの上に、実行属性情報（アイコン）が出力される。ただし、サブプログラム等のアイコンと対応付くように実行属性情報（アイコン）が出力されれば良く、両者の位置関係は問わないことは言うまでもない。
【０１０２】
次に、実行手順出力手段１５４は、１番目のサブプログラム等が分岐またはループ等の制御情報でない、と判断する。
【０１０３】
次に、実行順序取得手段１５１は、２番目のサブプログラム等を、メモリ上に読み込む。
【０１０４】
そして、実行順序取得手段１５１は、２番目のサブプログラム等に対応するアイコン「ｅｙｅｘｙｚ．ｐｎｇ」を図６のアイコン管理表から取得する。
【０１０５】
次に、実行手順出力手段１５４は、１番目のアイコンから引かれる矢印（図形）と、取得されたアイコン「ｅｙｅｘｙｚ．ｐｎｇ」を出力する。
【０１０６】
次に、実行順序取得手段１５１は、２番目のサブプログラム等に対応する実行属性情報「ＧＲＥＥＮ」を実行属性情報格納部１４（図５のファイル）から取得する。
【０１０７】
次に、実行手順出力手段１５４は、取得された実行属性情報「ＧＲＥＥＮ」に対応する青信号のアイコン（図柄）である。
【０１０８】
そして、この時点で、実行手順出力手段１５４は、図７（ｂ）に示す出力画面を得る。
【０１０９】
次に、実行手順出力手段１５４は、２番目のサブプログラム等が分岐またはループ等の制御情報でない、と判断する。
【０１１０】
次に、実行順序取得手段１５１は、３番目のサブプログラム等を、メモリ上に読み込む。
【０１１１】
そして、実行順序取得手段１５１は、３番目のサブプログラム等に対応するアイコン「ｋｅｙｗ＿ｐａｒｔ＿ｃｒｅａｔｅ．ｐｎｇ」を図６のアイコン管理表から取得する。
【０１１２】
次に、実行手順出力手段１５４は、２番目のアイコンから引かれる矢印（図形）と、取得されたアイコン「ｋｅｙｗ＿ｐａｒｔ＿ｃｒｅａｔｅ．ｐｎｇ」を出力する。
【０１１３】
次に、実行順序取得手段１５１は、３番目のサブプログラム等に対応する実行属性情報「ＧＲＥＥＮ」を実行属性情報格納部１４（図５のファイル）から取得する。
【０１１４】
次に、実行手順出力手段１５４は、取得された実行属性情報「ＧＲＥＥＮ」に対応する青信号のアイコン（図柄）である。
【０１１５】
そして、この時点で、実行手順出力手段１５４は、図７（ｃ）に示す出力画面を得る。
【０１１６】
次に、実行手順出力手段１５４は、３番目のサブプログラム等が分岐またはループ等の制御情報でない、と判断する。
【０１１７】
そして、実行順序アイコン出力部１５は、以上の処理（図３を用いて説明した処理）を繰り返していく。
【０１１８】
そして、次に、実行順序アイコン出力部１５は、図５の３つ目のサブプログラム（「＄ＣＯＮＴＲＯＬ」のサブプログラム）の処理に入る、とする。
【０１１９】
つまり、実行順序取得手段１５１は、図５の３つ目のサブプログラムを、メモリ上に読み込む。
【０１２０】
次に、実行順序取得手段１５１は、そのサブプログラムに対応するアイコン「ｃｏｎｔｒｏｌ＿ｂｒａｎｃｈ．ｐｎｇ」を図６のアイコン管理表から取得する。
【０１２１】
次に、実行手順出力手段１５４は、直前のアイコンから引かれる矢印（図形）と、取得されたアイコン「ｃｏｎｔｒｏｌ＿ｂｒａｎｃｈ．ｐｎｇ」を出力する。
【０１２２】
次に、実行順序取得手段１５１は、このサブプログラムに対応する実行属性情報を実行属性情報格納部１４から取得しようとするが、存在しない。ここで、実行順序取得手段１５１は、デフォルトの実行属性情報「ＧＲＥＥＮ」を得る、とする。
【０１２３】
そして、実行手順出力手段１５４は、実行属性情報「ＧＲＥＥＮ」に対応するアイコンを出力する。
【０１２４】
次に、実行手順出力手段１５４は、このサブプログラムが分岐（「＠ＣＯＮＴＲＯＬ＿ＴＹＰＥ＝ＢＲＡＮＣＨ」から）の制御情報（「＠ＴＹＰＥ＝ＣＯＮＴＲＯＬ」から）であると判断する。
【０１２５】
次に、実行手順出力手段１５４は、このサブプログラムの制御情報の種類（分岐「ＢＲＡＮＣＨ」）と、制御情報が現れる位置に関する情報である位置情報（アイコンの出力された順番や、画面上の位置座標（Ｘ，Ｙ）など）を、メモリ上に一時蓄積する。
【０１２６】
実行順序アイコン出力部１５は、以上の処理を、すべてのサブプログラムに対して実行し、図７（ｄ）の画面を得る。つまり、実行手順出力手段１５４は、分岐やループに対応する矢印（図形）を出力する。ここでは、ループ、および分岐を示す出力は、矢印図形により実現されている。
【０１２７】
なお、図７（ｄ）を省略せずに、すべてのアイコンを示した図が、図８である。そして、以上により、実行順序アイコン出力処理が完了する。
【０１２８】
次に、実行処理（図４参照）に移行する。つまり、実行順序取得手段１５１は、１番目のサブプログラム等を、メモリ上に読み込む。
【０１２９】
次に、実行順序取得手段１５１は、ｉ番目のサブプログラム等に対応する実行属性情報「ＧＲＥＥＮ」を実行属性情報格納部１４から取得する。そして、実行部１６は、実行属性情報が自動実行対象のサブプログラムであると、判断する。
【０１３０】
次に、実行部１６は、１番目のサブプログラム等に対応するメッセージ「ＬＳ−ＤＹＮＡ  キーワードファイルの読込み」を読み込む。そして、実行部１６は、ステップＳ４０２で読み込まれたメッセージ「ＬＳ−ＤＹＮＡ  キーワードファイルの読込み」を出力する。
【０１３１】
次に、実行順序アイコン出力部１５は、１番目のサブプログラム等に対応するアイコンをフォーカスするような出力にする。
【０１３２】
そして、実行部１６は、１番目のサブプログラム「ｒｅａｄ＿ｌｓｄｙｎａ＿ｋｅｙｗｏｒｄ」を実行する。
【０１３３】
次に、実行順序取得手段１５１は、２番目以降のサブプログラム等も同様に処理していく。つまり、実行属性情報「ＧＲＥＥＮ」に対応するサブプログラムは、メッセージを出力しながら、次々に実行していく。
【０１３４】
次に、図５の２番目のサブプログラム（「＠ＩＤ＝１１１０」のサブプログラム）の実行に移行した、とする。
【０１３５】
次に、実行部１６は、図５の２番目のサブプログラムの実行属性情報「ＲＥＤ」が停止対象のサブプログラムであると、判断する。
【０１３６】
次に、実行部１６は、このサブプログラム等に対応するメッセージ「右側のメニューから節点編集のコマンドを選択・実行してください。」を読み込む。
【０１３７】
次に、実行部１６は、読み込まれたメッセージ「右側のメニューから節点編集のコマンドを選択・実行してください。」を出力する。これは、ユーザに入力を促すメッセージである。
【０１３８】
次に、実行部１６は、ユーザからの入力を受け付けたか否かを判断する。
【０１３９】
そして、ユーザは、メニューから節点編集のコマンドを選択し、実行ボタンを押下した、とする。なお、このメニューは、「＠ＭＥＮＵ＿ＩＤ＝１０１０２０００」により識別され得るメニューである。
【０１４０】
次に、実行順序アイコン出力部１５は、このサブプログラム等に対応するアイコン「ｅｄｉｔ＿ｆｅｍ＿ｎｏｄｅ．ｐｎｇ」をフォーカスするような出力にする。
【０１４１】
次に、実行部１６は、ユーザからの入力を受け付けたと判断し、このサブプログラムを実行する。
【０１４２】
以上のように、実行部１６は、次々とサブプログラム等を実行していく。
【０１４３】
以上、本実施の形態によれば、プログラムを分かりやすく提示することができる。例えば、情報処理装置１は、プログラムの実行順序を分かりやすく提示することができる。また、情報処理装置１は、プログラムの実行順序と制御構造（分岐やループなど）を分かりやすく提示することができる。また、情報処理装置１は、プログラムの実行順序と実行経過を分かりやすく提示することができる。なお、実行過程は、サブプログラムのアイコンをフォーカスすることにより明示したが、他の態様により、実行中のサブプログラムが明瞭になれば良い。他の態様とは、例えば、サブプログラムのアイコンの背景色を、他のアイコンと比較して目立つ背景色に変えることである。また、他の態様とは、例えば、サブプログラムのアイコンの上の丸の図形を付与することである。また、他の態様とは、例えば、サブプログラムのアイコンを、他のアイコン（実行中をイメージするアイコンなど）に置き換えることである。
【０１４４】
また、本実施の形態によれば、サブプログラムの特性（自動実行、一時停止、停止）に応じた実行が可能である。
【０１４５】
なお、本実施の形態において、プログラムや、アイコンや、実行属性情報の入力画面の例は、図９である。図９の９１は、アイコンの入力フィールドである。図９の９２は、プログラムの一部の入力画面である。図９の９３は、実行属性情報の入力メニューの例である。なお、図９において、サブプログラムは、コマンドと称されている。
【０１４６】
また、本実施の形態において、ユーザがアイコン出力指示を入力した場合、例えば、図７に示した手順で、図８に示した画面が出力されることとなる。この場合、プログラムは実行されないので、実行過程は明示されないことは言うまでもない。
また、本実施の形態において、情報処理装置１ は、以下に説明する編集部を具備しても良い。情報処理装置１ が編集部を有する場合、受付部１ １ は、アイコン間を繋いだり、アイコンの順序を変更したり、アイコンの間に制御情報のアイコンを追加したりする指示の入力を受け付ける。そして、図示しない編集部は、受付部１ １ が受け付けた指示（ 編集指示、という）に応じて、アイコンの順序を変更したり、制御情報に対応するアイコンを挿入したりする。なお、かかる編集部の処理は、視覚的な（ 図的な）プログラム編集処理である。
【０１４７】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、２以上のサブプログラムを有するプログラムと、２以上の各サブプログラムに対応付けて、アイコンを、記憶媒体に格納しており、コンピュータを、前記記憶媒体からプログラムを読み出し、プログラムを実現するサブプログラムの実行順序に従って、２以上の各サブプログラムに対応付けられた２以上のアイコンを出力する実行順序アイコン出力部として機能させるためのプログラム、である。
【０１４８】
また、上記プログラムにおいて、前記実行順序アイコン出力部は、前記記憶媒体からプログラムを読み出し、当該プログラムから、当該プログラムを実現するサブプログラムの実行順序を取得する実行順序取得手段と、前記サブプログラム間のループ処理を検出し、ループに関する情報であるループ情報を取得するループ情報取得手段と、前記実行順序取得手段が取得したサブプログラムの実行順序、および前記ループ情報取得手段が取得したループ情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序とループを示すように出力する実行手順出力手段とを具備するものとして、コンピュータを機能させるためのプログラムであることは好適である。
【０１４９】
また、上記プログラムにおいて、前記実行順序アイコン出力部は、処理の分岐を検出し、分岐に関する情報である分岐情報を取得する分岐情報取得手段をさらに具備し、前記実行手順出力手段は、前記実行順序取得手段が取得したサブプログラムの実行順序、前記ループ情報取得手段が取得したループ情報、および分岐情報取得手段が取得した分岐情報を用いて、２以上の各サブプログラムに対応付けられた２以上のアイコンを、実行順序、ループ、および分岐を示すように出力するものとして、コンピュータを機能させるためのプログラムであることは好適である。
【０１５０】
また、上記プログラムにおいて、前記記憶媒体からプログラムを読み出し、実行する実行部をさらに具備し、前記実行順序アイコン出力部は、前記実行部が実行中のサブプログラムに対応づけられているアイコンを、他のサブプログラムに対応づけられているアイコンと視覚的に区別して出力するものとして、コンピュータを機能させるためのプログラムであることは好適である。
【０１５１】
また、上記プログラムにおいて、１以上のサブプログラムが、停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報である実行属性情報を、記憶媒体に格納しており、前記実行部は、前記実行属性情報に従って、１以上のサブプログラムを自動実行し、かつ、１以上のサブプログラムの実行前に停止するものとして、コンピュータを機能させるためのプログラムであることは好適である。
【０１５２】
また、上記プログラムにおいて、前記実行属性情報は、１以上のサブプログラムが、実行前にユーザからの入力を受け付けないと実行されないサブプログラムである停止対象のサブプログラムであるか、ユーザからの入力の有無に関わらず実行され得る一時停止対象のサブプログラムであるか、また自動実行対象のサブプログラムであるかを示す情報であり、前記実行部は、前記実行属性情報が停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの所定の情報の入力を受け付けた後、当該サブプログラムを実行し、前記実行属性情報が一時停止対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に、実行を停止し、ユーザからの入力の有無に関わらず当該サブプログラムを実行し、前記実行属性情報が自動実行対象のサブプログラムであることを示す場合は、当該サブプログラムの実行前に停止せずに、当該サブプログラムを実行するものとして、コンピュータを機能させるためのプログラムであることは好適である。
【０１５３】
また、図１０は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報端末装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１０は、このコンピュータシステム３４０の概観図であり、図１１は、コンピュータシステム３４０のブロック図である。
【０１５４】
図１０において、コンピュータシステム３４０は、磁気ディスクドライブ、光学ディスクドライブを含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４とを含む。
【０１５５】
図１１において、コンピュータ３４１は、磁気ディスクドライブ３４１１、光学ディスクドライブ３４１２に加えて、ＭＰＵ３４１３と、光学ディスクドライブ３４１２及び磁気ディスクドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３４１５と、ＭＰＵ３４１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１５６】
コンピュータシステム３４０に、上述した実施の形態の情報端末装置等の機能を実行させるプログラムは、光学ディスク３５０１、または磁気ディスク３５０２に記憶されて、光学ディスクドライブ３４１２または磁気ディスクドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、光学ディスク３５０１、磁気ディスク３５０２またはネットワークから直接、ロードされても良い。
【０１５７】
プログラムは、コンピュータ３４１に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０１５８】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１５９】
また、上記実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１６０】
また、上記実施の形態において、情報処理装置は、スタンドアロンで動作する場合について説明したが、情報処理装置がサーバ装置であり、ユーザの情報端末がクライアント装置であっても良い（サーバ・クライアントシステムであっても良い）。
【０１６１】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１６２】
以上のように、本発明にかかる情報処理装置は、プログラムを分かりやすく提示することができるという効果を有し、情報処理装置等として有用である。
【図面の簡単な説明】
【０１６３】
【図１】実施の形態１における情報処理装置のブロック図
【図２】同情報処理装置の動作について説明するフローチャート
【図３】同実行順序アイコン出力処理の動作について説明するフローチャート
【図４】同実行処理の動作について説明するフローチャート
【図５】同プログラムを示す図
【図６】同アイコン管理表を示す図
【図７】同画面出力例を示す図
【図８】同画面出力例を示す図
【図９】同プログラム、アイコン、実行属性情報の入力画面例を示す図
【図１０】同コンピュータシステムの概観図
【図１１】同コンピュータシステムのブロック図
【符号の説明】
【０１６４】
１  情報処理装置
１１  受付部
１２  プログラム格納部
１３  アイコン格納部
１４  実行属性情報格納部
１５  実行順序アイコン出力部
１６  実行部
１５１  実行順序取得手段
１５２  ループ情報取得手段
１５３  分岐情報取得手段
１５４  実行手順出力手段
【図１】
2010122785.tif 000003
【図２】
2010122785.tif 000004
【図３】
2010122785.tif 000005
【図４】
2010122785.tif 000006
【図１０】
2010122785.tif 000007
【図１１】
2010122785.tif 000008
【図５】
2010122785.tif 000009
【図６】
2010122785.tif 000010
【図７】
2010122785.tif 000011
【図８】
2010122785.tif 000012
【図９】
2010122785.tif 000013