(57)【要約】【課題】モデリング環境の外からダイナミックシステムモデルの内部信号へとアクセスするための方法を提供する。【解決手段】本発明の一実施例によれば、ダイナミックシステムのシステムモデル１又はソフトウエアモデル２３０の内部信号を、元のモデリング環境の外で実行されるクライアントアプリケーションに露出するための方法４００が提供される。システムモデル１の設計者は、そのシステムモデルの内部信号を選択して、モデリング環境の外部の他のコンピュータアプリケーションにこれらの内部信号を露出するための手段が提供される（４１０）。そのようなコンピュータアプリケーションは、システムモデル１がそのモデリング環境中で実施されている間、或いはシステムモデル１に基づくソフトウエアモデル２３０がその環境の外で実行されている間、インターフェースソフトウエアにより内部信号へのアクセスが提供される（４３０）。【選択図】図４
2004139597.tif 000002
【特許請求の範囲】
【請求項１】
　ダイナミックシステムのモデルの少なくとも１つの内部信号を、モデリング環境外にあるクライアントアプリケーションに露出するための方法であって、
　前記モデルの設計者に、前記モデリング環境内から少なくとも１つの露出すべき内部信号を選択する能力を提供するステップと、
　前記クライアントアプリケーションからの、前記設計者により選択された前記少なくとも１つの内部信号へのアクセスを、インターフェースソフトウエアを通じて可能とするステップと、
を含む方法。
【請求項２】
　前記モデルが前記モデリング環境内で定義されたシステムモデルである、請求項１に記載の方法。
【請求項３】
　前記モデルが前記モデリング環境内で定義されたシステムモデルに基づくソフトウエアモデルである、請求項１に記載の方法。
【請求項４】
　システムモデルを生成するステップをさらに含む、請求項１に記載の方法。
【請求項５】
　前記システムモデルに基づいてソフトウエアモデルを生成するステップをさらに含む、請求項４に記載の方法。
【請求項６】
　前記選択する能力を提供するステップが、設計者が前記モデルを修飾するために使用し得る通信機能ブロックを提供するという手段により実施され、前記通信機能ブロックの１つは、前記設計者の選択した前記モデルの前記少なくとも１つの内部信号の各々と関連付けられている、請求項１に記載の方法。
【請求項７】
　前記インターフェースソフトウエアが、
　前記モデルの前記通信機能ブロックに関連する前記内部信号へのクライアントアプリケーションアクセスを提供するように構成されたコンポーネント・オブジェクト・モデル（ＣＯＭ）サーバ・エグゼクタブルと、
　前記通信機能ブロックに関連する前記内部信号を前記ＣＯＭサーバ・エグゼクタブルに露出するように構成されたブロック支持ダイナミック・リンク・ライブラリ（ＤＬＬ）と、
を含む、請求項６に記載の方法。
【請求項８】
　前記インターフェースソフトウエアが、
　前記モデルの前記通信機能ブロックに関連する前記内部信号のＣＯＭインターフェース定義を前記ＣＯＭサーバ・エグゼクタブルに提供する拡張可能マークアップ言語（ＸＭＬ）ファイルを生成するように構成されたＸＭＬジェネレータ、
をさらに備えている、請求項７に記載の方法。
【請求項９】
　ダイナミックシステムのモデルの少なくとも１つの内部信号をモデリング環境の外にあるクライアントアプリケーションに露出するためのソフトウエアシステムであって、
　前記モデルを修飾するために設計者が使用することができる通信機能ブロックであって、前記通信機能ブロックの１つは、前記設計者により選択された前記少なくとも１つの内部信号の各々に関連付けられている、通信機能ブロックと、
　前記通信機能ブロックに関連付けられた前記少なくとも１つの内部信号への前記クライアントアプリケーションによるアクセスを許容するように構成されたインターフェースソフトウエアと、
を備えているソフトウエアシステム。
【請求項１０】
　前記モデルが前記モデリング環境内において定義されたシステムモデルである、請求項９に記載のソフトウエアシステム。
【請求項１１】
　前記モデルが前記モデリング環境内において定義されたシステムモデルに基づくソフトウエアモデルである、請求項９に記載のソフトウエアシステム。
【請求項１２】
　前記インターフェースソフトウエアが、
　前記モデルの前記通信機能ブロックと関連する前記内部信号へのクライアントアプリケーションアクセスを提供するように構成されたコンポーネント・オブジェクト・モデル（ＣＯＭ）サーバ・エグゼクタブルと、
　前記通信機能ブロックに関連する前記内部信号を前記ＣＯＭサーバ・エグゼクタブルに露出するように構成されたブロック支持ダイナミック・リンク・ライブラリ（ＤＬＬ）と、
を備えている、請求項９に記載のソフトウエアシステム。
【請求項１３】
　前記インターフェースソフトウエアが、
　前記モデルの前記通信機能ブロックに関連する前記内部信号のＣＯＭインターフェース定義を前記ＣＯＭサーバ・エグゼクタブルに提供する拡張可能マークアップ言語（ＸＭＬ）ファイルを生成するように構成されたＸＭＬジェネレータ、
をさらに備えている、請求項１２に記載のソフトウエアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は一般にダイナミックシステムに関し、特に、モデリング環境の外からダイナミックシステムモデルの内部信号にアクセスするための方法に関する。
【背景技術】
【０００２】
　人間によって考案されたダイナミックシステムは、その環境における状況変化に対して何らかの有益な方法で応答するものであるが、このようなシステムが効果的に取り扱うことができなければならない状況が多様かつ無数に存在することから、設計者には大きな難題が突きつけられている。例えば、ある種のダイナミックシステムとして代表される電気及び電子回路は、常に変化する入力信号に反応し、システムが作動する環境において何らかの好適な動作を生じさせるためにその入力信号に基づく出力信号を供給できなければならない。電気及び電子回路は、電子レンジやパソコン等の日常民生品からハイテク軍事兵器まで、非常に多くのアプリケーションにおいて有益に利用されている。更にダイナミックシステムは、特定の有用な機能を実現するように書き込まれた何らかのソフトウエアをも含む。また、ダイナミックシステムは、電気的、ソフトウエア的、機械的、気学的、又は化学的な原理、或いはこれらの組み合わせ（これらを含むがこれらに限られない）に基づくものをも含む場合がある。
【０００３】
　ダイナミックシステムを設計するという仕事は、システムシミュレーション技術の絶え間ない発展により、大きく進歩して来た。このようなシミュレーションによれば、構築も維持も困難な高価なプロトタイプを用意する必要なくダイナミックシステム設計モデルの試験を最初に実施することが可能である。シミュレーションを通じ、想定し得るテスト条件群を使用して初期のシステム設計を徹底的に作動させてみることができる。こうすることによりシステム設計者がこれらのテスト結果を利用してシステムのパフォーマンスを解析することができる。通常は、そのテスト結果に基づいた変更が加えられ、テストを再実行してその結果をもう一度解析し、その変更の良い効果或いは悪い効果が判断される。従って、シミュレーションにより、被試験システムの実際の構築前の反復プロセスによりダイナミックシステムの設計が改善され得るものであり、この結果、より早く、より生産的なシステム開発が可能となっている。
【０００４】
　このようなモデリング環境の具体例として、Ｍａｔｈｗｏｒｋｓ社によるＳｉｍｕｌｉｎｋ（登録商標）システム定義及びシミュレーションツールがある。図２に示したように、モデリング環境２１０により、システム設計者はダイナミックシステムが電気的なものであるのか、機械的なものであるのか、或いはその他のものであるのかを、設計者が決定したシステムモデル１の処理特性によって特定することができる。システムモデル１の一例を図１に示した。システムモデル１は、各々が何らかの識別可能なタスクをシステムモデル１内において実施する幾つかの機能ブロック２から構成されている。通常、システムモデル１により示したダイナミックシステムは、１つ以上の入力信号３及び出力信号４（或いは集合的に外部変数）を使用することにより周囲環境と通信し、これに影響を及ぼす。システムモデル１の内部信号５により、機能ブロック２は通信可能となり、これによって機能ブロック２間の協調が実現し、ダイナミックシステムの全体的な機能が実行される。Ｓｉｍｕｌｉｎｋのような多くのモデリング環境２１０はまた、階層的設計を許容するが、これはシステムモデル１の各ブロック２が、関連する上位レベルブロック２における様々な機能を示すサブブロック（図示せず）からさらに構成され得るからである。
【０００５】
　更に、システムモデル１におけるいずれの機能ブロックも、モデリング環境２１０において通常は使用可能な事前定義の機能ブロック（例えば分化、或いは統合機能ブロック）であっても、或いはシステム設計者がその挙動を指定することができる事後定義機能ブロックであっても良い。そのような事後定義ブロックは、「Ｓファンクション（S-functions）」という方式（ブロックの挙動をユーザー或いは第三者が提供するソフトウエアにより定義することができるものであり、これはＣ言語、Ａｄａ及びＦｏｒｔｒａｎを含む複数の異なる言語で書くことができる）によりＳｉｍｕｌｉｎｋにおいて指定することができる。
【０００６】
　図２に示したように、Ｓｉｍｕｌｉｎｋ環境において指定されたシステムモデル１は、次にその同じ環境においてシステム設計者の提供する入力信号３を用いてシミュレーションすることができる。モデルの解析、後の設計変更、及び更なるシミュレーションは、通常、全てＳｉｍｕｌｉｎｋツールの範囲において生じるものである。このプロセスを向上させるために、Ｓｉｍｕｌｉｎｋは、提示されたシステムの挙動定義を助けるシステムモデル１の内部信号５へのアクセスを可能とするものである。より具体的には、内部信号５により設計者はシステムモデル１の動作をより詳しく洞察することができる。従って、これらの内部信号５へのアクセスにより、シミュレーション及び解析プロセス全体をより効率化することができる。
【０００７】
　Ｍａｔｈｗｏｒｋｓ社の提供するＲｅａｌ−Ｔｉｍｅ　Ｗｏｒｋｓｈｏｐ（登録商標）（ＲＴＷ）のような、関連コード生成ツール２２０は、元々モデリング環境２１０において開発されたシステムモデル１を入力として受け、そのシステムモデルを表すソフトウエアモデル２３０であるコードを生成する。ソフトウエアモデル２３０は、Ｃ言語、Ａｄａ、その他を含む幾つかの異なるプログラミング言語のいずれか１つを使って生成することができる。次にソフトウエアモデル２３０は他のプラットフォームへと送られ、実行されるが、このソフトウエアモデル２３０の実行は、プラットフォームの特性によってはリアルタイムで進行する場合もある。ソフトウエアシステムの場合、プラットフォームは、システムを実現するために最終的に用いられるターゲットプラットフォームである可能性があり、従ってシステムモデル生成から製造レベルコードへのほぼシームレスな進行が提供される。
【０００８】
　残念なことに、シミュレーション環境２１０において最初はアクセス可能な図１のシステム内部信号５が、ソフトウエアモデル２３０を実行しているプラットフォーム上では設計者が追加のモデル特定型ソフトウエアを特別に作成しない限りはアクセスできなくなる場合がある。Ｍａｔｈｗｏｒｋｓ環境においてこのような状況があった場合の対処法としては、設計者がＳｉｍｕｌｉｎｋ環境を通じてアクセスした場合にソフトウエアモデル２３０の内部信号へのアクセスを可能とする「外部モード」オプションをＲＴＷツールにより提供することがあげられる。外部モードにおいては、Ｓｉｍｕｌｉｎｋを通じたこのような内部信号へのアクセスは、Ｓｉｍｕｌｉｎｋを実行する同じプラットフォーム上、或いは伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）のような通信リンク手段によりＳｉｍｕｌｉｎｋプラットフォームへと接続する他のプラットフォーム上でソフトウエアモデルが実行されている場合に可能となる。しかしながら、異なるプラットフォーム上で実行するコードの内部信号へのアクセスの形式及び品質は、Ｓｉｍｕｌｉｎｋの能力と同時にＳｉｍｕｌｉｎｋプラットフォームとＲＴＷ生成コードをホストするプラットフォームとの間の通信接続の空き状況にもよる。元のモデリング環境の外にあるクライアントアプリケーションを使用することによって実行ソフトウエアモデルの内部変数にアクセスする能力は現在のところ無い。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
　よって上述から、システムモデルの内部信号へのアクセスを、そのシステムモデルを通して、或いはそのシステムモデルから生成されたソフトウエアモデルを通して、元のモデリング環境の外から自動的にできるようにする方法があれば有利である。このような方法により、システム設計者はシステムモデルをシミュレーションするプラットフォームの柔軟性を向上させることができるだけではなく、その２つのモデルのいずれかの内部信号へのより柔軟で有効なアクセスが叶えられる可能性がある。
【課題を解決するための手段】
【００１０】
　以下に説明する本発明の実施例は、ダイナミックシステムのシステムモデル又はソフトウエアモデルの内部信号を、元のモデリング環境の外で実行されるクライアントアプリケーションへと露出する（expose）ための方法を表すものである。モデリング環境において、システムモデルの設計者がそのシステムモデルの内部信号を選択してクライアントアプリケーションへと露出するための手段が提供される。そしてシステムモデルがそのモデリング環境中で実施される間、或いはソフトウエアモデルがその環境の外で実行される間、クライアントアプリケーションはインターフェースソフトウエアにより内部信号へのアクセスが許容されるというものである。
【００１１】
　よって本発明の実施例は、従前はモデリング環境外のクライアントアプリケーションにはアクセスできなかったシステムモデル又はソフトウエアモデルの内部変数へのアクセスを許容するものである。このようなアプリケーションは、このようなデータをモデリング環境中では利用可能でない方法で調査するように、実行中のモデルに関して特定的に書かれ得るものである。
【００１２】
　本発明の他の態様及び利点は、以下の詳細な説明を、本発明の原理を例示した添付図と共に参照することにより明らかとなる。
【発明を実施するための最良の形態】
【００１３】
　以下に説明する本発明の実施例は、開始点として上述したＭａｔｈｗｏｒｋｓ　Ｓｉｍｕｌｉｎｋ（登録商標）モデリング環境を利用したものである。しかしながら、本発明の他の実施例における基盤として他のシミュレーションモデル環境を同様の形式で使用することも可能である。
【００１４】
　更に、本発明の他の実施例におけるソフトウエアは、関連するモデリング環境との様々な統合化レベルにおいて実現することができる。例えば、他の実施例においては、モデリング環境とは別にインストールされた別個の後継（follow-on）ソフトウエアが含まれていても良い。本願において特定して説明するように、他の実施例は独自に開発されたものではあるが、しかしモデリング環境に統合化されたソフトウエアを含むものであっても良い。更に他の実施例は、モデリング環境の残りの部分を構成するものから外部の観測者によって区別できない程度に、高度に統合化されたコードを提供するものであっても良い。
【００１５】
　図４及び図５は、本発明の提供するステップ４００及び５００をそれぞれに統合化して表したものであるが、システム設計者又は他のユーザーにより実施されるステップを介在させて表してある。図４は図３に示した修飾（decorated）システムモデル１００を直接使用した場合のものであり、図５は修飾システムモデル１００から生成されたソフトウエアモデル２３０を使用した場合のものである。本発明の実施例に直接的に関わるステップは、点線で囲んだブロックに示す。
【００１６】
　まず、図４及び図５に示したように、本発明の実施例はユーザーにより定義されたモデルにおいて使用するための通信機能ブロック６群（図３）を提供する（図４及び図５のステップ４１０）。通信機能ブロック６は通常、モデリング環境中のライブラリに常駐する事前定義、或いは第三者定義のブロックである。モデリング環境に提供されるライブラリ中にある他の機能ブロック同様、通信機能ブロック６はシステム設計者による利用及び変更が可能である。
【００１７】
　図４及び図５においては、システム設計者がシステムモデル１（図１）に１つ以上の通信機能ブロックを加える（図４及び図５のステップ４２０）ことにより、或いはこれらで「修飾」することにより、システムモデル１を変更し、この結果、図３にその詳細を示す修飾システムモデル１００が得られる。通信ブロック６は、修飾システムモデル１００（図４）、或いは修飾システムモデル１００から生成されたソフトウエアモデル２３０（図５）のいずれかの実行と並行して実行しているアプリケーションに対して露出されるべき修飾システムモデル１００の内部信号５を選択する目的で、設計者により設けられるものである。通信ブロック６の各々は、修飾システムモデル１００中の特定の内部信号５を露出するために用いられる。従ってシステム設計者は、修飾システムモデル１００が存在する環境の外のアプリケーションに対してどの内部信号５を露出するのかを制御する。換言すると、システム設計者は、設計者が露出したいと望む信号のみに対して通信ブロック６を割り当てるのである。例えば図３においては、通信ブロック＿１が内部信号＿２を露出するために用いられるのに対して、通信ブロック＿２は内部信号＿３の読み出し及び書き込みアクセスの両方のために用いられる。この場合においては、設計者は内部信号＿１は露出しないという選択をしている。この内部信号５の露出が望まれていないのは、この信号が非可変であるか、設計者の興味範囲にないものであるか、或いは他の何らかの理由が存在するためである。
【００１８】
　Ｓｉｍｕｌｉｎｋモデリング環境においては、通信機能ブロック６は本発明の実施例により機能ブロックライブラリの一部として設計者に提供されるものである。通信ブロック６の各々は通常、修飾システムモデル１００中にこのようなブロックを作成する段階において設計者へと提示される、関連するマスキングされたダイアログボックスを有している。このようなダイアログボックスは、各々に関連付けられた機能ブロックのカスタマイズを可能とするものである。通信機能ブロック６の場合、付随するダイアログボックスにより設計者は通信ブロック６に関連する内部信号５をモデリング環境外でアクセスするための名称を指定することができる。ダイアログボックス内に入力される名称は、必ずしもモデリング環境中で使用される内部信号５の名称に一致している必要はない。この能力により、設計者は後のいずれかの時点において、モデリング環境外の内部信号５をアクセスするために用いるアプリケーションを変更することなく修飾システムモデル１００中のその信号の名称を変えることができる。更に、全く異なるモデルが同じ通信ブロック６を使用することが可能であるため、単一のクライアントアプリケーションを各モデルに対して使用することができ、アプリケーション開発に必要な時間を節約することができる。
【００１９】
　開示した実施例においては、通信機能ブロック６は上述した「Ｓファンクション」として実現されている。換言すると、通信機能ブロック６は関連する通信ブロック６の機能を記述及び表示するソフトウエア部分という形で定義されているのである。そしてＳファンクションは、本発明の実施例により提供されるダイナミック・リンク・ライブラリ（ＤＬＬ）を使用するものであり（図４及び図５のステップ４３０）、これによりそのＳファンクションに関連付けられた通信ブロック６に接続する内部信号５の露出が叶えられるのである。一般に、ＤＬＬは、実行可能プログラムが構築される時点ではなく、その実行時に実行可能プログラムとリンクさせることができるソフトウエアである。ＤＬＬはＷｉｎ３２システム中で一般的に使用されており、実行可能プログラムによってどのソフトウエア部分を実行するべきかに関する判断をプログラム実行中にすることができるようにすることによってプログラム設定に柔軟性を提供するものである。
【００２０】
　通信ブロック６に関わるＤＬＬは、コンポーネント・オブジェクト・モデル（ＣＯＭ）技術サーバとしてコンピューティングプラットフォーム上に登録された、本発明の実施例（図４及び図５のステップ４３０）により提供される、エグゼクタブル（executable：実行可能プログラム）形式の、クライアントアプリケーションからの関連内部信号の読み出し及び書き込みアクセスを可能とするコードを含んでいる。ＣＯＭは、異なるソフトウエア開発者が様々な言語で書いたソフトウエア「コンポーネント」、即ちソフトウエア部分の相互通信を可能とする、Ｍｉｃｒｏｓｏｆｔ社により指定されたソフトウエア・アーキテクチャ定義として広く使用されている。基本的にＣＯＭアーキテクチャは、異種ソフトウエアの統合化を容易にするものであり、これらのソフトウエアがどのように相互に通信を行うべきかを管理する枠組みを定義することにより、何らかの統合化機能を実施させるものである。よってＣＯＭ技術の利用により、内部信号５に関わる情報を、モデリング環境から、並行して実行しているクライアントアプリケーションへとＤＬＬを通じて送ることができ、クライアントアプリケーションはその情報を利用して、モデル環境中で実行中の修飾システムモデル１００の内部実行を解析し、制御することができる。
【００２１】
　本発明の特定の実施例においては、ＣＯＭ技術が採用されているが、コンピュータ上で実行されるソフトウエアの様々な部分間をインターフェースで繋ぐことが可能な他の方法を採用することもできる。例えば、より包括的なインターフェース技術であるＭｉｃｒｏｓｏｆｔ（登録商標）の「ＮＥＴ」を採用することができるが、これは拡張可能マークアップ言語（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ：ＸＭＬ）ウェブサービス群を採用してソフトウエア部分間の相互接続性を許容するものである。更に、ＣＯＭインターフェースの代わりに採用することができるソフトウエアの様々な部分間の他の相互接続方法としては、ＬＡＮ　ＴＣＰ／ＩＰ（ローカルエリアネットワーク−伝送制御プロトコル／インターネットプロトコル）及び共有メモリ方式を挙げることができるが、これらに限られない。
【００２２】
　先にも述べたが、図５に示したように本発明の他の実施例では、修飾システムモデル１００の内部信号５に関する情報を、修飾システムモデル１００を表すソフトウエアモデル２３０からアクセスすることができる。ソフトウエアモデル２３０は、修飾システムモデルをソフトウエア言語で表したものであり、これはＲＴＷのようなコード生成ツール２２０により生成される。ソフトウエアモデル２３０はモデリング環境と共に実行することができる、或いは全く異なるコンピュータプラットフォーム上で実行する等のようにモデリング環境なしで実行することができる。ソフトウエアモデル２３０はシステムモデル１の一部としてユーザーが指定する通信ブロック６を含むため、ソフトウエアモデル２３０は修飾システムモデル１００が実行された場合に許容される同じ内部信号５へのアクセスが可能である。
【００２３】
　本発明の実施例においてＣＯＭ技術を使う場合の主な利点の１つは、この技術が基本的にＷｉｎ３２ベースのプラットフォーム全体に採用されていることから、実行中にソフトウエアモデル２３０から内部信号５をアクセスするというタスクが比較的に容易に実施できるという点である。しかしながら、ソフトウエアモデル２３０とソフトウエアモデル２３０の内部信号５へのアクセスを持つアプリケーションとの間をインターフェースするためには、先にも述べたＮＥＴやＬＡＮ　ＴＣＰ／ＩＰといった他の方法を採用することもできる。
【００２４】
　一般に、ソフトウエアモデル２３０の内部信号５は少なくとも２つの異なる方法でアクセスすることができる。信号は、ソフトウエアモデル２３０の実行中にアクセス可能である。かわりに、拡張可能マークアップ言語（ＸＭＬ）ファイルを使用してソフトウエアモデル２３０の実行開始前に内部信号を含むインターフェースをオンラインにすることによりそれらの信号をアクセスすることもできる。
【００２５】
　図６に示したように、第１の実施例においてはソフトウエアモデル２３０が、ＤＬＬ及び上述したエグゼクタブルと共にＷｉｎ３２プラットフォーム上にロードされるが、この時エグゼクタブルはプラットフォーム上にＣＯＭサーバとして登録される（図６のステップ６１０）。次にソフトウエアモデル２３０の内部信号５をアクセスし且つこれに応答するクライアントアプリケーションが実行される（図６のステップ６２０）。クライアントアプリケーションはＣＯＭ技術という手段によりソフトウエアモデル２３０を実行した結果として発生する事象を待つ。ソフトウエアモデル２３０がプラットフォーム上で実行されると（図６のステップ６３０）、内部信号５へのインターフェースが定義されるが、これに対してクライアントアプリケーションはＣＯＭを通じたそれらの信号へのアクセスにより反応を示すことになる。
【００２６】
　図８に示す第２の実施例においては、ソフトウエアモデル２３０の実行前に内部信号５を定義するソフトウエアモデルのＣＯＭインターフェースへのアクセス能力をクライアントアプリケーションに持たせることを設計者が望む場合がある。この場合においては、修飾システムモデル１００が指定される時点でそのインターフェースを記述するＸＭＬファイルをモデリング環境中において生成することができる（図５のステップ７００であり、図７にその詳細を示した）。ＣＯＭインターフェース定義から関連するＸＭＬファイルを生成する特殊用途向けアプリケーションは、そのような目的用の本発明の実施例により提供される（図７のステップ７１０）。本実施例においては、このアプリケーション（ＸＭＬジェネレータと呼ぶものとする）がまず実行される（ステップ７２０）。次にモデリング環境内において修飾システムモデル１００が実行される（ステップ７３０）。その後ＸＭＬジェネレータはそのＣＯＭインターフェースを通じて修飾システムモデル１００を選択するが（ステップ７４０）、これは他のクライアントが必要としていない場合には修飾システムモデル１００のＣＯＭインターフェースをコンピュータメモリ中に維持するものである。ＸＭＬジェネレータは次にＸＭＬフォーマットのインターフェース記述をＸＭＬファイルに保存する（ステップ７５０）。代わりに、ＸＭＬファイルをモデリング環境外のターゲットプラットフォーム上に生成することができるが、これは図７に示したようにＸＭＬジェネレータを起動し、その後ソフトウエアモデル２３０の実行を行うことにより、ＸＭＬジェネレータによりソフトウエアモデル２３０用のＣＯＭインターフェースをＸＭＬファイルに保存することが可能となる。
【００２７】
　図８に示したように、ＸＭＬファイルが生成されると、これをＣＯＭサーバ、ＤＬＬ及びソフトウエアモデルと共にターゲットコンピュータプラットフォームへ複写することができる（ステップ８１０）。その後クライアントアプリケーションが実行されると（ステップ８２０）、ＣＯＭサーバによるＸＭＬファイルの使用が可能となることから、クライアントアプリケーションは、ソフトウエアモデル２３０がプラットフォーム上で実行される前に、ソフトウエアモデル２３０のＣＯＭインターフェースの特定要素へとアクセスすることができる（ステップ８３０）。上述した実施例においては、次にソフトウエアモデル２３０を実行することができるが（ステップ８４０）、クライアントアプリケーションがソフトウエアモデル２３０と並行して実行されており、その実行中にソフトウエアモデル２３０の内部信号５をアクセスするのである。
【００２８】
　開示した本発明の実施例における利点の１つは、どのモデリング環境を採用したかに関わらず、多数のシステム又はソフトウエアモデルについて１つのクライアントアプリケーションを用いることができるという点である。標準的なＣＯＭインターフェースが関連する各モデルに使用されている場合、それら全てのモデルに対してそのインターフェースを実現する単一のクライアントアプリケーションを使用することができる。各モデルに対して同じ通信ブロック６を使用することにより、各々のＣＯＭインターフェースの開発が容易となり、これにより、同じＣＯＭインターフェースを実現する単一のクライアントアプリケーションという手段により各モデルをアクセスすることが可能となるのである。
【００２９】
　修飾システムモデル１００又はソフトウエアモデル２３０の内部信号５をアクセスする場合においてクライアントアプリケーションにより提供される機能は、シミュレーション対象である特定のダイナミックシステムにおける必要性に基づいて定義されるものである。基本的に全ての場合において、モデルの露出された全ての内部信号５について、クライアントアプリケーションによる読み出しアクセス能力が提供される。内部信号５のグラフィック表示や解析を採用することで、被シミュレーションモデルの内部動作を設計者が把握することがより容易となる。クライアントアプリケーションは更に、シミュレーションされているモデルの動作を変えるために内部信号５を手動又はプログラミングにより変更することを可能としており、これにより設計者が関連システムの設計に対する効果的な変更が何かを判断することを助けている。
【００３０】
　クライアントアプリケーションはいずれの形態であっても良い。例えば、クライアントアプリケーションは、ユーザーが同時に実行されているシステムモデル又はソフトウエアモデルの内部信号５をアクセスすることができるようにした特殊用途向けアプリケーションである「モデルブラウザ」であっても良い。このブラウザは、代表的にはＣＯＭインターフェースを介してそのモデルと通信するＷｉｎ３２アプリケーションである。その後内部信号５を表すデータがブラウザを通じてアクセス可能となり、監視やこれらの信号に対して考えられ得る変更を行うことができる。
【００３１】
　代わりに、クライアントアプリケーションは、例えばＭｉｃｒｏｓｏｆｔ　Ｅｘｃｅｌ（登録商標）ワークブックのようなより汎用型のプログラムの具体例であっても良い。このようなプログラムは、モデルブラウザについて説明したように、システムモデル又はソフトウエアモデルの内部信号５への同種のアクセスを許容するものである。ワークブックの異なるスプレッドシートにより、モデルの動作の異なる視点を提供することもできる。例えば、１つのスプレッドシートを内部信号５の各々、それらのデータタイプ及び現在の値を表現するものとすることができる。他のシートを関心のある内部信号５をグラフィック表示するものとすることができる。
【００３２】
　上述から、先に説明した本発明の実施例が、元のモデリング環境の外にあるダイナミックシステムのシステムモデル又はソフトウエアモデルの内部信号へのアクセスを可能とする方法を提供するものであることが示された。更に、本発明を実現する他の特定のシステム及び方法も可能である。よって本発明は本願に記載及び図示した特定の形式に限られたものではなく、請求項によってのみ限定されるものである。
【図面の簡単な説明】
【００３３】
【図１】Ｓｉｍｕｌｉｎｋモデリング環境及びその他のモデリング環境において表すことができるシステムモデルのブロック図である。
【図２】ダイナミックシステムのシステムモデル及びソフトウエアモデルを開発する従来の方法を説明するフローチャートである。
【図３】本発明の一実施例に基づいて「修飾」されたシステムモデルのブロック図である。
【図４】内部信号へのアクセスを許容するシステムモデルを開発するための本発明の一実施例に基づく方法のフローチャートである。
【図５】図４のシステムモデルから生成される、内部信号へのアクセスを許容するソフトウエアモデルを開発するための本発明の一実施例に基づく方法の最初の部分のフローチャートである。
【図６】図５の方法の可能な最終部分を示すフローチャートである。
【図７】図５のインターフェース定義ファイルの生成ステップのより詳細を示すフローチャートである。
【図８】図５の方法の最終部分に代わる、図７からのインターフェース定義ファイルを使用した方法を示すフローチャートである。
【符号の説明】
【００３４】
１：システムモデル
２３０：ソフトウエアモデル
【図１】
2004139597.tif 000003
【図２】
2004139597.tif 000004
【図３】
2004139597.tif 000005
【図４】
2004139597.tif 000006
【図５】
2004139597.tif 000007
【図６】
2004139597.tif 000008
【図７】
2004139597.tif 000009
【図８】
2004139597.tif 000010