(57)【要約】【課題】  シミュレーションプログラムと関連して動作し、その分散処理を好適に支援できる手段を提供する。【解決手段】  送受信処理手段としてのサーバブロック３０およびクライアントブロック４０が、Matlab言語によるシミュレーションプログラムであるSimulinkモデルと、Ｃ言語による処理プログラムであるmodel_B.cとの間の送受信を実現するので、これらSimulinkモデルとmodel_B.cとによる分散処理を好適に支援できる。サーバブロック３０およびクライアントブロック４０がSimulinkのユーザインターフェイスにおけるブロックの形式を有する関数として構成されているので、これをブロック線図における他の要素（機能ブロックとして表示されるプログラム）と同様に入力して動作させることができる。【選択図】  図１
2005222420.tif 000002
【特許請求の範囲】
【請求項１】
ブロック線図システムをユーザインターフェイスとして第１の言語によるシミュレーションを実行するシミュレーションプログラムと関連して動作する分散処理支援プログラムであって、
前記シミュレーションプログラムと、所定の処理プログラムであって前記第１の言語とは異なる第２の言語による処理プログラムと、の間の送受信を実現する送受信処理手段であって、前記シミュレーションプログラムの前記ブロック線図システムにおけるブロックの形式を有する送受信処理手段を備え、前記シミュレーションプログラムと前記処理プログラムとの間の分散処理を支援することを特徴とする分散処理支援プログラム。
【請求項２】
ブロック線図システムをユーザインターフェイスとして所定言語によるシミュレーションを実行するシミュレーションプログラムと関連して動作する分散処理支援プログラムであって、
第１の前記シミュレーションプログラムと第２の前記シミュレーションプログラムとの間の送受信を実現する送受信処理手段であって、前記シミュレーションプログラムの前記ブロック線図システムにおけるブロックの形式を有する送受信処理手段を備え、前記第１および第２のシミュレーションプログラムの間の分散処理を支援することを特徴とする分散処理支援プログラム。
【請求項３】
請求項１または２に記載の分散処理支援プログラムであって、
前記送受信における両側の処理を同期させる同期処理手段を更に備えたことを特徴とする分散処理支援プログラム。
【請求項４】
請求項１ないし３のいずれかに記載の分散処理支援プログラムであって、
前記送受信処理手段が前記送受信をSocketによって実現することを特徴とする分散処理支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションプログラムと関連して動作する分散処理支援プログラムに関する。
【背景技術】
【０００２】
データ解析等の数値演算機能と高度なグラフィカルツールを提供するテクニカルコンピューティング環境として、例えばThe MathWorks,Inc.社の提供するMatlab（商標）が普及している。そして、このMatlabとリンクしたツールであって、ブロック線図システムをユーザインターフェイスとしたシミュレーションモデルの作成とシミュレーションの実行とを行えるようにしたシミュレーションプログラムとして、同社のSimulink（商標）が広く利用されている。
【０００３】
このSimulinkによるモデル（Matlabプロセス）と、ユーザ作成のＣ言語のプロセスとをリンクさせる方法として、一般的に公開されているものは、Matlab標準機能のMatlab Engineのみである。しかし、この機能では、サンプリングタイムごとにＣ言語のプロセスとSimulinkモデルとが通信することは不可能（開始時のＣプロセスからSimulinkモデルへのデータ送信と、終了時のSimulinkモデルからＣプロセスへのデータ送信のみが可能）であって、実用的でない。また、ユーザ作成のＣソース（プロセスでなくモジュール）を組み込む方法としてs-functionが存在するが、main関数を宣言できないため自由度が低い。
【０００４】
他方、市販の解析ツール（車両や家電製品等に用いられる組み込みＣＰＵの実行環境を汎用ＯＳ上で擬似的に実現するようにしたＣＰＵシミュレータなど）は、その開発メーカがMatlab・Simulinkとのリンクのためのインターフェイスツールを予め準備していない限り、その解析ツールとMatlab・Simulinkとをリンクさせてシミュレーションを行うことはできない。また、市販の解析ツールはMatlab・Simulinkとは全く別のプロセスとして動作することがほとんどである。
【０００５】
他方、大型ＬＳＩ等の開発を支援するための論理シミュレータであるVerilog（商標）と、Simulinkモデルとをリンクさせるインターフェイスツールとして、横河電機（株）の提供するVMLink（商標）が市販されている（非特許文献１）。
【０００６】
【非特許文献１】横河電機（株）の発行に係る商品パンフレット「VMLink  第２版」（1999.12.20）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記VMLinkはVerilog言語に対するインターフェイスであって、Simulinkモデルをmainルーチン付きのＣ言語プロセスにリンクさせることはできず、また、複数の端末による分散処理も考慮されていない。
【０００８】
ところで、市販の解析ツールの多くはＣ言語をベースに作成されているため、Ｃ言語に対するインターフェイスツールは準備されている場合が多い。したがって、SimulinkモデルとＣ言語プロセス（mainルーチン付き）とのインターフェイスを開発すれば、必然的にSimulinkモデルと、Ｃ言語に対するインターフェイスツールが用意された市販の解析ツールのリンクが可能になる筈である。
【０００９】
そこで本発明の目的は、シミュレーションプログラムと関連して動作し、他のツールとの連携した処理やシミュレーションプログラム同士のその分散処理を好適に支援できる手段を提供することにある。
【課題を解決するための手段】
【００１０】
第１の本発明は、ブロック線図システムをユーザインターフェイスとして第１の言語によるシミュレーションを実行するシミュレーションプログラムと関連して動作する分散処理支援プログラムであって、前記シミュレーションプログラムと、所定の処理プログラムであって前記第１の言語とは異なる第２の言語による処理プログラムと、の間の送受信を実現する送受信処理手段であって、前記シミュレーションプログラムの前記ブロック線図システムにおけるブロックの形式を有する送受信処理手段を備え、前記シミュレーションプログラムと前記処理プログラムとの間の分散処理を支援することを特徴とする分散処理支援プログラムである。
【００１１】
第１の本発明では、送受信処理手段が、第１の言語によるシミュレーションプログラムと第２の言語による所定の処理プログラムとの間の送受信を実現するので、これらシミュレーションプログラムと処理プログラムとによる分散処理を好適に支援できる。また送受信処理手段がシミュレーションプログラムのユーザインターフェイスのブロック線図システムにおけるブロックの形式を有するので、これをブロック線図システムにおける他の要素（機能ブロックとして表示されるプログラム）と同様に入力および動作させることができ利便性が高い。
【００１２】
さらに、第１の言語としてMatlab言語を、第２の言語としてＣ言語を選択することにより、Simulinkモデルと、Ｃ言語に対するインターフェイスツールが用意された市販の解析ツールとのリンクが可能になる。
【００１３】
第２の本発明は、ブロック線図システムをユーザインターフェイスとして所定言語によるシミュレーションを実行するシミュレーションプログラムと関連して動作する分散処理支援プログラムであって、第１の前記シミュレーションプログラムと第２の前記シミュレーションプログラムとの間の送受信を実現する送受信処理手段であって、前記シミュレーションプログラムの前記ブロック線図システムにおけるブロックの形式を有する送受信処理手段を備え、前記第１および第２のシミュレーションプログラムの間の分散処理を支援することを特徴とする分散処理支援プログラムである。
【００１４】
第２の本発明では、送受信処理手段が、第１のシミュレーションプログラムと第２のシミュレーションプログラムとの間の送受信を実現するので、第１の本発明と同様の効果を共通の言語のシミュレーションプログラムについて実現できる。
【００１５】
本発明に係る分散処理支援プログラムは、第３の本発明のように送受信における両側の処理を同期させる同期処理手段を更に備えることとすれば、分散処理をより好適に実現できる。また本発明では、第４の本発明のように送受信処理手段がその送受信を、TCP/IPにおいて利用可能なネットワーク用APIとして広く普及しているSocketによって実現することとするのが特に好適である。
【発明を実施するための最良の形態】
【００１６】
本発明の実施形態につき、以下に詳細に説明する。なお、本実施形態における全てのコンピュータプログラムは、周知のコンピュータシステム（各種演算を行うためのＣＰＵと、キーボード・マウス・リムーバブルディスク装置等の入力装置と、メモリ装置やハードディスク装置等の記憶装置と、ディスプレイ装置・プリンタ装置等の出力装置等とを含んで構成されたもの）にインストールされているか、あるいは該コンピュータシステム上で生成される。
【００１７】
図１は、本実施形態において利用されるシミュレーションプログラムSimulinkのモデルウィンドウであるサーバウィンドウ１０、およびクライアントウィンドウ２０の表示状態を示す。本実施形態のシステムを構築するベースとなるSimulinkでは、不図示のブロックライブラリブラウザウィンドウ内から任意のブロックをマウスで選択し、これをモデルウィンドウ中にドラッグすると共に、モデルウィンドウ中のブロック間を画面上で結線することで、各ブロックに対応する関数を結線に従った入出力関係で動作させるようなMatlab言語のソースコードが作成されるように、ブロック線図システムが構成されている。このブロック線図システムでは、各ブロックに対応したオブジェクトモジュールが存在し、これらを結線して実行する際にそれらがリンクされる結果、ブロック線図どおりの各種システムのシミュレーションを実行できる。
【００１８】
ブロックライブラリには、例えばConstant（一定値を出力）、Sum（入力の総和を出力）、Integrator（信号を積分）、Gain（ブロック入力の乗算）、Scope（シミュレーション中に生成される信号の表示）などの各種の関数に対応するブロックが選択可能に格納されており、かつ、各ブロックについて各種のパラメータをユーザにより設定可能とされている。また、ユーザはSimulinkによって提供されているs-function機能を利用して、動作内容をＣ言語（関数）で記述することにより独自のブロックを作成することも可能となっている。なお、このs-function機能では、main関数が宣言できないため、キーボード等からの入力受付が限定される、ファイルへの入出力が限定される、通信関係が弱く他プロセスからの起動ができない、s-functionの特徴を知っている必要がある等、制約が多い。
【００１９】
本実施形態では、予めユーザがs-function機能によって作成した「model A」ブロックと、ユーザが別途にＣ言語によって作成したユーザ定義の処理プログラム「model_B.c」とを直列フィードバックループ状に接続してシミュレーション動作させること、すなわち図２のブロック線図に示されるモデルを仮想的に実現することを目的としている。
【００２０】
サーバブロック３０およびクライアントブロック４０は、上述のs-function機能を利用して複数のブロックの組み合わせにより作成したものである。
【００２１】
サーバブロック３０は、子プロセスと通信を行うものである。サーバブロック３０で設定可能なパラメータを図３に示す。サーバブロック３０の通常の設定では、設定可能なパラメータは、Socketポート番号３０−１（接続待ちSocketポート番号）、出力ポート数３０−２（１以上）、入力ポート番号３０−３、および入力ポート番号３０−４である。入力ポート番号３０−３は、ここで指定された入力ポート番号のデータが増加したときに子プロセスと同期が確立されるものである。入力ポート番号３０−４は、ここで指定された入力ポート番号のデータが減少したときに子プロセスと同期が確立されるものである。同期の確立はいずれもサンプリング時間外であっても実行される。なお、全ての入力ポート番号を指定すると、連続サンプル時間（continuous sample time）の動作になる。
【００２２】
通常の設定だけでは不足の場合に設定可能なパラメータには、Socketのバージョン３０−５（WinSockのバージョン番号）、子プロセス起動までの待ち時間３０−６、データ受信までの待ち時間３０−７、許容誤差３０−８（サンプリング時間（double）の仮数部の許容誤差であって、同期を取るために必要）などがある。
【００２３】
クライアントブロック４０は、親プロセスと通信を行うものである。クライアントブロック４０で設定可能なパラメータを図４に示す。クライアントブロック４０の通常の設定では、設定可能なパラメータは、サーバホスト４０−１（接続先のホスト名またはＩＰアドレス）、Socketポート番号４０−２（接続先のSocketポート番号）、およびサンプリング時間（０．０秒以上）がある。なお、ここで０．０秒を設定すると、親プロセスを継承サンプル時間（inherited sample time）で動作させることになる。
【００２４】
通常の設定だけでは不足の場合に設定可能なパラメータには、使用される関数名４０−４（ホスト名またはＩＰアドレスから情報を取得する関数）、Socketのバージョン４０−５（WinSockのバージョン番号）、データ受信までの待ち時間４０−６、許容誤差４０−７（サンプリング時間（double）の仮数部の許容誤差であって、同期を取るために必要）などがある。
【００２５】
サーバブロック３０の具体的な構成は、図５のとおりである。メモリ３１が次回のサンプリング時刻（初期値は、シミュレーション開始時刻）を出力すると、時刻比較部３２は現在時刻が次回のサンプリング時刻に達した時点で「１」を出力する。入力ポートから、子プロセス（client）への送信データが入力されると、データ選択部３３，３５は、全入力データから指定されたデータだけを選択して出力する。データ比較部３４，３６は、今回値が前回値より大きいか又は小さい場合に「１」を出力する。トリガ信号発生部３７は、いずれかの入力が「１」になった時点で、トリガ信号を発信する。
【００２６】
そして送受信部３８は、トリガ信号が入力された場合のみ、子プロセスとの通信を実施する。この通信は、clientへのデータ送信→待機→clientからのデータ（計算結果）受信、の順に行われる。子プロセス（client）からの計算結果は出力ポートから出力され、また次回のサンプリング時刻はメモリ３１に入力される。
【００２７】
クライアントブロック４０の具体的な構成は、図６のとおりである。入力ポートから子プロセス（client）での計算結果が入力されると、送受信部４１は、サンプリング時刻ごとに、親プロセス（server）との通信を実施する。この通信は、serverからのデータ受信→計算→serverへのデータ（計算結果）送信、の順に行われる。なお次回のサンプリング時刻は、先行して動作する親プロセス（server）からその動作時刻が送られてくるので、それを出力する。
【００２８】
送受信部４１から出力される次回のサンプリング時刻は、メモリ４３に入力される。メモリ４３は次回のサンプリング時刻（初期値は、シミュレーション開始時刻）を出力する。比較部４４は、メモリからの次回のサンプリング時刻と、クロック４２からの現在時刻とが等しくなった場合に「１」を出力する。トリガ信号発生部４５は、入力が「１」になった場合にトリガ信号を発信する。受信部４６は、トリガ信号が発生した場合のみ、親プロセス（server）からの受信データを、出力ポートから出力する。
【００２９】
送受信のモードとしては、SERIALとPARALLELの各モードが選択可能とされている。各モードにおける動作は図７に示されるとおりであり、SERIALではＣソース（Ｃプロセス）からの出力がその処理サイクルにおいてMatlabプロセスに入力されるのに対し、PARALLELではＣソースからの出力は，次回の処理サイクルにおいてMatlabプロセスに入力される。
【００３０】
Ｃ言語の処理プログラム「model_B.c」における処理は、図８および図９のとおりである。
【００３１】
まず、プロセス起動の引数を取得する（Ｓ１）。引数の種類には、ＩＰアドレス（例えば127.0.0.1）、ホスト名（例えばlocalhost）、Socketポート番号（例えば1234）があり、これらの引数に従って通信路が設定される。次に、クライアントが起動される（Ｓ２)。なお、このクライアント起動のための関数はツール側から提供されている。また、所定のメモリの確保が行われる（Ｓ３）。
【００３２】
そして、Simulinkからの初期入力データが受信される（Ｓ４）。
【００３３】
次に、所定の終了条件が成立するまでの間（Ｓ５）、ステップＳ６〜Ｓ３０の処理が繰り返し実行される。まず、送受信モードとしてSERIALが指定されている場合には（Ｓ７）、現在時刻がサンプリング時刻に一致したことを条件に（Ｓ８）入力データが更新される（Ｓ９）。また送受信モードとしてPARALLELが指定されている場合には（Ｓ１０）、サンプリング時刻（Ｓ１１）かつ割り込みでない（Ｓ１２）ことを条件に、入力データが更新される（Ｓ１３）。これらの入力データの更新は、全入力データについての処理終了まで（Ｓ６）繰り返される。
【００３４】
次に、SERIALの場合について（Ｓ１４）、ユーザ定義のプロセスによって、入力データを基に出力データが算出される（Ｓ１５）。そして次回のサンプリング時刻が設定され（Ｓ１６）、またユーザ定義プロセスの算出値によって出力データが更新される（Ｓ１７）。
【００３５】
次に、SERIALの場合について（Ｓ１９）、現在時刻がサンプリング時刻に一致したことを条件に（Ｓ２０）出力データが更新される（Ｓ２１）。またPARALLELの場合には（Ｓ２２）、サンプリング時刻（Ｓ２３）かつ割り込みでない（Ｓ２４）ことを条件に、出力データが更新される（Ｓ２５）。これらの入力データの更新は、全入力データについての処理終了まで（Ｓ１８）繰り返される。
【００３６】
このようにして更新された出力データは、Simulinkに対して送信される（Ｓ２６）。
【００３７】
また、Simulinkからの初期入力データが再び受信される（Ｓ２７）。所定の終了条件が成立しない限り（Ｓ２８）、PARALLELの場合について（Ｓ２９）、ユーザ定義のプロセスによって、入力データを基に出力データが算出される（Ｓ３０）。
【００３８】
ステップＳ６〜Ｓ３０の処理が、所定の終了条件が成立するまでの間（Ｓ５，Ｓ３１）繰り返し実行され、終了の場合には、終了処理として、クライアントのクローズ（Ｓ３２）とメモリの解放（Ｓ３３）とが行われ、本ルーチンを抜ける。
【００３９】
以上の処理を挟んで、サーバブロック３０とクライアントブロック４０とによって、両者の同期をとるための処理が行われることになる。すなわち、まずサーバブロック３０からクライアントブロック４０に対して、サーバブロック３０が保持している現在のサーバ時刻が送信され、クライアントブロック４０からは現在の出力データと共に、次回のサンプリング時刻がサーバブロック３０に対して送信される。この一連の処理によって、サーバブロック３０が含まれるサーバ側モデルのプロセスと、クライアントブロック４０が含まれるクライアント側モデルのプロセスとの正確な同期を得ることができる。
【００４０】
以上のとおり、第１実施形態では、送受信処理手段としてのサーバブロック３０およびクライアントブロック４０が、Matlab言語によるシミュレーションプログラムであるSimulinkモデルと、Ｃ言語による処理プログラムであるmodel_B.cとの間の送受信を実現するので、これらSimulinkモデルとmodel_B.cとによる分散処理を好適に支援できる。またサーバブロック３０およびクライアントブロック４０がSimulinkのユーザインターフェイス（ＧＵＩ）のブロック線図システムにおけるブロックの形式を有する関数として構成されているので、これをブロック線図システムにおける他の要素（機能ブロックとして表示されるプログラム）と同様に入力して動作させることができ利便性が高い。
【００４１】
さらに、Matlab言語によるSimulinkモデルとＣ言語プログラムとのリンクが実現したことにより、Simulinkモデルと、Ｃ言語に対するインターフェイスが用意された市販の解析ツール（ＣＰＵシミュレータなど）とのリンクが可能になる。すなわち、上記第１実施形態におけるＣ言語のユーザ定義プロセスＵＤを、ＣＰＵシミュレータと通信するように構成すればよい。具体的には図１０に示すように、クライアントブロック４０の機能と上述のＣ言語プログラム「model_B.c」における送受信およびユーザ定義プロセス機能とを備えたインターフェイスツール１４１を作成する。またMatlab・Simulinkプロセス１３０としては、サーバブロック３０の機能を備えたＣＰＵモデル１３１、及びいずれもSimulinkモデルである車輌モデル１３２並びにＡＣＴモデル１３３（ABS Anti-lock Brake SystemやVSC Vehicle Stability Controlなどのアクチュエータシステムをモデル化したもの）を用意し、これらを直列フィードバックループ状に接続したSimulinkモデルを作成する。そしてＣＰＵモデル１３１によって、インターフェイスツール１４１を経由してＣＰＵシミュレータ１５０と通信するようにシステムを構成すれば、これによってSimulinkによるシミュレーションを実行することができる。
【００４２】
なお、上記第１実施形態ではSimulinkモデルとＣ言語プログラムとをリンクさせる例について説明したが、上記サーバブロック３０およびクライアントブロック４０を利用してSimulinkモデル同士をリンクさせることも可能である。すなわち最も単純には、図１におけるクライアントウィンドウ２０内のクライアント側モデルにおけるmodel_Bに代えて、Simulinkのブロックライブラリから選択された既存のブロック（関数）や、上述のs-function機能を利用して作成されたユーザ定義のブロック（関数）を挿入することも可能である。この場合には、上記第１実施形態と同様の効果を共通の言語の処理プログラムについて実現することができる上、各モデルごとに異なるソルバを設定することが可能となり、また、作成に用いたSimulinkのバージョンの異なるSimulinkモデル同士を結合して動作させることも可能となる。
【００４３】
さらに、上記サーバブロック３０およびクライアントブロック４０の組合せからなる送受信インターフェイスを利用することによって、複数のSimulinkモデルによる分散処理を実現することが可能である。すなわち、図１１に示すように、サーバブロックＳとクライアントブロックＣとの組合せを送受信インターフェイスとして、Simulinkモデルである多数のモデル２１０，２２０，２３０，２４０，・・・をツリー状に結合することにより、任意の複数のSimulinkモデルを結合して分散処理を実行させることができ、理論的には無限個のモデル（プロセス）を結合したシミュレーションを実行することが可能である。
【００４４】
ところで、このような分散処理では、サンプリング時刻の同期をいかに確保するかが問題となるが、この同期の確保は図１２に示すような手順で行うことができる。すなわち、図１１のような分散処理システムにおいて、クライアントブロックCLIENT1，CLIENT2，CLIENT3が、それぞれ対応するサーバブロックから現在のサーバ時刻を受信し、これに基づいて算出された次回のサンプリング時刻を、対応するサーバブロックに送信するが、上記実施形態ではサンプリング時刻を浮動小数点数としていることに起因して、各クライアントブロックから送信されるサンプリング時刻の間には累積誤差が生じることになる。そこで、プロセス１のサーバブロックSERVER1から現在のSERVER1のサーバ時刻が送信されると、これに応じてプロセス２，３のサーバブロックSERVER2，SERVER3では、必要な場合にサンプリング時刻が修正される。具体的には、先後に受信された２つのサンプリング時刻がある場合に、サーバブロックSERVER2，SERVER3は、これらが所定の許容誤差範囲を外れた場合に、後で受信されたサンプリング時刻の仮数部の下位の数ビットを、先に受信されたサンプリング時刻によって更新するものである。このようにして、サンプリング時刻の間の累積誤差が解消され、これによってプロセス間の同期を良好に維持することができる。
【００４５】
なお、上記実施形態は理解の容易のため、主としてスタンドアロンのコンピュータシステムに本発明を適用した例について説明したが、本発明ないしサーバブロック３０・クライアントブロック４０からなる送受信インターフェイスは、TCP/IPに対応したネットワークAPIであるSocketを利用しているため、シミュレーションに係る処理を複数の端末からなるネットワーク環境で実現することもきわめて容易である。すなわち本発明では、ＬＡＮやインターネットなどの通信網を経由して接続された複数のコンピュータ端末のそれぞれに、単独または複数のSimulinkモデルを保持させ、各Simulinkモデルをサーバブロック３０・クライアントブロック４０からなる送受信インターフェイスで相互に結合して動作させることにより、これら複数の端末の連携によってシミュレーションの分散処理を実現することができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態におけるサーバウィンドウ、クライアントウィンドウおよびＣ言語の処理プログラムを示す概念図である。
【図２】実施形態で仮想的に実現されるシミュレーションモデルを示す概念図である。
【図３】サーバブロックのパラメータ設定メニューを示す概念図である。
【図４】クライアントブロックのパラメータ設定メニューを示す概念図である。
【図５】サーバブロックの構成の詳細を示す概念図である。
【図６】クライアントブロックの構成の詳細を示す概念図である。
【図７】SERIALとPARALLELの各モードにおける送受信の概略を示すタイミング図である。
【図８】Ｃ言語の処理プログラム「model_B.c」における処理を示すフロー図である。
【図９】Ｃ言語の処理プログラム「model_B.c」における処理を示すフロー図である。
【図１０】実施形態に係る送受信インターフェイスをＣＰＵシミュレータに適用した変形例を示すブロック図である。
【図１１】実施形態に係る送受信インターフェイスを、ツリー状に結合された多数のSimulinkモデルの分散処理に適用した変形例を示すブロック図である。
【図１２】分散処理における同期処理の一例を示す概念図である。
【符号の説明】
【００４７】
１０          サーバウィンドウ
２０          クライアントウィンドウ
３０          サーバブロック
４０          クライアントブロック
１５０        ＣＰＵシミュレータ
【図１】
2005222420.tif 000003
【図２】
2005222420.tif 000004
【図３】
2005222420.tif 000005
【図４】
2005222420.tif 000006
【図５】
2005222420.tif 000007
【図６】
2005222420.tif 000008
【図７】
2005222420.tif 000009
【図８】
2005222420.tif 000010
【図９】
2005222420.tif 000011
【図１０】
2005222420.tif 000012
【図１１】
2005222420.tif 000013
【図１２】
2005222420.tif 000014