Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5327451B2 - 実システムメモリ使用量概算方法及び装置 - Google Patents
[go: Go Back, main page]

JP5327451B2 - 実システムメモリ使用量概算方法及び装置 - Google Patents

実システムメモリ使用量概算方法及び装置 Download PDF

Info

Publication number
JP5327451B2
JP5327451B2 JP2009045234A JP2009045234A JP5327451B2 JP 5327451 B2 JP5327451 B2 JP 5327451B2 JP 2009045234 A JP2009045234 A JP 2009045234A JP 2009045234 A JP2009045234 A JP 2009045234A JP 5327451 B2 JP5327451 B2 JP 5327451B2
Authority
JP
Japan
Prior art keywords
platform
information
model
memory usage
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009045234A
Other languages
English (en)
Other versions
JP2010198529A (ja
Inventor
巧 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009045234A priority Critical patent/JP5327451B2/ja
Publication of JP2010198529A publication Critical patent/JP2010198529A/ja
Application granted granted Critical
Publication of JP5327451B2 publication Critical patent/JP5327451B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、コンピュータを用いた情報処理システムにおける実システムメモリ使用量概算方法及び装置に関し、詳しくは、モデリング言語を利用した実システムメモリ使用量概算方法、装置、及びプログラムに関する。
従来この種のシステムメモリ使用量の概算方法としては、特許文献1及び2に記載の方法がある。
特許文献1には、車載用電子制御装置に関し、プログラムの実行を行うCPUとこのCPUの指令に基きセンサ類からの入力処理とアクチュエータ類に対する出力処理とプログラム書換装置との入力処理とアクチュエータ類に対する出力処理とCPUの演算処理とのプログラムやデータを格納すると共に、複数の記憶ブロックに分割されて記憶ブロック毎に各種プログラムが格納される記憶装置とを備えている。記憶装置の各記憶ブロックには、プログラムやデータの良否を示すフラグが共に格納されている。このフラグが記憶ブロックにプログラムが書き込まれ、このプログラムが照合されて良否が確認された後に書き込まれるようにしたものである。
また、特許文献2は、オブジェクト指向評価装置に関して、クラス構造を規定したオブジェクト指向設計情報を解析し、予め実行環境毎に登録した実行環境情報を用いて、クラスで使用されるメモリ使用量の予測式を導出し、解析/予測式導出手段を設けた構成を有している。
従来のシステム構築では、実運用環境を構築しなければ、システムのメモリ使用量を測定することができなかったため、プログラムの最適化はシステムの環境構築後に行う必要があった。システムの最適化はソースコードに手を加えるため、変更箇所に対応する仕様書も修正する必要があり、修正量が多いため、容易ではない。また、ソースコードに手を加えるため、バグを発生させる可能性も高いといった問題も発生していた。
特開2001−84134号公報 特開2002−73380号公報
これまでシステム開発ではシステムが使用するメモリ量は実行時に測定されるため、設計時にはどの程度メモリが使用されるか、設計者が独自の方法で推測する必要があった。
また、仕様の変更やOSやサーバソフトなどのミドルウェア、利用しているライブラリのバージョン等の変更が発生した場合は、ソースコードを修正後、コンパイル、配備等を行ってから再度メモリ使用量を測定しなければならなかった。
このため、メモリ使用の最適化を行うのはシステムの動作確認を行った後になり、メモリ使用量に関して問題があった場合の対応としてはシステムの設定項目のチューニングやバージョンアップに伴うプログラムの最適化が必要であった。
更にそれらの最適化に伴ったソースコードの修正を行う場合は、設計書の修正も必要になるため、修正コストが多くなっていた。
そこで、本発明の技術的課題は、実システム環境を構築する前にメモリ使用量が算出できるモデリング言語を利用した実システムメモリ使用量概算方法、装置及びプログラムを提供することにある。
本発明によれば、モデリング言語によってモデルを作成するモデリング段階と、作成したモデルをシミュレーションするシミュレーション実行段階とを備え、コーディングせずにメモリの使用量の概算を算出し、さらに、前記モデルだけではシミュレーションできない処理を最小処理単位に分割してメモリの使用量の情報を収集し保存するメモリ使用量情報収集格納段階を備えていることを特徴とする実システムメモリ使用量概算方法が得られる。
また、本発明によれば、前記実システムメモリ使用量概算方法において、前記シミュレーション実行段階は、前記メモリの使用量の情報を参照しながら、前記モデルのシミュレーション処理を行うとともに、シミュレーション処理における時系列順に並んだシステムの処理であるアクティビティ毎に使用されるメモリ使用量を記録することを特徴とする実システムメモリ使用量概算方法が得られる。
また、本発明によれば、前記実システムメモリ使用量概算方法において、モデリング過程と、運用環境過程とを備え、前記運用環境過程は、シミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するモニタリング段階を含み、前記モデリング過程は、システムの分析及び設計工程でモデリング言語を利用してシステムの分析モデル及び設計モデルを作成するプラットフォーム非依存モデル作成段階と、作成されたプラットフォーム非依存モデル、言語情報を含むプラットフォーム情報、及びマッピング情報を利用して、プラットフォーム特化モデルを作成するプラットフォーム特化モデル作成段階と、前記プラットフォーム特化モデルから前記言語情報を基に対象となる言語で記述されたソースコードを作成するソースコード作成段階と、前記プラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレートとして抽出する基本テンプレート抽出段階と、モニタリングして得られたモニタリング結果とモニタリング環境の環境情報が記述されているマッピング情報を合わせた動作情報を格納するための動作情報保存段階と、前記シミュレーション実行段階とを含み、前記モデリング段階は、前記プラットフォーム非依存モデル作成段階、前記プラットフォーム特化モデル作成段階、及び前記ソースコード作成段階を含み、前記メモリ使用量情報収集格納段階は、前記基本テンプレート抽出段階、前記モニタリング段階、及び前記動作情報保存段階を備え、前記シミュレーション実行段階は、前記プラットフォーム特化モデルを、前記動作情報を基に擬似的に実行することを特徴とする実システムメモリ使用量概算方法が得られる。
また、本発明によれば、前記実システムメモリ使用量概算方法において、前記モニタリング段階は、予め作成したテストを実施しやすい前記運用環境に合わせたマッピングファイルを利用して、前記プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成し、ソースコード、実行ファイルを生成し、動作確認用の入力データを利用して、動作のモニタリングを行い、前記シミュレーション実行段階は、プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートするとともに実行時に扱うデータは実システム用入力データによって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出することを特徴とする実システムメモリ使用量概算方法が得られる。
また、本発明によれば、モデリング言語によってモデルを作成するモデリング手段と、作成したモデルをシミュレーションするシミュレーション実行手段とを備え、コーディングせずにメモリの使用量の概算を算出し、さらに、前記モデルだけではシミュレーションできない処理を最小処理単位に分割してメモリの使用量の情報を収集し保存するメモリ使用量情報収集格納手段を備えていることを特徴とする実システムメモリ使用量概算装置が得られる。
また、本発明によれば、前記実システムメモリ使用量概算装置において、前記シミュレーション実行手段は、前記メモリの使用量の情報を参照しながら、前記モデルのシミュレーション処理を行うとともに、シミュレーション処理における時系列順に並んだシステムの処理であるアクティビティ毎に使用されるメモリ使用量を記録することを特徴とする実システムメモリ使用量概算装置が得られる。
また、本発明によれば、前記実システムメモリ使用量概算装置において、モデリングツールと、運用環境とを備え、前記運用環境は、シミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するモニタリング手段を備え、前記モデリングツールは、システムの分析及び設計工程でモデリング言語を利用してシステムの分析モデル及び設計モデルを作成するプラットフォーム非依存モデル作成手段と、作成されたプラットフォーム非依存モデル、言語情報を含むプラットフォーム情報、及びマッピング情報を利用して、プラットフォーム特化モデルを作成するプラットフォーム特化モデル作成手段と、前記プラットフォーム特化モデルから前記言語情報を基に対象となる言語で記述されたソースコードを作成するソースコード作成手段と、前記プラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレートとして抽出する基本テンプレート抽出手段と、
モニタリングして得られたモニタリング結果とモニタリング環境の環境情報が記述されているマッピング情報を合わせた動作情報を格納するための動作情報保存手段と、前記シミュレーション実行手段とを備え、前記モデリング手段は、前記プラットフォーム非依存モデル作成手段、前記プラットフォーム特化モデル作成手段、及び前記ソースコード作成手段を備え、前記メモリ使用量情報収集格納手段は、前記基本テンプレート抽出手段、前記モニタリング手段、及び前記動作情報保存手段を備え、前記シミュレーション実行手段は、前記プラットフォーム特化モデルを、前記動作情報を基に擬似的に実行することを特徴とする実システムメモリ使用量概算装置が得られる。
また、本発明によれば、前記実システムメモリ使用量概算装置において、前記モニタリング手段は、予め作成したテストを実施しやすい前記運用環境に合わせたマッピングファイルを利用して、前記プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成し、ソースコード、実行ファイルを生成し、動作確認用の入力データを利用して、動作のモニタリングを行い、前記シミュレーション実行手段は、プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートするとともに実行時に扱うデータは実システム用入力データによって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出することを特徴とする実システムメモリ使用量概算装置が得られる。
また、本発明によれば、コンピュータを、モデリング言語によってモデルを作成するモデリング手段と、作成したモデルをシミュレーションするシミュレーション実行手段としてコーディングせずにメモリの使用量の概算を算出するように機能させるとともに、さらに、コンピュータを、前記モデルだけではシミュレーションできない処理を最小処理単位に分割してメモリの使用量の情報を収集し保存するメモリ使用量情報収集格納手段として機能させることを特徴とする実システムメモリ使用量概算プログラムが得られる。
また、本発明によれば、前記実システムメモリ使用量概算プログラムにおいて、前記シミュレーション実行手段は、前記メモリの使用量の情報を参照しながら、前記モデルのシミュレーション処理を行うとともに、シミュレーション処理における時系列順に並んだシステムの処理であるアクティビティ毎に使用されるメモリ使用量を記録するように機能することを特徴とする実システムメモリ使用量概算プログラムが得られる。
また、本発明によれば、前記実システムメモリ使用量概算プログラムにおいて、コンピュータにさらに、モデリングツールと、運用環境として機能させ、前記運用環境は、シミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するモニタリング手段として機能させ、前記モデリングツールは、システムの分析及び設計工程でモデリング言語を利用してシステムの分析モデル及び設計モデルを作成するプラットフォーム非依存モデル作成手段と、作成されたプラットフォーム非依存モデル、言語情報を含むプラットフォーム情報、及びマッピング情報を利用して、プラットフォーム特化モデルを作成するプラットフォーム特化モデル作成手段と、前記プラットフォーム特化モデルから前記言語情報を基に対象となる言語で記述されたソースコードを作成するソースコード作成手段と、前記プラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレートとして抽出する基本テンプレート抽出手段と、モニタリングして得られたモニタリング結果とモニタリング環境の環境情報が記述されているマッピング情報を合わせた動作情報を格納するための動作情報保存手段と、前記シミュレーション実行手段として機能させ、前記モデリング手段は、前記プラットフォーム非依存モデル作成手段、前記プラットフォーム特化モデル作成手段、及び前記ソースコード作成手段として機能し、前記メモリ使用量情報収集格納手段は、前記基本テンプレート抽出手段、前記モニタリング手段、及び前記動作情報保存手段として機能し、前記シミュレーション実行手段は、前記プラットフォーム特化モデルを、前記動作情報を基に擬似的に実行するように機能することを特徴とする実システムメモリ使用量概算プログラムが得られる。
また、本発明によれば、前記実システムメモリ使用量概算プログラムにおいて、前記モニタリング手段は、予め作成したテストを実施しやすい前記運用環境に合わせたマッピングファイルを利用して、前記プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成し、ソースコード、実行ファイルを生成し、動作確認用の入力データを利用して、動作のモニタリングを行羽陽に機能し、前記シミュレーション実行手段は、プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートするとともに実行時に扱うデータは実システム用入力データによって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出するように機能することを特徴とする実システムメモリ使用量概算プログラムが得られる。
本発明によれば、シミュレーションを実施し、メモリ使用量を算出することによって、実システム環境を構築する前にメモリ使用量が算出できる実システムメモリ使用量概算方法、装置およびプログラムを提供することができる。
また、本発明によれば、設計・分析の段階でモデリング言語を利用し、システムのメモリ使用量を算出することができ、コーディングを実施する必要のないために、モデリング言語を使い、コーディングせずにシステムのメモリ使用の最適化ができるモデリング言語を利用した実システムメモリ使用量概算方法、装置およびプログラムを提供することができる。
本発明の実施の形態によるシステムの全体図である。 本発明の実施の形態によるシステムのシミュレーション実行手段の流れに着目した図である。 本発明の実施の形態によるシステムの動作情報取得手段の流れに着目した図である。 本発明の実施の形態によるシステムの利用するデータの例を示す図である。 (a)及び(b)は本発明の実施の形態によるシステムの動作を示すフローチャート図である。 本発明の実施の形態によるシステムのシミュレーション実施時の詳細情報を示す図で、(a)は動的情報、(b)は静的情報、(c)はシミュレーション結果及びメモリ使用量情報をそれぞれ示している。 (a),(b)及び(c)は本発明の実施の形態によるシステムのシミュレーション実行時の動作を示すフローチャートを示す図である。 (a),(b),(c),(d),(e),(f)はUMLの場合のシミュレーションの流れを示す図で,(a)は動的情報のシーケンス図,(b)は静的情報のクラス図、(c)はマッピング情報を示す図、(d)は実システム用入力データを示す図、(e)シミュレーション結果、(f)メモリ使用量情報を示す図である。
以下、本発明の実施の形態によるシステムの構成について図面を参照して説明する。
図1は本発明の実施の形態によるシステムの全体図である。図2は本発明の実施の形態によるシステムのシミュレーション実行手段の流れに着目した図である。
図3は本発明の実施の形態によるシステムの動作情報取得手段の流れに着目した図である。図4は本発明の実施の形態によるシステムの利用するデータの例を示す図である。
図1を参照すると、本発明は、コンピュータ等の情報処理装置に用いられるプログラムを有するシステムを開発する際に、モデリング言語を利用して分析及び設計工程で作成したモデル図111と、実システム構築時のミドルウェア、実装言語、OSといったプラットフォーム情報113を利用することで、設計工程でシステムのメモリ使用量を概算し、最適な構成を設計するための支援を行うものである。
さらに、図1を参照して、本発明を更に具体的に説明する。
本発明の実施の形態による実システムメモリ使用量概算システムは、モデリンググツール100と、運用環境200とを備えて構成されている。
図1のシステムは利用する機能によって大きく図2又は図3に分割して記述することができる。
モデリングツール100は、プラットフォーム非依存モデル(PIM)作成手段101と、プラットフォーム特化モデル(PSM)作成手段102と、ソースコード作成手段103と、シミュレーション実行手段104と、基本テンプレート抽出手段106と、モニタリング手段105と、動作情報保存手段107とを含む。
これらの各手段はそれぞれ概略つぎのように動作する。
プラットフォーム非依存モデル作成手段101は、システムの分析、設計工程でモデリング言語を利用してシステムの分析モデル図、設計モデル図を作成するための手段である。プラットフォーム非依存モデル110で描かれるモデル図は、標準化されたモデリング言語を用いて記述する。この工程のモデル図では実行環境や言語に依存した情報は含まれず、対象となるドメイン内で分析されたモデルが記述される。作成されるモデル図には、静的な情報(プログラムの構成やデータ構造の情報)を含むものと動的な情報(時系列に動作するフロー図やアルゴリズム)を含むものの少なくともどちらか一方が存在する。本発明で述べる機能を利用するためには動的な情報が記述された図が必要となる。
プラットフォーム特化モデル作成手段102は、作成されたプラットフォーム非依存モデル、プラットフォーム情報113(言語情報、環境情報等)、マッピング情報114を利用して、プラットフォーム特化モデル111を作成する手段である。プラットフォーム特化モデルでは、言語情報を利用してプログラミング言語に特化した情報をモデル図の中に反映する。また、環境情報を利用することでOSや使用するDB、実行時に利用するアプリケーションサーバ等のミドルウェア情報を取り入れる。その他にも実行時に利用するフレームワークの情報を利用することで汎用的に記述された処理をフレームワークに特化した形へと落とし込むことが可能になる。
図4を参照すると、本発明の実施の形態によるシステムの利用するデータの例は、プラットフォーム情報(環境依存情報(APサーバ1)、環境依存情報(DB2、言語情報4)マッピング情報3等が示されている。
ソースコード作成手段103は、プラットフォーム特化モデルから言語情報4を基に対象となる言語で記述されたソースコード112を作成する手段である。プラットフォーム特化モデルを利用し、静的な情報からデータ構造部分を、動的な情報からロジック部分のソースコードを自動生成する。
シミュレーション実行手段104はプラットフォーム特化モデルを擬似的に実行するための手段である。プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートする。実行時に扱うデータは実システム用入力データ125によって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出する。
基本テンプレート抽出手段106はプラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレート116として抽出するための手段である。ここで述べるプラットフォーム特化モデルの情報だけではシミュレーションできない処理とは、モデルから処理を呼び出しているにも関わらず、その処理の詳細情報がモデル図には記述されてない場合の処理であり、主に開発対象外のライブラリ機能がそれにあたる。測定対象指定情報119に抽出された処理単位が記録される。
プラットフォーム非依存モデル基本テンプレートはモニタリング手段105、動作情報保存手段107を通して、メモリの使用量の情報が収集される。
プラットフォーム非依存モデル基本テンプレートはツール内部で蓄積され、同じ処理が重複しないように管理される。
モニタリング手段105はシミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するための手段である。予め作成したテストを実施しやすい運用環境200に合わせたマッピングファイル117を利用して、プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレート118を作成する。その後、ソースコード120、実行ファイル121を生成し、動作確認用の入力データ122を利用して、動作のモニタリングを行う。
動作情報保存手段107はモニタリングして得られたモニタリング結果123とモニタリング環境の環境情報が記述されているマッピング情報117を合わせて格納するための手段である。
シミュレーション結果情報の値を正確にするために、複数のマッピング情報を利用して得られた動作情報の値を利用した統計値を算出することもできる。
次に、図5のフローチャートを参照して本発明の実施の形態によるシステムの動作について詳細に説明する。図5(a)及び図5(b)は本発明の実施の形態によるシステムの動作を示すフローチャート図である。
図5(a)を参照しながら、まず、要件に従ってプラットフォーム非依存モデルの作成を行う(ステップSA1)。プラットフォーム非依存モデルは実装言語や動作環境に依存しない状態のモデル図である。プラットフォーム非依存モデルの作成を実現する手段としてはBPEL(Business Process Execution Language)設計支援ツールやUML(Unified Modeling Language)作成支援ツールやなどの一般的なモデリング支援ツールを利用することができる。
次に、マッピング情報が作成されているか否か判断される(ステップSA2)。
設定されていない場合には、設定する(ステップSA3)。次に、プラットホーム情報が設定されているか否かが判断される(ステップSA4)。設定されていない場合には、設定する(ステップSA5)。
設定情報が設定されていない場合は、プラットフォーム特化モデルを作成する前にユーザは構築するシステムのプラットフォーム依存情報(言語情報、実行環境情報)を設定する。
設定されたプラットフォーム依存情報を基にプラットフォーム特化モデルを自動生成する(ステップSA6)。さらに、ソースファイル(ソースコード)の自動再生成を行う(ステップSA7)。これらの処理は、MDA(Model−Driven Architecture)を実現するためのツールで実現可能である。同時にプラットフォーム)非依存モデル基本テンプレートと測定対象指定情報の抽出を行う(ステップSA8)。
次に、シミュレーションを行う前に、動作情報が設定されているか否か判断される(ステップSA9)。動作情報が設定されていない場合は、動作情報を設定するか否か判断される(ステップSA10)。動作情報を自分で行う場合には、動作情報の設定を行う(SA11)。なお、大まかな数値が設定できる場合は手動で設定する。
設定できない場合は,動作情報を取得する(ステップSA12)。
即ち、図5(b)に示すように、自動で算出する場合は動作させる環境を用意し、その環境に合わせたマッピング情報を記述する。作成されたマッピングファイルを基にプラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成する(ステップSB1)。さらに、プラットフォーム特化モデル基本テンプレートと測定対象指定情報を利用して、ソースコードを生成する(ステップSB2)。このソースコードは測定対象指定情報を基に通常のプラットフォーム特化モデル基本テンプレートに記述された処理に加えて、モニタリングに必要な処理が追記されている。ソースファイルを基に実行ファイルを生成後(ステップSB3)、運用環境で実行し、入力データを設定して(ステップSB4)、モニタリングを行う(ステップSB5)。モニタリングされた結果はモニタリング結果として出力される。出力されたモニタリング結果、およびマッピング情報を利用し、動作情報を設定し、保存する(ステップSB6)。
図5(a)に戻って、シミュレーションを実施する前に実システム用入力データを設定する(ステップSA13)。動作情報、実システム用入力データを基にシミュレーションを行う(ステップSA14)。
図6は本発明の実施の形態によるシステムのシミュレーション実施時の詳細情報を示す図、図7は本発明の実施の形態によるシステムのシミュレーション実行時の動作を示すフローチャートを示す図である。
図6を参照すると、図6(a)は、動的情報、図6(b)は静的情報、図6(c)はシミュレーション結果及びメモリ使用量情報をそれぞれ示している。
図7(a),(b),(c)を参照すると、シミュレーション時に利用するモデル図は処理を時系列に表現したものであり、開始から終了までが1つのツリー構造で表現することができる。
ここで、本発明では、モデルに記述されているシステムの動作をアクティビティと呼び、時系列順に並んだアクティビティでは先に実行されるものを親アクティビティ、後に実行されるものを子アクティビティと呼ぶ。言語によっては、時系列に呼ばれるのではなく、並列に実行されるアクティビティは兄弟アクティビティと呼ぶこととする。
また、シミュレーションはツリー構造のデータを順次探索することでメモリ使用量が計算されるが、子アクティビティと兄弟アクティビティの解析の優先度はそれぞれのアクティビティの依存関係に基づいて決定される。子アクティビティが全ての兄弟アクティビティが実行されることを期待する場合、兄弟アクティビティが優先しなければならない。
図7(a)を参照すると、シミュレーションが開始されると、PSMの動的情報が読み込まれ(ステップSA71)、アクティビティが設定され(ステップSA72)、アクティビティ処理の実行がなされる(ステップSA73)。
図7(c)を参照すると、アクティビティ処理の実行が開始されると、開始点からアクティビティが読み込まれ(ステップSC1)、実行される。具体的には、アクティビティ実行時には、メモリ使用量を記録するための領域が確保され(ステップSC2)、処理が実行できるか否か判断され(ステップSC3)、処理が可能な場合には、アクティビティを実行し(ステップSC4)、外部データが必要か否か判断される。ここで、外部データが必要な場合は、入力データを読み込み(ステップSC6)、メモリ使用量情報を記録する(ステップSC6)。必要でない場合には、直接メモリ使用量情報を記録する(ステップSC6)。次に変数が作成されるか否か判断される(ステップSC8)。
変数が作成される場合には、変数作成処理の実行がなされる(ステップSC9)。
アクティビティ内で変数が作成されると生成される変数や使用している変数の構造を静的情報から調べ、言語情報とマッピングすることで使用されるメモリ量を計算する。
具体的に、図7(b)に示すように、変数作成処理の実行が開始されると、性的情報から変数のデータ構造を読み込み(ステップSB71)、言語情報から使用バイト数を読み込み(ステップSB72)、メモリ使用量情報を記録する(ステップSB73)。アクティビティ毎に使用されるメモリ使用量が記録される。
また、ライブラリ呼び出し等のシミュレーションができないアクティビティが実行された場合には、即ち、ステップSC3に「No」の場合には、動作情報を利用して(動作情報を読み込み(ステップSC4′)、メモリ使用量情報を記録する(ステップSC5′)。このようにそれぞれの情報を利用することでシステム実行時のメモリ使用量を算出する。
例として図8のようなUMLの場合のシミュレーションの流れを示す。
図8(a)で示すように、システムはまず、図8(c)で示すマッピング情報を利用し、プラットフォーム情報とのマッピングを行う。
[1]まず、システムはPSMを利用し、action( )アクティビティを実行する。このとき、外部からの入力が必要とされているため、図8(d)に示す実システム用入力データ情報を読み込み、該当する値を設定する。
action( )アクティビティが実行されるとシステムはメモリ使用量の情報を記録するための記憶領域を確保する。action( )アクティビティは引数でStringとintを利用しているため、図8(c)に示す言語情報から使用するメモリ使用量を取得し、図8(f)に示すメモリ使用量情報に記録する。
次に、action( )アクティビティ内では、B[ ]が宣言されているので、図8(c)で示す言語情報から使用するメモリ使用量を取得する。
同様に、図8(a)のループ時のiの宣言やオブジェクトB生成時のパラメータ等のメモリ利用時に図8(c)で示す言語情報から情報を取得し、図8(f)に示すメモリ使用量情報のテーブルに書きこんでいく。
[2]オブジェクトBを生成する際には、図8(b)に示す静的情報を利用し、必要なメモリ量を計算する。各アクティビティ[3]、[4]のシミュレーションが終わると、スコープ内でのメモリ使用量を合計し、図8(e)に示すシミュレーション結果に記録する。
図7(c)に戻って、スコープ内の全メモリ使用量を算出し(ステップSC10)、子アクティビティ(以下、単に子と呼ぶ)か兄弟アクティビティ(以下、単に兄弟と呼ぶ)があるか否かが判断される(ステップSC11)、子及び兄弟がいない場合には、終了する。一方、子か兄弟がいる場合には、再び、子か兄弟がいるかいなか、判断される(ステップSC12)。子か兄弟がいない場合には、アクティビティを設定し(ステップSC14)、アクティビティ処理の実行(ステップSC15)がなされ、ステップS11に戻る。ステップSC12において、子か兄弟がいる場合には、子と兄弟の優先度を決定した後(ステップSC13)に、ステップSC14を行う。
以上説明した、本発明の発明の形態においては、シミュレーションを実施し、メモリ使用量を算出するために、実システム環境を構築する前にメモリ使用量を算出することができる。
また、本発明の発明の形態においては、設計・分析の段階でモデリング言語を利用し、システムのメモリ使用量を算出することができ、コーディングを実施する必要のないために、モデリング言語を使い、コーディングせずにシステムのメモリ使用を最適化することができる。
以上説明したように、本発明に係る実システムメモリ使用量概算方法、装置、及びプログラムによれば、モデリング言語でモデリングを行えるシステム開発のメモリ使用量算出に適用できる。
具体的には、Java(登録商標)やC#言語等を利用したオブジェクト指向開発でのUMLを利用した分析、設計や、WS−BPELやBPMNといったビジネスプロセスモデリング言語を利用した分析、設計に適用される。
1 環境依存情報(APサーバ)
2 環境依存情報(データベース)
3 マッピング情報
4 言語情報
100 モデリンググツール
101 プラットフォーム非依存モデル(PIM)作成手段
102 プラットフォーム特化モデル(PSM)作成手段
103 ソースコード作成手段
104 シミュレーション実行手段
105 モニタリング手段
106 基本テンプレート抽出手段
107 動作情報保存手段
111 プラットフォーム特化モデル(モデル図)
112 ソースコード
113 プラットフォーム情報
114 マッピング情報
116 プラットフォーム非依存モデル基本テンプレート
117 マッピングファイル(情報)
118 プラットフォーム特化モデル基本テンプレート
119 測定対象指定情報
120 ソースコード
121 実行ファイル
122 入力データ
123 モニタリング結果
125 実システム用入力データ
200 運用環境

Claims (12)

  1. モデリング言語によってモデルを作成するモデリング段階と、作成したモデルをシミュレーションするシミュレーション実行段階とを備え、コーディングせずにメモリの使用量の概算を算出し、さらに、前記モデルだけではシミュレーションできない処理を最小処理単位に分割してメモリの使用量の情報を収集し保存するメモリ使用量情報収集格納段階を備えていることを特徴とする実システムメモリ使用量概算方法。
  2. 請求項1に記載の実システムメモリ使用量概算方法において、前記シミュレーション実行段階は、前記メモリの使用量の情報を参照しながら、前記モデルのシミュレーション処理を行うとともに、シミュレーション処理における時系列順に並んだシステムの処理であるアクティビティ毎に使用されるメモリ使用量を記録する実システムメモリ使用量概算方法。
  3. 請求項2に記載の実システムメモリ使用量概算方法において、モデリング過程と、運用環境過程とを備え、
    前記運用環境過程は、シミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するモニタリング段階を含み、
    前記モデリング過程は、
    システムの分析及び設計工程でモデリング言語を利用してシステムの分析モデル及び設計モデルを作成するプラットフォーム非依存モデル作成段階と、
    作成されたプラットフォーム非依存モデル、言語情報を含むプラットフォーム情報、及びマッピング情報を利用して、プラットフォーム特化モデルを作成するプラットフォーム特化モデル作成段階と、
    前記プラットフォーム特化モデルから前記言語情報を基に対象となる言語で記述されたソースコードを作成するソースコード作成段階と、
    前記プラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレートとして抽出する基本テンプレート抽出段階と、
    モニタリングして得られたモニタリング結果とモニタリング環境の環境情報が記述されているマッピング情報を合わせた動作情報を格納するための動作情報保存段階と、
    前記シミュレーション実行段階とを含み、
    前記モデリング段階は、前記プラットフォーム非依存モデル作成段階、前記プラットフォーム特化モデル作成段階、及び前記ソースコード作成段階を含み、
    前記メモリ使用量情報収集格納段階は、前記基本テンプレート抽出段階、前記モニタリング段階、及び前記動作情報保存段階を備え、
    前記シミュレーション実行段階は、前記プラットフォーム特化モデルを、前記動作情報を基に擬似的に実行することを特徴とする実システムメモリ使用量概算方法。
  4. 請求項3に記載の実システムメモリ使用量概算方法において、前記モニタリング段階は、予め作成したテストを実施しやすい前記運用環境に合わせたマッピングファイルを利用して、前記プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成し、ソースコード、実行ファイルを生成し、動作確認用の入力データを利用して、動作のモニタリングを行い、
    前記シミュレーション実行段階は、プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートするとともに実行時に扱うデータは実システム用入力データによって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出することを特徴とする実システムメモリ使用量概算方法。
  5. モデリング言語によってモデルを作成するモデリング手段と、作成したモデルをシミュレーションするシミュレーション実行手段とを備え、コーディングせずにメモリの使用量の概算を算出し、さらに、前記モデルだけではシミュレーションできない処理を最小処理単位に分割してメモリの使用量の情報を収集し保存するメモリ使用量情報収集格納手段を備えていることを特徴とする実システムメモリ使用量概算装置。
  6. 請求項5に記載の実システムメモリ使用量概算装置において、前記シミュレーション実行手段は、前記メモリの使用量の情報を参照しながら、前記モデルのシミュレーション処理を行うとともに、シミュレーション処理における時系列順に並んだシステムの処理であるアクティビティ毎に使用されるメモリ使用量を記録することを特徴とする実システムメモリ使用量概算装置。
  7. 請求項6に記載の実システムメモリ使用量概算装置において、モデリングツールと、運用環境とを備え、
    前記運用環境は、シミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するモニタリング手段を備え、
    前記モデリングツールは、
    システムの分析及び設計工程でモデリング言語を利用してシステムの分析モデル及び設計モデルを作成するプラットフォーム非依存モデル作成手段と、
    作成されたプラットフォーム非依存モデル、言語情報を含むプラットフォーム情報、及びマッピング情報を利用して、プラットフォーム特化モデルを作成するプラットフォーム特化モデル作成手段と、
    前記プラットフォーム特化モデルから前記言語情報を基に対象となる言語で記述されたソースコードを作成するソースコード作成手段と、
    前記プラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレートとして抽出する基本テンプレート抽出手段と、
    モニタリングして得られたモニタリング結果とモニタリング環境の環境情報が記述されているマッピング情報を合わせた動作情報を格納するための動作情報保存手段と、
    前記シミュレーション実行手段とを備え、
    前記モデリング手段は、前記プラットフォーム非依存モデル作成手段、前記プラットフォーム特化モデル作成手段、及び前記ソースコード作成手段を備え、
    前記メモリ使用量情報収集格納手段は、前記基本テンプレート抽出手段、前記モニタリング手段、及び前記動作情報保存手段を備え、
    前記シミュレーション実行手段は、前記プラットフォーム特化モデルを、前記動作情報を基に擬似的に実行することを特徴とする実システムメモリ使用量概算装置。
  8. 請求項7に記載の実システムメモリ使用量概算装置において、前記モニタリング手段は、予め作成したテストを実施しやすい前記運用環境に合わせたマッピングファイルを利用して、前記プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成し、ソースコード、実行ファイルを生成し、動作確認用の入力データを利用して、動作のモニタリングを行い、前記シミュレーション実行手段は、プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートするとともに実行時に扱うデータは実システム用入力データによって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出することを特徴とする実システムメモリ使用量概算装置。
  9. コンピュータを、モデリング言語によってモデルを作成するモデリング手段と、作成したモデルをシミュレーションするシミュレーション実行手段としてコーディングせずにメモリの使用量の概算を算出するように機能させるとともに、さらに、コンピュータを、前記モデルだけではシミュレーションできない処理を最小処理単位に分割してメモリの使用量の情報を収集し保存するメモリ使用量情報収集格納手段として機能させることを特徴とする実システムメモリ使用量概算プログラム。
  10. 請求項9に記載の実システムメモリ使用量概算プログラムにおいて、前記シミュレーション実行手段は、前記メモリの使用量の情報を参照しながら、前記モデルのシミュレーション処理を行うとともに、シミュレーション処理における時系列順に並んだシステムの処理であるアクティビティ毎に使用されるメモリ使用量を記録するように機能することを特徴とする実システムメモリ使用量概算プログラム。
  11. 請求項10に記載の実システムメモリ使用量概算プログラムにおいて、コンピュータにさらに、モデリングツールと、運用環境として機能させ、
    前記運用環境は、シミュレーションできない処理を運用環境で動作させて、メモリ使用量を取得するモニタリング手段として機能させ、
    前記モデリングツールは、システムの分析及び設計工程でモデリング言語を利用してシステムの分析モデル及び設計モデルを作成するプラットフォーム非依存モデル作成手段と、作成されたプラットフォーム非依存モデル、言語情報を含むプラットフォーム情報、及びマッピング情報を利用して、プラットフォーム特化モデルを作成するプラットフォーム特化モデル作成手段と、前記プラットフォーム特化モデルから前記言語情報を基に対象となる言語で記述されたソースコードを作成するソースコード作成手段と、前記プラットフォーム特化モデルの情報だけではシミュレーションできない処理を最小処理単位に分割し、プラットフォーム非依存モデル基本テンプレートとして抽出する基本テンプレート抽出手段と、モニタリングして得られたモニタリング結果とモニタリング環境の環境情報が記述されているマッピング情報を合わせた動作情報を格納するための動作情報保存手段と、前記シミュレーション実行手段として機能させ、
    前記モデリング手段は、前記プラットフォーム非依存モデル作成手段、前記プラットフォーム特化モデル作成手段、及び前記ソースコード作成手段として機能し、
    前記メモリ使用量情報収集格納手段は、前記基本テンプレート抽出手段、前記モニタリング手段、及び前記動作情報保存手段として機能し、
    前記シミュレーション実行手段は、前記プラットフォーム特化モデルを、前記動作情報を基に擬似的に実行するように機能することを特徴とする実システムメモリ使用量概算プログラム。
  12. 請求項11に記載の実システムメモリ使用量概算プログラムにおいて、前記モニタリング手段は、予め作成したテストを実施しやすい前記運用環境に合わせたマッピングファイルを利用して、前記プラットフォーム非依存モデル基本テンプレートからプラットフォーム特化モデル基本テンプレートを作成し、ソースコード、実行ファイルを生成し、動作確認用の入力データを利用して、動作のモニタリングを行羽陽に機能し、前記シミュレーション実行手段は、プラットフォーム特化モデルに含まれる動的な情報を利用し、プログラムの動作をシミュレートするとともに実行時に扱うデータは実システム用入力データによって設定され、これを基に動作を決定して実運用時に利用するメモリ使用量を算出するように機能することを特徴とする実システムメモリ使用量概算プログラム。
JP2009045234A 2009-02-27 2009-02-27 実システムメモリ使用量概算方法及び装置 Expired - Fee Related JP5327451B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009045234A JP5327451B2 (ja) 2009-02-27 2009-02-27 実システムメモリ使用量概算方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009045234A JP5327451B2 (ja) 2009-02-27 2009-02-27 実システムメモリ使用量概算方法及び装置

Publications (2)

Publication Number Publication Date
JP2010198529A JP2010198529A (ja) 2010-09-09
JP5327451B2 true JP5327451B2 (ja) 2013-10-30

Family

ID=42823163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009045234A Expired - Fee Related JP5327451B2 (ja) 2009-02-27 2009-02-27 実システムメモリ使用量概算方法及び装置

Country Status (1)

Country Link
JP (1) JP5327451B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017002222A1 (ja) * 2015-07-01 2017-01-05 株式会社日立製作所 システムデプロイ装置およびシステムデプロイ方法
EP4055512A4 (en) * 2019-11-06 2023-11-22 Onscale, Inc. METHODS AND SYSTEMS FOR COST ESTIMATION IN SIMULATION CALCULATIONS

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078243A (ja) * 2003-08-29 2005-03-24 Denso Corp マイコンリソース消費見積もりプログラム、マイコンリソース消費見積もり装置、およびプログラム生成方法
JP4100630B2 (ja) * 2004-05-14 2008-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Uml設計方法
JP4660381B2 (ja) * 2006-01-11 2011-03-30 株式会社東芝 計算機システムの性能評価装置、性能評価方法、及び性能評価プログラム

Also Published As

Publication number Publication date
JP2010198529A (ja) 2010-09-09

Similar Documents

Publication Publication Date Title
JP5197688B2 (ja) 統合環境生成器
Albin The art of software architecture: design methods and techniques
US9141350B2 (en) Embedded system performance
Siegmund et al. SPL Conqueror: Toward optimization of non-functional properties in software product lines
Becker et al. Model-based performance prediction with the palladio component model
Leblebici et al. Developing eMoflon with eMoflon
US20120260230A1 (en) Early analysis of software design diagrams
CN112882751B (zh) Cuda程序移植方法、装置、电子设备及存储介质
US20210096830A1 (en) Incremental code generation method
JP2014241021A (ja) ソフトウェア評価装置および方法
JP4978233B2 (ja) シミュレータ開発システム及びシミュレータ開発方法
Siegmund et al. Measuring non-functional properties in software product line for product derivation
JP5327451B2 (ja) 実システムメモリ使用量概算方法及び装置
Jahr et al. A pattern-supported parallelization approach
US8046202B1 (en) Generation of intermediate representations based on user specified elements in a graphical model that enable simulation, propagation and code generation
Bergenthum et al. Synthesis of Petri nets from scenarios with VipTool
Ogunyomi et al. Property access traces for source incremental model-to-text transformation
Colantoni et al. Towards blended modeling and simulation of DevOps processes: the Keptn case study
Adak et al. Model‐based code generation for HLA federates
Fahringer et al. Teuta: Tool support for performance modeling of distributed and parallel applications
JP2005222221A (ja) 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
US20230342115A1 (en) Method for generating source code
Hugues et al. Using MDE for the rapid prototyping of space critical systems
Chidisiuc et al. CD++ Builder: an eclipse-based IDE for DEVS modeling.
Wysocki et al. Model of RUP processes maturity assessment in IT organizations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130709

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees