【文献】
福住 光記,最新のPLCとその応用,計測技術,日本工業出版株式会社,2005年 8月 5日,第33巻/第9号,pp.24-29
(58)【調査した分野】(Int.Cl.,DB名)
前記線図取得部によって取得された線図データに対応するブロック線図のブロックで使用される制御パラメータのうち、変数として扱われるべきパラメータの指定を受け付ける第1変数指定受付部をさらに備え、
前記第1変換部は、指定されたパラメータを変数として線図プログラムに含め、
本編集装置はさらに、
前記関連付け部によって複数のステップに同じプログラムが関連付けられている場合、そのステップごとに変数の値の指定を受け付ける第2変数指定受付部を備え、
前記第2変換部は、前記第2変数指定受付部にて複数のステップごとに受け付けた変数の値を指定するコードをシーケンスプログラムに含めることを特徴とする請求項1に記載の編集装置。
線図プログラムと関連付けられたシーケンスデータがシーケンスプログラムに変換される際、シーケンスプログラムのうち線図プログラムに対応する部分の変数のデータ型と、それ以外の部分の対応する変数のデータ型と、の整合をとるコードを生成する整合コード生成部をさらに備え、
前記第2変換部は、前記整合コード生成部にて生成したデータ型の整合をとるコードをシーケンスプログラムに含めることを特徴とする請求項1または2に記載の編集装置。
【発明を実施するための形態】
【0013】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【0014】
実施の形態に係る編集装置は、組み込みシステムを制御するためのソフトウエアを開発する環境に設けられる。ユーザは所望の制御内容の図的な表現を編集装置に入力し、編集装置は入力された図的な表現を、C言語などのテキストベースのプログラミング言語で記述されたソースプログラムに変換すなわちコンパイルする。編集装置は、図的な表現として、
(A)サーボ制御やフィードバック制御などのループを含む制御を好適に表せるブロック線図と、
(B)組み込みシステムのシーケンス制御を記述するのに好適なラダー図やシーケンシャル・ファンクション・チャートや特許文献1に記載される表現(以下、シーケンシャルな記述態様と総称する)と、
を利用可能としている。
【0015】
編集装置は、ブロック線図により記述されたデータ(以下、線図データと称する)をコンパイルしてソースプログラム(以下、線図プログラムと称す)を生成し、生成された線図プログラムをモジュール化する。編集装置は、シーケンシャルな記述態様により組み込みシステムのシーケンス制御が記述される際、線図プログラムの指定を受け付け、指定された線図プログラムへのリンクを生成する。編集装置は、シーケンシャルな記述態様により記述されたデータ(以下、シーケンスデータと称する)をコンパイルしてソースプログラム(以下、シーケンスプログラムと称す)を生成する際、リンクに基づきシーケンスプログラムに線図プログラムを含める。
【0016】
これにより、組み込みシステムのシーケンスプログラムおよび線図プログラムの開発を同じ環境で実現できる。加えて、線図プログラムをモジュール化してシーケンスプログラムに取り込むことで線図プログラムの再利用を可能としている。その結果、ユーザが線図プログラムの資産を有していれば、それをそのままシーケンスプログラムに取り込むことができるので、プログラム資産を有効に活用することができる。また、組み込みシステムのシーケンス制御に、サーボ制御やフィードバック制御などのブロック線図による記述が好適なステップが含まれている場合、そのステップをブロック線図で記述することができる。これはプログラム開発の効率化に寄与する。
【0017】
図1は、実施の形態に係る編集装置10の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【0018】
編集装置10は、マウスやキーボードなどの入力装置12から入力される入力情報に基づいて線図データやシーケンスデータを生成することによって取得し、または外部から線図データやシーケンスデータを取得する。編集装置10はディスプレイ14と接続される。
【0019】
編集装置10は、線図プログラムのモジュールを含むシーケンスプログラムを生成する。生成されたシーケンスプログラムはそのまま、もしくはさらに機械語へ翻訳された後、ターゲットボードに実装され、様々な機械装置のシミュレーションに利用される。また、生成されたシーケンスプログラムを組み込みシステムに導入することで、機械装置を直接駆動・制御することができる。
【0020】
編集装置10は、線図編集部16と、線図コンパイル部18と、シーケンス編集部20と、シーケンスコンパイル部22と、表示制御部24と、線図データ保持部26と、線図モジュール保持部28と、シーケンスデータ保持部48と、を備える。
【0021】
線図編集部16は入力装置12および表示制御部24と協働して、インタラクティブなブロック線図の編集を可能とする。線図編集部16はブロック線図取得部30と線図変数指定受付部32とを含む。
【0022】
ブロック線図取得部30は線図データを取得する。ブロック線図取得部30は、ユーザからの入力情報に基づいてブロック線図を編集し、その線図データを線図データ保持部26に登録する。ブロック線図の編集は、新たにブロック線図を生成することと、既存のブロック線図を例えば線図データ保持部26から呼び出して変更することと、を含む。ブロック線図取得部30においては、例えばMathWorks社が提供するMATLAB/Simulinkに使用されているブロック線図編集技術と同様のブロック線図編集技術が使用されてもよい。
あるいはまた、ブロック線図取得部30は、外部記憶装置やネットワーク(いずれも不図示)などから線図データを取得してもよい。
【0023】
図2は、表示制御部24がディスプレイ14に表示させる例示的なブロック線
図102を示す代表画面図である。
図2はPID(Proportinal Integral Differential)制御のように制御器が複数のブロックに分かれている場合のブロック線
図102を示す。
【0024】
ブロック線
図102は、積分動作ブロック138と、微分動作ブロック140と、比例動作ブロック142と、プラントブロック144と、プラントブロック144を始点とする第1アーク146と、第1アーク146から第1分岐点162で分かれて第1合流点166に入る第2アーク148と、第1合流点166を始点とし積分動作ブロック138に入る第3アーク150と、第3アーク150から第2分岐点164で分かれて第2合流点168に入る第4アーク152と、第3アーク150から第2分岐点164で分かれて微分動作ブロック140に入る第5アーク154と、積分動作ブロック138を始点とし第2合流点168に入る第6アーク156と、第2合流点168を始点とし比例動作ブロック142に入る第7アーク158と、比例動作ブロック142を始点としプラントブロック144に入る第8アーク160と、微分動作ブロック140を始点とし第2合流点168に入る第9アーク170と、第1合流点166に入る第10アーク163と、を含む。
【0025】
ブロック線
図102はさらに、ブロック線
図102の名前が記載された名称枠130と、制御周期が記載された周期枠132と、を含む。
【0026】
図1に戻り、線図変数指定受付部32は、ブロック線図取得部30によって取得された線図データに対応するブロック線図のブロックで使用される制御パラメータのうち、変数として扱われるべき制御パラメータの指定を受け付ける。線図変数指定受付部32は、指定された制御パラメータの情報を線図データに対応付けて線図データ保持部26に登録する。
【0027】
線図変数指定受付部32は、表示制御部24を介して、編集中のブロック線図に対応付ける形で制御パラメータ記述領域をディスプレイ14に表示させる。
図3は、制御パラメータ記述領域180の代表画面図である。ユーザは入力装置12を使用して、編集中のブロック線図に含まれる各ブロック内で使用される制御パラメータを制御パラメータ記述領域180に入力する。制御パラメータは、線図プログラム内で値を代入する定数または線図プログラムの変数として定義される。制御パラメータ記述領域180は、定数が記述される定数記述領域182、184、186および変数が記述される変数記述領域188を含む。
【0028】
線図プログラム内で値を代入する定数は、例えば「パラメータ名=値または数式」のように演算式の形式で記述される。制御パラメータ記述領域180において値が定義された定数は、同じ制御パラメータ記述領域180に記述された数式のパラメータとして使用されうる。例えば、
図3の定数記述領域182、184において値が定義された定数「M」および「D」は、定数記述領域186に記述された数式「1/(M*s^2+D*s)」のパラメータとして使用されている。なお、「s」は線図プログラムの内部変数である。
【0029】
制御パラメータを変数として扱う場合、ユーザは制御パラメータ記述領域180に、変数を表す識別子「var」と変数名とを列挙する。例えば
図2に示されるブロック線
図102について、比例動作ブロック142や微分動作ブロック140に含まれる数式や伝達関数等に使用されるパラメータが変数として指定されうる。
【0030】
線図変数指定受付部32は、制御パラメータ記述領域180に入力された情報を取得し、取得された情報を線図データに対応付けて線図データ保持部26に登録する。特に線図変数指定受付部32は、識別子「var」に対応する制御パラメータを、線図プログラムにおいて変数として扱われるべき制御パラメータとして取得する。
【0031】
図4は、線図データ保持部26の一例を示すデータ構造図である。線図データ保持部26は、線図データを特定する線
図IDと、ブロック線図取得部30によって取得された線図データと、制御パラメータ記述領域を通じて指定された定数と、制御パラメータ記述領域を通じて指定された変数と、を対応付けて保持する。
【0032】
図1に戻り、線図コンパイル部18は、ユーザからの要求に基づき、線図データ保持部26によって保持される線図データを線図プログラムに変換する。線図コンパイル部18は状態方程式導出部34と線図プログラム生成部36とを含む。
【0033】
ユーザは入力装置12を介して、線図データ保持部26に保持される線図データのなかから線図プログラムに変換したい線図データを指定する。状態方程式導出部34は、指定された線図データを線図データ保持部26から取得する。状態方程式導出部34は、取得された線図データに対応するブロック線図についての状態方程式を導出する。状態方程式導出部34は、ブロック線図の各ブロックを状態方程式に変換する。この状態方程式は、以下のように記述されてもよい。
x[k+1]=Ax[k]+Bu[k]
y[k]=Cx[k]+Du[k]
ここで、kおよびk+1は時刻を表す。A,B,C,Dは行列係数である。u[k],y[k]はそれぞれ各ブロックの入力、出力を表す。x[k]は各ブロックの内部状態を表す。
状態方程式導出部34は、変換された状態方程式の全てに対して行列演算を行い、ひとつの状態方程式にまとめる。
【0034】
線図プログラム生成部36は、状態方程式導出部34によって導出された状態方程式を線図プログラムに変換する。状態方程式をプログラムに変換する処理自体は公知である。線図プログラム生成部36は、線図プログラムへの変換の際、線図データ保持部26を参照し、変数として指定されている制御パラメータを変数として線図プログラムに含める。線図プログラム生成部36は、変換の結果得られた線図プログラムを線図ファイルに含め、線図ファイルを線図モジュール保持部28にモジュールとして登録する。
【0035】
線図ファイルは複数の線図プログラムを含んでもよい。この場合、例えばシーケンスプログラム上で扱う制御器の設計案を1つの線図ファイル内で列挙し、最終的に適切な制御器を選ぶという手法を実現できる。
【0036】
シーケンス編集部20は入力装置12および表示制御部24と協働して、インタラクティブなシーケンスデータの編集を可能とする。シーケンス編集部20は、線図プログラムをモジュールとして利用するための以下の機能を除いて、基本的に特許文献1に記載されるプログラミング装置と同様に構成される。シーケンス編集部20は、編集されたシーケンスデータをシーケンスデータ保持部48に登録する。
シーケンス編集部20はステップ指定受付部40とリンク部38とシーケンス変数指定受付部42とを含む。
【0037】
ステップ指定受付部40は、シーケンス制御のステップの指定を受け付ける。ユーザは、シーケンスデータの編集中、線図モジュール保持部28によって保持される線図プログラムを適用したいシーケンスデータ上の箇所を指定する。この箇所はシーケンス制御のステップに対応し、ディスプレイ14上で入力装置12を使用して図的に指定されてもよい。ステップ指定受付部40は、表示制御部24を介して、指定された箇所に線図モジュールを表示させる。
【0038】
図5は、線図モジュール200の代表画面図である。線図モジュール200は、適用されるべき線図プログラムが含まれる線図ファイルのファイル名の入力を受け付けるファイル名入力領域202と、適用されるべき線図プログラムのプログラム名の入力を受け付けるプログラム名入力領域204と、線図プログラムを再利用する際の識別子であるラベルの入力を受け付けるラベル入力領域206と、線図プログラムの入力変数208と、線図プログラムの出力変数210と、を有する。シーケンスデータのコンパイル時、入力変数208は対応する入力値で置換され、出力変数210は対応する出力値で置換される。
【0039】
図6は、シーケンスデータに同じ線図プログラムに対応する2つの線図モジュールを含めた場合のそれらの線図モジュールの代表画面図である。第1線図モジュール212のファイル名入力領域214に入力されているファイル名「サーボ制御モジュール」と第2線図モジュール220のファイル名入力領域222に入力されているファイル名「サーボ制御モジュール」とは同一である。第1線図モジュール212のプログラム名入力領域216に入力されているプログラム名「サーボ制御モジュール」と第2線図モジュール220のプログラム名入力領域224に入力されているプログラム名「サーボ制御モジュール」とは同一である。したがって、第1線図モジュール212および第2線図モジュール220は、線図モジュール保持部28によって保持される同一の線図プログラムを指定している。第1線図モジュール212のラベル入力領域218に入力されているラベル「#1」と第2線図モジュール220のラベル入力領域226に入力されているラベル「#2」とは異なっている。このように異なるラベルを付すことにより、複製された線図モジュール212、220同士をシーケンスデータ内で識別することができる。
【0040】
図1に戻り、リンク部38は、シーケンスデータに線図プログラムをシーケンス制御のステップとして関連付ける。特にリンク部38は、シーケンスデータ上の指定された箇所と、適用されるべき線図プログラムと、を関連付ける。リンク部38は、線図モジュール200に入力された情報を取得し、取得された情報に基づき適用されるべき線図プログラムを特定し、特定された線図プログラムに関する情報をシーケンスデータ上の指定された箇所に含める。リンク部38は、シーケンスデータ上の指定された箇所に、ファイル名入力領域に入力されたファイル名およびプログラム名入力領域に入力されたプログラム名によって特定される線図プログラムへの参照を含める。なお、リンク部38は、参照を含める代わりに線図プログラムそのものを含めてもよい。
【0041】
シーケンス変数指定受付部42は、線図モジュールに対応する線図プログラムに含まれる変数の値の指定を受け付ける。特にシーケンス変数指定受付部42は、リンク部38によってシーケンスデータの複数の箇所に同じ線図プログラムへの参照が含められている場合すなわちシーケンスデータが同じ線図プログラムに対応する線図モジュールを複数有する場合、線図モジュールごとに変数の値の指定を受け付ける。
【0042】
シーケンス変数指定受付部42は表示制御部24を介して線図モジュール変数指定領域をディスプレイ14に表示させる。
図7は、線図モジュール変数指定領域230の代表画面図である。線図モジュール変数指定領域230はシーケンスデータの一部として表示される。線図モジュール変数指定領域230は、線図プログラムのプログラム名の入力を受け付けるプログラム名入力領域232と、ラベルの入力を受け付けるラベル入力領域234と、変数の入力を受け付ける変数入力領域236と、値の入力を受け付ける値入力領域238と、を有する。
シーケンス変数指定受付部42は、プログラム名入力領域232、ラベル入力領域234、変数入力領域236、値入力領域238のそれぞれに入力された情報を取得し、シーケンスデータに含める。
【0043】
図1に戻り、シーケンスコンパイル部22は、ユーザからの要求に基づき、シーケンスデータ保持部48によって保持されるシーケンスデータをシーケンスプログラムに変換する。シーケンシャルな記述態様によって記述されたデータをプログラムに変換する処理自体は公知である。シーケンスコンパイル部22は、以下の機能を除いて、この公知の変換処理技術を使用して構成される。
シーケンスコンパイル部22は整合コード生成部44とシーケンスプログラム生成部46とを含む。
【0044】
整合コード生成部44は、シーケンスデータ保持部48に保持されるシーケンスデータがシーケンスプログラムに変換される際、シーケンスプログラムの線図部分の変数のデータ型と、それ以外の部分の対応する変数のデータ型と、の整合をとる整合コードを生成する。線図部分は、シーケンスプログラムのうち、シーケンスデータで参照されている線図プログラムに対応する部分である。それ以外の部分は、例えばシーケンシャルな記述態様に対応するシーケンス部分である。特に整合コードは、線図部分の変数および入出力変数のそれぞれのデータ型を、シーケンス部分の対応する変数のデータ型に変換する。例えば、線図部分の変数のデータ型が「double」であり、シーケンス部分の対応する変数のデータ型が「integer」である場合、整合コードは線図部分の変数のデータ型「double」をデータ型「integer」に変換するキャスト演算子等を含む。
【0045】
シーケンスプログラム生成部46は、シーケンスデータから線図プログラムへの参照を抽出する。シーケンスプログラム生成部46は、参照される線図プログラムを線図モジュール保持部28から取得し、線図部分としてシーケンスプログラムに含める。この際、シーケンスプログラム生成部46は、参照される線図プログラムの変数の値が
図7の線図モジュール変数指定領域230などにより指定されている場合は、その変数の値を指定するコードをシーケンスプログラムに含める。シーケンスプログラム生成部46は、参照される線図プログラムに対して整合コード生成部44によって生成された整合コードを、参照される線図プログラムに対応する線図部分に含める。
【0046】
図8は、シーケンスプログラム250の構成を示す模式図である。シーケンスプログラム250はシーケンス部分252と線図部分254とを有する。シーケンス部分252と線図部分254とはひとつのファイルに含まれていてもよいし、別々のファイルに含まれていてもよい。
線図部分254は、整合コード生成部44によって生成された整合コード256を含む。整合コード256はシーケンス部分用のデータ型の内部変数258とデータ型の変換処理部260とを有する。
【0047】
シーケンス部分用のデータ型の内部変数258は、線図部分254を扱うデータ領域内に格納される。変換処理部260は、線図部分254の変数262と、シーケンス部分用のデータ型の内部変数258と、の間のデータ型の変換処理を行う。シーケンス部分252の内部変数264とシーケンス部分252用のデータ型の内部変数258との間でデータのやりとりすなわち授受処理が行われる。シーケンス部分252の内部変数264は、例えば
図7に示される線図モジュール変数指定領域230のメンバのように扱われる変数である。
なお、シーケンスデータに線図モジュールの複製が含まれる場合、その複製された線図モジュールに対応して、内部変数を含めた形で線図部分254と同様の部分がシーケンスプログラム250に追加される。
【0048】
シーケンスプログラム250では、線図部分254のパラメータは変数262と定数266とに分けられる。変数262はデータ型の変換を行いシーケンス部分252に引き渡すものとして扱われ、定数266はそれ以外のものとして扱われる。例えば線図部分254がサーボ制御に関する場合は、変数262は制御器のゲインや入出力変数等であり、定数266は計算過程で現れる変数等である。
【0049】
図9は、編集装置10における一連の処理を示すフローチャートである。ブロック線図取得部30は、ブロック線図により記述された線図データを取得する(S302)。線図コンパイル部18は、取得された線図データをコンパイルしてモジュール化する(S304)。ユーザは、シーケンスデータの編集中、線図モジュールを埋め込むべき箇所を指定する。ステップ指定受付部40はそのような指定を受け付ける(S306)。ユーザは、指定に対応してディスプレイ14に表示される線図モジュールに、適用したい線図プログラムの情報を入力する。リンク部38は、指定された箇所とその線図プログラムとを関連付ける(S308)。シーケンスコンパイル部22は、シーケンスデータをコンパイルする(S310)。
【0050】
以上の構成による編集装置10の動作を説明する。
図10は、編集装置10におけるデータの流れを示す模式図である。ユーザは、サーボ制御やフィードバック制御を第1ブロック線
図400や第2ブロック線
図402の形で記述する。ユーザは編集装置10に、生成された第1ブロック線
図400や第2ブロック線
図402をコンパイルさせる。コンパイルの結果、線図モジュール保持部28に、第1ブロック線
図400に対応する第1C言語線図プログラム404および第2ブロック線
図402に対応する第2C言語線図プログラム406が登録される。なお、ユーザは、シーケンスデータの編集中に必要に応じてブロック線図の編集およびコンパイルを行ってもよい。
【0051】
ユーザは、ディスプレイ14に表示されるシーケンスデータの編集画面408に対して、第1移動ステップ410および位置決めステップ412を入力する。ユーザは、位置決めステップ412の後にサーボ制御のステップを入れる場合、編集画面408上でそのステップが入るべき領域414をマウスのクリック等により指定する。
【0052】
編集装置10は、指定された領域414に、ファイル名入力領域、プログラム名入力領域、ラベル入力領域等が未入力の状態の第1サーボ制御線図モジュール416を表示させる。ユーザは、表示された第1サーボ制御線図モジュール416のファイル名入力領域およびプログラム名入力領域に、線図モジュール保持部28に保持されている第1C言語線図プログラム404を特定するためのファイル名、プログラム名をそれぞれ入力する。また、ユーザは、表示された第1サーボ制御線図モジュール416のラベル入力領域にラベルを入力する。
【0053】
編集装置10は、第1サーボ制御線図モジュール416のファイル名入力領域およびプログラム名入力領域に入力されたファイル名、プログラム名に基づき第1C言語線図プログラム404を特定し、特定された第1C言語線図プログラム404と第1サーボ制御線図モジュール416のシーケンスデータ上での位置とを関連付ける。すなわち、編集装置10は、シーケンスデータの位置決めステップ412に対応する部分の後に、第1C言語線図プログラム404への参照を示す部分を含める。
【0054】
ユーザはさらに、編集画面408に対して、第1サーボ制御線図モジュール416の後に第2移動ステップ418を入力し、第2移動ステップ418の後に第2サーボ制御線図モジュール420を入力する。第2サーボ制御線図モジュール420は第1サーボ制御線図モジュール416と同じ第1C言語線図プログラム404に対応する。ユーザは、第1サーボ制御線図モジュール416と第2サーボ制御線図モジュール420とを区別するために、それぞれのラベルを異ならせる。
【0055】
ユーザは編集装置10にシーケンスデータをコンパイルさせる。コンパイルの結果、シーケンスプログラム422が生成される。シーケンスプログラム422は、第1移動ステップ410、位置決めステップ412および第2移動ステップ418に対応するシーケンス部分424と、第1サーボ制御線図モジュール416に対応する第1線図部分426と、第2サーボ制御線図モジュール420に対応する第2線図部分428と、を有する。第1線図部分426は第1整合コード430を含み、第2線図部分428は第2整合コード432を含む。
なお、シーケンス部分424、第1線図部分426、第2線図部分428はそれぞれ別のファイルとして生成されてもよい。
【0056】
本実施の形態に係る編集装置10によると、シーケンシャルな記述態様でシーケンス制御を記述する環境と同じ環境において、そのような記述態様とは異なるブロック線図により線図データを記述し、線図プログラムを生成することができる。また、シーケンス制御のステップと線図プログラムとを関連付けることで、シーケンスプログラムに線図プログラムを容易に導入することができ、また使い回しもより容易となる。
【0057】
また、本実施の形態に係る編集装置10によると、線図モジュールを複製し、線図モジュールの外で線図モジュールのパラメータを変更することによって、シーケンスデータにおいて同じ構造の線図プログラムを別の用途で再利用することができる。例えば、大きさの違うモータを同じPID制御器の構造で制御しようとする場合に、2つの制御器で制御パラメータを変えたシーケンスデータをより容易に作成することができる。この場合、例えば
図7に示されるような線図モジュール変数指定領域を使用してそれぞれの制御パラメータを指定すればよい。
【0058】
一般にシーケンシャルな記述態様では、ブロック線図よりも条件分岐を容易に扱うことができる。そして本実施の形態に係る編集装置10では、シーケンスデータが同じ線図プログラムに対応する線図モジュールを複数有する場合、線図モジュールごとに変数の値を指定することができる。したがって、組み込みシステムの動作状況に応じて線図プログラムの変数の値を変更するような制御の記述がより容易となる。
【0059】
シーケンスデータと線図データとはそれぞれの記述態様における最適化のために、コンパイル後のプログラムの変数のデータ型の扱いが異なることが想定される。そこで本実施の形態に係る編集装置10では、整合コードによって、線図部分の変数のデータ型とシーケンス部分の対応する変数のデータ型との整合をとることができる。これにより、シーケンシャルな記述態様とブロック線図との間の、変数の扱いについての違いを吸収することができる。
【0060】
以上、実施の形態に係る編集装置10の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0061】
実施の形態では、シーケンシャルな記述態様が図に基づく記述態様である場合について説明したが、これに限られず、例えばストラクチャード・テキストなどのテキストベースの記述態様であってもよい。