JP2004272909A - システムの設計時検証 - Google Patents
システムの設計時検証 Download PDFInfo
- Publication number
- JP2004272909A JP2004272909A JP2004063227A JP2004063227A JP2004272909A JP 2004272909 A JP2004272909 A JP 2004272909A JP 2004063227 A JP2004063227 A JP 2004063227A JP 2004063227 A JP2004063227 A JP 2004063227A JP 2004272909 A JP2004272909 A JP 2004272909A
- Authority
- JP
- Japan
- Prior art keywords
- instance
- definition
- constraint
- relationship
- constraints
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 52
- 238000013461 design Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims description 111
- 230000008569 process Effects 0.000 claims description 96
- 238000004891 communication Methods 0.000 claims description 55
- 230000003993 interaction Effects 0.000 claims description 22
- 230000000977 initiatory effect Effects 0.000 claims 3
- 238000012938 design process Methods 0.000 abstract description 11
- 238000011156 evaluation Methods 0.000 description 47
- 238000011161 development Methods 0.000 description 36
- 230000009471 action Effects 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 23
- 238000012546 transfer Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 17
- 238000010200 validation analysis Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000008676 import Effects 0.000 description 13
- 238000005266 casting Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 8
- 238000012508 change request Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012854 evaluation process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000027455 binding Effects 0.000 description 2
- 238000009739 binding Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】 システムの設計時検証のある態様によれば、設計中のシステムの記述および環境の記述が受け取られる。システムを設計中、およびシステムを配置するよう試みる前に、環境に対してシステムを検証するために、受け取った記述の両方が使用される。
【選択図】 図4
Description
本明細書に記載のシステムの設計時検証はこれらおよび他の問題を解決する。
システムの設計時検証のある態様によれば、設計中のシステムの記述および環境の記述が受け取られる。受け取られた両方の記述は、システムを設計中、およびシステムの配置を試みる前に、環境に対してシステムを検証するために使用される。
以下の開示は、システムの設計時検証のためのアーキテクチャに関するいくつかの態様を説明している。この開示は、サービス定義モデル(SDM)とも称することのできるシステム定義モデル(SDM)に関する検討も含む。SDMは、アプリケーション立案者が抽象的な方法で分散型コンピュータアプリケーションおよびデータセンタを設計するためのツールおよびコンテキストを提供する。モデルは、最終的に物理的コンピュータ資源およびソフトウェアによって実施されるアプリケーションの機能単位を表す一組の要素を定義する。そのモデル要素に関連付けられているのは、構成要素によって表される機能動作をどのように指定するかを示すスキーマである。
上述のように、図2のインターフェース/処理層210は、LIM文書206に記述されている環境をシミュレートする。これによって、SDM文書204によって記載されたシステムをシステム設計中に予測された環境に対して検証することができ、環境に対してシステムを配置する前にエラーを特定することが可能になる。
拡張エンジン220は幅広いコマンドを検証コンポーネント208に入力することを可能とし、それらのコマンドの影響を受ける適切なオブジェクトおよび関係を特定するためにそれらのコマンドを拡張する。通常、これら多様なコマンドは、特定のオブジェクトまたは関係を作成または削除するためのコマンドである(例えば、ウェブアプリケーションを作成するためのコマンド、またはウェブアプリケーションを削除するためのコマンド)。拡張エンジン220は、バイバリューの子および関係を含めて要求されるすべての追加インスタンスおよび関係を追加し、または適切なインスタンスおよび関係を除去するために、SDMファイル204に基づくインスタンス空間を作成するためにそのアクションの組を拡張する。
拡張エンジン220が拡張プロセスを完了した後、シミュレータ218は拡張プロセスから生じたインスタンス空間に対してフローエンジン222を呼び出す。フローエンジン222は、インスタンス空間のインスタンスグラフ上を「ウォーク」し、インスタンスグラフで定義されたフローインスタンスを見つける。次いでフローエンジン222はフローの値を適切な値に設定する。
シミュレータ218は、SDM文書204によって定義されたシステムに対して制約条件を評価するために制約条件エンジン224を呼び出す。制約条件エンジン224によって実行される評価は、(環境がSDM文書204によって述べられた制約条件を満たすことを検証するために)環境に対してSDM文書204で定義された制約条件を評価し、かつ/または(SDM文書204で定義されたシステムが環境によって述べられた制約条件を満たすことを検証するために)SDM文書204(例えば、LIM文書206で)で定義されたシステムに対して環境によって定義された制約条件を評価する。
本節では、図2の評価構成要素208によってエラーおよび警告を報告することのできる方法の一実施態様を説明する。エラーおよび警告は、本節で検討するXML形式例のような様々なフォーマットのどれであってもよい。検証コンポーネント208がCLR(Common Language Runtime(共通言語ランタイム))を通して使用される場合、本節で検討するXMLフォーマットと等価の情報を有するクラスを戻すことができる。
基礎エラーフォーマットは、すべてのエラーに共通のエラー情報を含んでいる。基礎エラーフォーマットに対するXMLフォーマット例を以下に示す。
構文解析エラーは、SDM文書のロードを試みる際の障害に起因する。このエラーはラインおよびコラム番号を含む。構文エラーのXMLフォーマット例を以下に示す。
解決エラーは、ファイルの型をロードし、解決する際の障害に起因する。このクラスのエラーは、インポートを解決する障害と、型、メンバ、および経路を解決する障害を含んでいる。この段階で完全に構文解析されたオブジェクトモデルがあるので、ファイルからのラインおよびコラム番号でなくオブジェクトモデルに関してエラーを発生させる部分に対して参照を行うことができる。解決エラーフォーマットに対するXMLフォーマットの一例を以下に示す。
フローが実行され、その入力または出力の1つまたは複数に対してエラーを戻す際にフローエラーが発生する。フローメンバは、現行の入力および出力値の組を含めてその型と、障害が発生したコンテキストのままで、宛先設定メンバと共に特定される。フローエラーフォーマットに対するXMLフォーマット例を以下に示す。
設定制約条件が評価されてエラーを戻す場合、またはガードがそのカーディナリティ制約条件に失敗した場合、または1つの制約条件グループの少なくとも1つのメンバが真と評価することに失敗した場合、制約条件エラーが発生する。
これは、SDM文書内の特定のSDM要素への経路である。文書経路フォーマットに対するXMLフォーマット例を以下に示す。
関係および制約条件に対するよく知られた設定がメンバとして取り扱われる。
包含経路は、ルートから特定メンバへの一連のメンバを特定する。この経路は、メンバをルートシミュレーション構成要素からそれらのメンバなどを介して、エラーを起こしたメンバに達するまでナビゲートする。文書経路フォーマットに対するXMLフォーマット例を以下に示す。
コンパイラは、ユーザに表示されるコンパイルからエラーおよび警告を戻す。SDM文書のコンパイル中に捉えたエラーは、様々なレベルの重大さを有し得る。大部分のエラーは致命的だが、他のエラーの原因となる可能性があるかまたは無視しても安全であるものが一部にはある。レベルのそれぞれに対する重大さに関する詳細な例を以下に示す。
・出力sdmファイル(.sdmDocument)はコンパイルから作成することはできない。
・エラーは、コンパイラにコンパイルの現在の段階を完了させ、中止させる。例えば、XML構文解析エラーが発生した場合、文書はロードされない。ロードエラーが発生した場合、さらに多くのロードエラーが発見され得るが、フローおよび制約条件チェックを続けない。
・コンパイルの将来の段階でエラーを生じる可能性がある。例えば、レファレンスファイルが見つからない場合、そのレファレンスからいかなる型が使用されていたとしてもターゲットSDMファイルのロード中にエラーは発生しない。
・インスタンス空間シミュレーション中のエラー。
・警告2は無視しても安全である。
・SDMをクリーンアップするために固定することが推奨される。
・警告3は情報を提供する。
・ディフォルトにより、これらの警告は報告されない。
SDMの実施例を以下に示す。このSDM実施例は、「定義」の節(節1)、「アーキテクチャ概要」の節(節2)、および「実施態様詳細」の節(節3)を含む。この実施例では様々な具体的な値および要件が記載されており、すべての実施態様がそれらすべての具体的な値および要件に限定されるわけではないということが理解されよう。
システム定義モデル(SDM)は、本発明者らが「モデル化されたシステム」と称する接続されたシステムの構成およびこのシステムの要素間の相互作用の記述をサポートする。
モデル化されたシステムの論理的態様と物理的態様の両方を表すために、オブジェクトが使用される。例えば、これらはIIS内のファイル、ディレクトリ、および構成を表すために使用することができる。これらは、アプリケーションまたは分散型システム境界を表すためにも使用することができる。
資源は、システムモデルを作成するために組み合わせることができる動作の基本的単位を表す。システムモデルに構造を追加するために他の資源を1つにグループ化するよう資源を使用することができる。各資源は、それのモデル化された動作を実行するために要求することのできる他の資源に対する従属関係を表すことができる。資源のインスタンスを作成するために、その資源に対してホスト環境が特定されなければならない。
システムは、洗練されたタスクを実行する資源の集合を表すため、または洗練されたタスクを実行するために相互作用するシステムの集合を表すために使用される。システム境界内の資源は、その境界外の資源に対する従属関係を表すことはできない。同時に、同じシステム境界内の他の資源と通信するためにそれらが使用する機構を文書化するために本発明者らは資源を要求しない。
システムが他のシステムとの通信をサポートするために公開するインターフェースを定義するためにエンドポイントが使用される。本発明者らは資源がシステム境界を横断する従属関係を有することを許可しないので、システムが正確に動作できるようにするために必要となる相互作用をモデル化するためにエンドポイントを使用する必要がある。
本発明者らは、オブジェクト間に発生する相互作用の態様を取り込むために関係を使用する。すべての関係はバイナリであり有向である。オブジェクト間の相互作用を取り込むのと同様に、関係は、関係に参加するオブジェクトに制約条件を課すことができ、また参加者間に構成情報をフローすることができる。
a)その存続期間
b)それと相互作用できる人物
c)システムの構造に表示される場所
d)それが通信する人物
e)その作業を行うために依存する人物
f)それが実行されるべき環境
g)それが正確に動作しているか否か、また使用可能か否か
a)他のオブジェクトが含むことのできるのはどのようなオブジェクトか
b)1つに接続できるのはどのエンドポイントか
c)特定のオブジェクトをホストすることができるのはどのような環境か
以下に示す関係のそれぞれは、上記態様の1つまたは複数の一部を取り込む。
SDMモデルの包含構造を定義するために包含関係が使用される。あるオブジェクトが別のオブジェクトを含むことができることを示すために包含関係の存在が使用される。設計者または立案者がシステム、資源、およびエンドポイントを関連付けることのできる方法について設計者および立案者に選択肢を公開する際に、この情報は設計環境をガイドするために設計時に使用される。
ホスティング関係は、モデル化中の環境の包含構造をモデル化するために使用される。これらの関係は、環境に対する機能上の制約を取り込む。例えば、複数のファイルが1つのディレクトリに含まれることを必要とするか、または複数のウェブディレクトリが1つのウェブサイトに含まれることを必要とする制約である。
通信関係は、接続されたシステムのサブシステム間で行われる通信をモデル化するために使用される。それらはエンドポイントオブジェクト間で表現されるので、それらはエンドポイントを公開するシステム間でしか確立することはできない。システムがそのシステムと同様にエンドポイントを公開するネストされたシステムを含んでいる場合、それらエンドポイントは外部システム上のプロキシエンドポイントを介して公開されるが、当該外部システム上のプロキシエンドポイントは内部システムのエンドポイントに対して委任されている。
レファレンス関係は、正確な動作を達成するために要求されるが、従属オブジェクトの実行環境の一部とは見なされない資源またはシステム間の従属関係を取り込むために使用される。
委任関係は、プロキシとの相互作用をプロキシによって公開された動作を実施するオブジェクトインスタンスに転送するために使用される。一般に使用される委任の例は、親システムのエンドポイントから含まれているシステムのエンドポイントに通信関係を転送している。
オブジェクトおよび関係定義は、その構成のインスタンスを作成するためにインスタンス生成することができる再利用可能な構成を作成するために使用される。この場合、これらインスタンスは定義によって特定された共通特性を共有する。
定義は、他の定義を参照するメンバを含むことができる。メンバは、ある定義がその特定のアプリケーションに対してカスタマイズされた方法で別の定義を再利用することを可能にする。
インスタンス空間は、モデル化されたシステムの現在の状態を反映する。作成されたインスタンスとこれらインスタンス間の関係との完全な記録を維持することもできる。各バージョンが変更要求にリンクされている場合、各インスタンスは関連付けられたバージョンヒストリを有する。
以下に示すUML図は、SDMモデル内のオブジェクト間の幅広い相互作用を取り込んでいる。分かりやすくするために、導出された型間に実際の相互作用が存在し、したがってこれらがさらに特化される場合、これら相互作用の一部は基準型間に定義されている。
SDMモデルの目標は、アプリケーションの開発者とソフトウェアインフラストラクチャの設計者とデータセンタの立案者との間の関係の分離を可能にすることである。これらグループのそれぞれは、特定のサービスに焦点を合わせており、異なる一組の従属関係を有している。
・アプリケーション層は、制約されたコンテキストでアプリケーションの構築をサポートする。コンテキストはホスト層で特定されたホストの構成によって定義される。
・アプリケーション層のシステム定義の例としては、ウェブサービス、データベース、およびbiztalkスケジュールが含まれる。
・ソフトウェア構成要素からデータセンタを構築する。構成要素間の接続を構成する。これら構成要素の一部はアプリケーション層に対してホストとして働く。
・この層のシステム定義の例は、IIS、SQL、AD、EXCHANGE、DNS、およびBiztalkである。
・データセンタネットワークおよびプラットフォームを構築する。ネットワークセキュリティモデルおよびオペレーティングシステムプラットフォーム構成を構成する。ストレージをオペレーティングシステム構成に追加する。
・この層のシステム定義の例は、VLAN、Windows(登録商標)、Filter、Storageである。
ハードウェア層は、データセンタに存在するマシンの種類とそれらマシン間に存在する物理接続とを特定する。
3.1 名前付け
SDMには、本発明者らがオブジェクトを特定するために強力な名前付けシステムを必要とするいくつかの場所がある。以下に示す名前付けシステムは、文書の定義のユーザが、開発者が元々発行した文書の定義とそれらが同じであることを確証できる方法で、SDM文書の作成者が文書に署名することを可能にする。
FileSystem:File
SDM名は、それらが定義されているネーム空間によってスコープとされる。ネーム空間は名前、バージョン、言語、および公開鍵トークンによって特定され、単一ファイル内に含まれる。
ファイルバージョンは、0<=N<65535として、形式N.N.N.N.の4つの部分番号によって定義される。慣例により、この番号はMajor.Minor.Build.Revisionを意味する。バージョン番号は、文書に含まれるすべての定義のバージョンを特定する。これは、文書内のすべての定義が共に更新される際に文書がバージョニングの単位となることを意味している。
単純名は英数字から構成され、句読法が限定されている。この名前は非数字文字から始まる。
SDM定義のメンバに対する名前を作成する際にユーザが使用することを本発明者らが防止する予約名のリストを以下に示す。あるコンテキスト内である名前が予約される。コンパイラは、それらの名前のユーザを検出し、エラーをそのユーザに戻す。
本発明者らは、他のネーム空間を現在のネーム空間にインポートし、次いでそのネーム空間に別名を関連付けることによって、ネーム空間が他のネーム空間を参照することを可能にする。インポートされたネーム空間は名前、バージョン、および公開鍵トークンによって参照される。
修飾名は、現在のネーム空間または別名の付いたネーム空間で定義された定義またはマネージャを意味する名前である。名前が別名または「ドット分離記号」を含まない場合、その名前は修飾されておらず、スコープ規則に基づいて解決されるべきである。修飾されていない経路は、それらが評価されるコンテキストに基づいて異なる定義に解決することができる。これは、ネストされた定義がさらに広いスコープに定義を隠すことができるからである。節3.1.7を参照されたい。
定義の名前は、それらが定義されているコンテキストによってスコープとされる。最も広いスコープは当該文書である。定義がネストされている場合、その名前はその定義によってスコープとされる。これは、それが名前を親スコープに隠すことができるということを意味している。これはまた、それが定義されているスコープ外からの定義に対するレファレンスがその親スコープの名前によって修飾されるべきであるということをも意味している。完全に修飾された名前は、文書のルートからネストされた定義までのすべての名前を含む。
メンバ経路は、横断される定義のメンバに対応する一連の名前である。経路は、経路が宣言されるコンテキストで定義されるメンバ名から始められるべきである。
インスタンス空間内の経路は、xpathの要素名がメンバ名に対応しており、xpathの属性が設定に対応しているxpathに基づいている。
文書の内容を検証し、その文書に強力な名前を関連付けるための機構を提供するためにコンパイルされたSMD文書はキーを使用して署名される。署名機構は、文書に署名するためにDSIG標準(http://www.w3.org/2000/09/xmldsig#)を使用する。
本節では、本発明者らは、本発明者らがネーム空間レファレンスを特定のネーム空間と照合するために使用することのできるプロセスを説明する。節3.3.1で定義したように、ネーム空間の識別は次に示す5つの属性から構成される。
・単純名
・公開鍵トークン
・バージョン
・言語
・プラットフォーム
これらの属性は、要求されたネーム空間(ネーム空間レファレンス)を特定するためにネーム空間の消費者によって、またネーム空間に周知の識別(ネーム空間定義)を提供するためにネーム空間の開発者によって使用される。それら属性のそれぞれの解釈は、それらがネーム空間レファレンスの一部であるかネーム空間定義の一部であるかによって異なる場合がある。
開発者が新しいネーム空間を作成し、発行することを希望する場合、その開発者は、
・ネーム空間に単純名を提供し、
・ネーム空間にバージョンを提供する
開発者は任意選択で、
・暗合化キーでネーム空間に署名し、
・ネーム空間に対して特有カルチャ(ディフォルトではニュートラルなカルチャ)を特定し、
・ネーム空間に対して特有プラットフォーム(ディフォルトではニュートラルなプラットフォーム)を特定する
ネーム空間が署名されていない場合、公開鍵トークンはなく、ネーム空間は弱い名前を有することになる。ネーム空間に遅延署名することができる。これによって、開発者はコンパイルプロセスから署名プロセスを分離することができる。コンパイル済みではあるが署名されていない遅延署名されたネーム空間は、コンパイル中に参照することはできるが、ランタイムで使用することはできない。
消費者がSDMファイルのネーム空間を参照(インポート)する場合、消費者は、
・参照されるネーム空間の名前を提供する。
消費者は、任意選択で次のような追加情報を提供する。
・参照されるネーム空間の公開鍵トークン
・参照されるネーム空間の最低バージョン
・参照されるネーム空間のカルチャまたはワイルドカード(*)
・参照されるネーム空間のプラットフォームまたはワイルドカード(*)
提供されていないすべての属性は、ディフォルトではその属性に対するいかなる値とも一致することになるワイルドカードである。
ネーム空間レファレンスをネーム空間定義と照合するために以下に示すアルゴリズムが使用される。このアルゴリズムは、ネーム空間をコンパイルする際と、コンパイルされたネーム空間の間でレファレンスを解決する際のどちらでも使用される。
1.レファレンス内の名前と一致する名前を有するすべてのネーム空間を見つける。
2.レファレンスが公開鍵トークンを提供する場合、提供された公開鍵トークンとも一致するネーム空間だけを選択する。
3.特有の言語がレファレンスによって選択されている場合、その言語と一致しないすべてのネーム空間を除去する。その言語属性がワイルドカードに設定されているかまたは提供されていない場合、すべてのネーム空間を維持する。
4.特有のプラットフォームが提供されている場合、そのプラットフォームと一致しないすべてのネーム空間を除去する。プラットフォームの属性がワイルドカードに設定されているかまたは提供されていない場合、すべてのネーム空間を維持する。
5.次いで、当該一組の実現可能なネーム空間から特定のネーム空間を選択するためにバージョニングポリシーを使用する。
次節以降では、これらのステップをさらに詳細に定義する。
名前の一致は正確なストリングの一致である。名前は大文字小文字を区別する。
トークンは正確な一致である。
言語の照合には次に示す3つのシナリオがある。
2.レファレンス=特定言語、定義=*
3.レファレンス=特定言語、定義=特定言語
第1と第2の場合に関して、定義はレファレンスに対する一致である。第3の場合、言語が正確な一致ならば、定義はレファレンスに対する一致にすぎない。
プラットフォームの照合には次に示す3つのシナリオがある。
1.レファレンス=*、定義=特定プラットフォーム
2.レファレンス=特定プラットフォーム、定義=*
3.レファレンス=特定プラットフォーム、定義=特定プラットフォーム
第1と第2の場合に関して、定義はレファレンスに対する一致である。第3の場合、プラットフォームが正確な一致ならば、定義はレファレンスに対する一致にすぎない。
バージョンの一致は、コンパイラまたはランタイムが使用中のバージョニングポリシーに依存する。
すべての定義は、XMLスキーマ内で設定宣言と呼ばれる設定メンバを公開することができる。定義に関連付けられた構成値を記述するためにこれらのメンバが使用される。SettingValueステートメントを使用して値が提供される。これらは次のものによって使用することができる。
a)設定に対するディフォルト値を定義するために設定メンバを宣言する定義。
b)基礎定義に対するディフォルト値または固定値を提供するために別の定義を拡張する定義によって、
c)定義を参照するメンバによって、定義を参照するメンバで中止するメンバ経路を介して、
d)関係に沿ったフローを介して、
設定を定義するには、まずxsdを使用して設定の定義を定義する必要がある。
本発明者らは、設定メンバによって使用される設定定義を定義するためにXSDスキーマを使用する。本発明者らはスキーマからの単純型と複合型の使用しかサポートしない。ただし、これらの型の定義をサポートするために他のスキーマ要素が存在する場合もある。
a)SDMネーム空間−本発明者らがシステム内の設定型、資源、エンドポイント、関係、制約条件、またはフロー型に言及する場合。
b)clrネーム空間−本発明者らがclr内の強力な型のクラスを使用した設定に言及し、かつ設定型が他の設定型上に構築されている場合。
c)XSDネーム空間−設定型が他の設定型を使用して構築される場合。
a)すべての設定は、clr、SDM、およびxsdネーム空間のそれぞれの中の同じグループ化でなければならない。すなわち、2つの設定が1つのネーム空間になる場合、これらをすべての3つのネーム空間に統合しなければならない。
b)xsdスキーマ定義内のインポートされたネーム空間は、SDMファイル内のインポートされたネーム空間および関連付けられたヘルパアセンブリ内のインポートされたネーム空間と一致しなければならない。
c)xsdネーム空間を例外として、xsdスキーマ内のすべてのインポートされたネーム空間をSDMファイル内で定義しなければならない。
SDMは、XSDおよびC#ネーム空間の共通部分である一組の限定された組み込みデータ型をサポートする。これらの型はSDMランタイムによって本質的にサポートされており、次に示す表に定義される。これらの型に加えて、ユーザはxsdとcls型の間に当該ユーザ独自のマッピングを自由に構築し、使用する。
図15は、組み込みデータ型階層の一例を示している。図15で、すべての複合型は拡張または制約によって導出される。NMTOKENS、IDREFS、およびENTITIESの型はリストによって導出される。図15に示す、すべての他の型は制約によって導出される。
xsd型とcls型の間に存在する変換である。
命名された設定を作成するために設定宣言のセクションは前セクションからの設定定義を使用する。xsdスキーマ内の設定定義は、設定を含む文書に対する別名(設定定義が現在の文書にない場合は要求されない)と、次いでその設定の名前とを含む修飾された名前を使用して参照される。設定定義を参照する際、本発明者らはxsdネーム空間を使用しない。
複数値設定の操作をサポートするために、本発明者らは設定値の単純なリストをサポートする。リストは、設定宣言と同じ定義の一連の値である。リストは、それらを置き換えられることができるかまたはそれらに添付することができる他のリストにフローすることができる。値をリストに添付することは設定フローを使用してより柔軟に行うことができ、また本発明者らはいかなる形式の順番も保証しないので、値をリストに添付する場合、本発明者らは複製検出をサポートしない。
特定設定の動作を記述するためにランタイムによって設定属性が使用される。
設定が単一値として宣言されているかリストとして宣言されているかによって、設定に対する値を設定値要素または設定値リスト要素を使用して提供することができる。
特定の設定宣言に対する値を提供するために設定値ステートメントが使用される。この値は、設定宣言に関連付けられた定義にキャスト可能であるかまたは変換されなければならない宣言に関連付けられた定義と一致しなければならない。この値が固定と宣言された場合、その値が固定されているポイントに応じて、提供された値がすべての導出された定義または参照するメンバで使用される。値は一度固定されると、上書きすることはできない。
リストとして宣言された設定に対する1つまたは複数の値を提供するために設定値リストが使用される。値を宣言する際、ユーザは以前の値とマージするかまたはすべての以前の値を上書きするかを決定することができる。
設定の継承は、導出された定義が基礎定義からのすべての設定宣言を暗黙的に含んでいることを意味している。設定の継承のいくつかの重要な態様は次の通りである。
インスタンス空間の設定インスタンスは設定メンバに対する実際の値を保持する。まず、設定インスタンスに対する値は定義空間の設定値ステートメントによって割り当てられる。次いで設定フローが評価され、フローのターゲットである設定インスタンスの値が更新される。
設定値をフローに渡し、または制約条件から得るために、本発明者らは値の転送を使用する。メンバに関連付けられた定義が評価される前に入力転送が評価され、メンバに関連付けられた定義が評価された後で出力転送が評価される。
入力ステートメントは、フローまたは制約条件が実行される前に転送されることになる入力値を示す。入力は、「割り当てられた」設定値または「結果として得られた」設定値が入力として使用されるか否かを選択するためにValueSource要素を使用することができる(「割り当てられた/結果として得られた」の定義については節XXを参照のこと)。
出力は、ターゲット値を固定し、置き換えるための意味論をサポートする値の転送の一種である。
本発明者らは、設定定義継承ツリーのキャスティングアップおよびキャスティングダウンをサポートする。ソース定義が宛先定義から導出される場合、ソースから宛先定義へのキャストをアップキャストと呼ぶ。宛先定義がソース定義から導出される場合、ソースから宛先へのキャストをダウンキャストと呼ぶ。ツリーのルートは常にAny定義なので、すべての定義をAny定義にアップキャストすることができる。
図16で、ExtendedUser定義のインスタンスがUserまたはAnyの定義を要求する設定宣言に割り当てられ際にアップキャストが発生する。アップキャストの一例は、設定宣言Firstから設定宣言Secondへの値の転送である。これはフロー入力宣言の一部として行うことができる。
図16で、Anyとマーク付けされた設定宣言からの設定値をUserとマーク付けされた設定宣言にユーザが転送する際にダウンキャストが発生する。この場合、インスタンスに関連付けられた定義がUserかまたはExtendedUserの場合にのみ割り当てを行うことができる。これは、設定インスタンスが、現在関連付けられている設定宣言と異なる定義を有することができることを示している。本発明者らは、それ自体のインスタンスを中心としたインスタンスの実際の定義にレファレンスを渡すことによってインスタンス空間内でこれを追跡する。
ユーザが設定インスタンスを、インスタンスと異なる定義を有する設定宣言に転送することを希望し、設定宣言定義がインスタンスの定義の基礎定義でない場合、型変換が要求される。
SDMモデルでは、すべての設定定義は対応するCLR型を有する。これらの型は、SDMモデルのSettingDefinitions要素に関連付けられたマネージャによって定義される。
設定定義からclr型にマップするために、本発明者らはマネージャ宣言、設定定義ネーム空間、および設定定義名を使用する。SettingDefinitions要素のManager属性によって示されたマネージャ宣言から、本発明者らは強力な名前と型を含んでいるアセンブリに対する位置を得ることができ、SettingDefinitions要素のClrNamespace属性から、本発明者らは型を含んでいるネーム空間の名前を得ることができる。最後に、本発明者らは、アセンブリからclr型を取り出すためにネーム空間の名前に設定定義の名前を添付することができる。
設定インスタンスをXMLのSDM表現からClrオブジェクトインスタンスに変換し、また戻すために、本発明者らはここでもまたSettingDefinitions要素に関連付けられたマネージャを使用する。この場合、翻訳を実施するClrクラスは、ClrClassName属性とマネージャ属性によって示されたマネージャ宣言からのアセンブリ情報との組合せによって特性される。
SDM内のオブジェクトの多くは、オブジェクトの中心的な動作に直交する捕獲動作をその属性とすることができる。本発明者らは以下に定義する一般的な属性モデルを使用する。
資源およびシステムの再利用可能な構成を作成するために定義が使用される。これらはオブジェクト指向言語のクラスに類似している。
定義は、そこからオブジェクト定義、関係定義、制約条件定義、およびフロー定義が導出される基礎である。すべての定義は、説明、設定メンバ、設定値、および設計表面データを含むことができる。各定義は単純名によって特定され、マネージャへを参照する。マネージャは、定義によって特定されたクラスによってこの特定の定義に対するSDMランタイムにサポートを提供することを担当している。
抽象オブジェクト定義は、一組の設定宣言を公開する。抽象オブジェクト定義は、それが参加し、ランタイム内の関連するマネージャを有する関係に対する制約条件を含むことができる。
抽象オブジェクトおよび具体的オブジェクトは、次に示す基礎オブジェクト定義を拡張する。基準型のDefinitionの要素に加えて、これらはオブジェクトが参加する関係を制約する機能を共有する。
他のオブジェクト定義を拡張しないすべてのオブジェクト定義は、エンドポイント、システム、または資源の基礎定義のうちの1つを暗黙的に拡張する。これらの基礎定義は、関係および制約条件宣言内で使用することのできるツリーのそれぞれに対するルートを形成する。これによって、関係または制約条件は、ルートから導出された型のどれでも特定されたルート定義の代わりに使用可能なことを示すことができる。これらルート型は、常に抽象であり、これらを直接的にインスタンス生成することはできない。
エンドポイント定義は、ネストされた資源型、資源メンバおよびホスト、包含およびレファレンス関係メンバを宣言する機能を追加することによって基礎オブジェクト定義を拡張する。
システム型は、ネストされたエンドポイント、システムおよび資源型、エンドポイント、システム、および資源メンバ、およびホスト、包含、接続、委任およびレファレンス関係に関してサポートを追加することにより基準型を拡張する。
資源型は、ネストされた資源型定義、資源メンバ、およびホスト、包含、およびレファレンス関係メンバを含むことができる。
オブジェクト定義の特定のインスタンスに関して、インスタンスが果たすことのできるロールのそれぞれに関連付けられたカーディナリティを次の表に示す。
各インスタンスは1つの包含関係および少なくとも1つのホスティング関係に参加すべきである。
A)非レファレンス(バイバリュー)メンバは同じ定義内の包含関係を示すべきである。
B)構築されるには、レファレンスメンバは包含関係を特定すべきである。
型間の実現可能な相互作用を示すために関係が使用される。これらはバイナリであり有向である。これらは、それぞれが関係に参加することのできるインスタンスの型を示している。関係は、関係に参加するインスタンスの設定も制約することができ、関係を横断して設定値をフローすることができる。
基礎関係定義は、オブジェクト制約条件およびフローを定義に追加する。オブジェクト制約条件は、この関係のインスタンスに参加するオブジェクトインスタンスに対する設定値に関するステートメントである。例えば、DCOM接続を表す通信関係は、クライアントとサーバに対するセキュリティ設定に整合性があることをチェックすることができる。この場合、設計プロセスの一部として容易に取り込むことのできる設定間に厳密な関係があり、当該関係には4つの階乗設定の組合せがあるが、有効な組合せはさらに少数である。
エンドポイント定義間の実現可能な通信リンクを取り込むために通信関係が使用される。独立して配置されたソフトウェア要素間の相互作用を記述するためにこれらが使用される。通信関係スキーマは、クライアントおよびサーバのエンドポイントレファレンスを追加することによって基礎関係スキーマを拡張する。
構築されるためにゲストがホストを要求しているという事実を取り込むためにホスティング関係が使用される。ゲストに対して複数の実現可能なホストがあり得る場合があるので、ホスティング関係はホストでのゲストの構築を担当することも示している。したがってオブジェクトのインスタンスを作成するために、ホスティング関係はゲストから整合性のあるホストに対して存在すべきである。
2つの抽象オブジェクトの間の包含関係は、parentTypeに基づく具体的な型はmemberTypeに基づくメンバを含むことができるという事実を取り込む。包含は、親インスタンスがメンバインスタンスの存続期間を制御することができ、メンバインスタンスに動作を委任できることを示している。
外部システムから含まれるシステムに動作を転送するために委任が使用される。本発明者らがこれを行う方法は、外部システムのエンドポイントを内部システムのエンドポイントに委任する方法である。これは外部システムに方向付けられていたすべての相互作用を内部システムのエンドポイントに効果的に転送する。委任は繋げることができ、これによって内部システムはその動作を別のシステムにさらに委任することができる。
本発明者らは、ホスティング関係従属関係に加えてインスタンスの間の強力な従属関係を取り込むためにレファレンス関係を使用する。配置中に構築の順番を制御するために、またインストールおよび更新中にシステム間でパラメータをフローするためにこれらの従属関係が使用される。レファレンス関係は強力な従属関係を示すので、本発明者らはレファレンス関係がシステムの境界を越えられるようにすることはできない。これは、あるシステム内の資源が別のシステム内の資源に対して従属関係を有することができないということを意味している。これでシステムは最早、配置の独立した単位ではなくなる。システム間に従属関係が存在する場合、本発明者らは通信関係を使用する。通信関係は、システムの再インストールを要求せずに経時的に変更することができる。
すべての抽象関係は、基礎関係定義のうちの1つを暗黙的に拡張する。これらの定義は、関係ツリーのそれぞれに対するルートを形成する。図18は、関係ツリーの一例を示している。これを行うことによって、本発明者らは、制約定義内からのルート定義を参照することができ、また本発明者らはそのルート型から共通型制約条件を継承することができる。
3.5.1 メンバ
ランタイムに存在することのできる特定の定義のインスタンスを示すためにメンバが使用される。すべてのメンバは、当該メンバを含んでいる定義のスコープ内の当該一組のメンバ内で一意の名前によって示される。メンバは、それが参照する定義に対する設定を提供することができる。これは、設計表面特有データを含むこともできる。
オブジェクトメンバは、抽象または具体的なオブジェクト定義を参照すべきである。これらはインスタンスのアレイを表すことができる。この場合、これらはそのアレイに対する上限と下限を定義することができる。これらがレファレンスメンバである場合、オブジェクトをインスタンス生成しているユーザは、そのメンバに対するインスタンスを明示的に構築すべきである。これらがレファレンスメンバでない場合、ランタイムは外部オブジェクトが作成されるのと同時にインスタンスを作成する。
1.オペレータがシステムを構築する際、本発明者らはisReferenceメンバを構築する機能しか公開しない。これはオペレータの作業を大幅に簡素化する。
2.SDM文書を処理する際、本発明者らは、文書のインスタンス空間を具体的定義空間のそれと区別することのできる明白な境界を有する。
関係メンバは、オブジェクトメンバが作成される際にそのオブジェクトメンバ間に存在することになる関係を示す。関係インスタンスは、オペレータによって明示的に作成されるかまたはランタイムによって暗黙的に作成される。前者の例はインスタンス間のホスティング関係であり、後者はシステム間の通信関係である。
2つのオブジェクトメンバ間のホスティング関係を宣言するためにホストメンバが使用される。オブジェクトメンバは、含んでいる定義の直接のメンバであっても、定義とメンバーシップ関係を有するネストされたメンバであってもよい。参照されるメンバと含んでいる定義の間のメンバーシップチェーンがあるべきである。
定義の隣接するシステムメンバのエンドポイントメンバ間の通信関係を宣言するために通信メンバが使用される。
型メンバが型によって含まれることを宣言するために包含メンバが使用される。各型メンバは含まれていても、委任されていてもよい。包含メンバは、関係のこのポインタになるべき包含関係の親の値を自動的に設定する。
外部型のエンドポイント定義メンバと外部型の隣接するシステムメンバのエンドポイント定義メンバとの間の委任関係を設定するために委任メンバが使用される。
外部定義の2つの隣接するメンバまたはネストされたメンバの間のレファレンス関係を設定するためにレファレンスメンバが使用される。
オブジェクト定義のメンバ間、および関係の参加者間でパラメータを渡すために設定フローが使用される。フローの一部として、ユーザは、設定値を結合または分離し、新しい設定値を計算するために変形を使用することができる。
本発明者らが一組の設定値に適用することを望む特定変形を定義するために本発明者らはフロー定義を使用する。フロー定義は、入力設定(書き込み専用設定)と出力設定(読み取り専用設定)、変形を定義するための入力インターフェースのような設計表面特有情報のためのDesignDataセクション、およびSDMファイルをブラウジングする際に使用するための説明を定義する設定スキーマを公開する。フロー定義は、それが定義されているネーム空間内の名前によって示される。この定義は、それがフローを評価する際にランタイムをサポートするマネージャも示す。
各フローメンバは、1つまたは複数の入力設定、1つまたは複数の宛先設定を示す。各フローメンバは固定された設定値を提供することができる。各フローメンバはフロー定義を示すべきである。フローが評価される際、ソースデータが入力から収集され、固定設定値と結合され、変形のためにフロー定義に渡される。定義からの出力は、フローメンバに列挙される出力に従って宛先設定に渡される。
定義のメンバの設定値または関係の参加者に対する制約を示すために制約条件が使用される。これらの制約は、設計時と開発時の両方でインスタンス空間内で評価される。
制約条件定義は、一組の入力値に対して機能する制約条件を定義する。制約条件は、カスタム動作を選択するか、またはその動作を定義するためにパラメータを使用する簡素な制約条件エンジンをサポートするために、パラメータ化することができる。本発明者らは、抽象オブジェクト間の周知の関係をサポートするために簡素なパラメータ値制約条件と一組の複雑な制約条件のために一組の標準制約条件定義が書かれるだろうと推測する。
制約条件メンバは、特定の制約条件定義に関して一組の入力値を示す。メンバは、設定に関して静的な値を示すことができ、また制約条件設定を経路に結合するために入力ステートメントを使用することができる。
本発明者らは、特定の関係で使用される際に具体的な空間のトポロジを定義し、オブジェクトの設定を制約するためにオブジェクトおよび関係制約条件を使用する。
制約条件モデルには、ガードと述部という2つの部分がある。本発明者らは、述部を実行するコンテキストを定義するためにガードを使用する。例えば、関係内で、本発明者らは、述部を実行することを本発明者らが希望する型の特定の組合せを示すためにガードを使用する。オブジェクト内で、本発明者らは、他のオブジェクトに対して一組の関係を示すためにガードを使用する。
1.
すべての構造的制約条件は、StructuralConstraintと呼ばれる共通の基礎制約条件から導出される。各構造的制約条件は、記述要素と設計データの両方を含むことができる。要求された制約条件が失敗した場合に記述要素はエラーメッセージとして戻される。各制約条件は、名前と、その制約条件が要求されているかまたはより大きな制約条件の一部を構成する単なるテストであるかを示すフラグとを有する。最後に、制約条件が何時評価されるべきかを示すために制約条件の評価要素を使用することができる。制約条件評価に関する更なる情報については節3.7.3.7を参照されたい。
オブジェクト制約条件は、関係のロールの一方または両方に対する制約条件を記述する。この制約条件は、制約条件が失敗した場合にその制約条件の特定を支援するために名前を有する。オブジェクトは、ネストされた関係制約条件、または関係に参加しているインスタンスとロールが一致する場合に評価されることになる制約条件メンバを含むことができる。
a)主要なロールと主要な定義をオブジェクトインスタンスと照合し、提供されているならば副次的なロールと副次的な定義をオブジェクトインスタンスと照合する。一致しない場合、一致=0と設定してc)に進む。
b)主要オブジェクトインスタンスのコンテキストのすべてのネストされた制約条件を評価する。これらすべてが真と評価する場合は、一致=1と設定し、そうでない場合は、一致=0と設定する。
c)一致>MinOccurs、かつ一致<MaxOccursの場合は、結果=真と設定し、そうでない場合は、結果=偽と設定する。
d)Requiredが真であり、結果が偽である場合、メッセージをユーザに戻す。
e)結果を親コンテキストに戻す。
オブジェクト制約条件グループは、少なくとも1つの意味論を使用して複数組のオブジェクト制約条件を評価することができるようにその複数組のオブジェクト制約条件を1つにグループ化することを可能にする。グループの制約条件の少なくとも1つが真と評価しない限り、このグループは偽を戻す。制約条件グループは次のように評価される。
a)それぞれのネストされた制約条件を順次評価する。少なくとも1つが真と評価した場合は、結果=真と設定し、そうでない場合は、結果=偽と設定する。
b)結果=偽であり、かつRequired=真である場合、エラーを発生する。
c)結果を親コンテキストに戻す。
オブジェクトが参加することのできる関係を制約するために関係制約条件が使用される。関係制約条件は関係定義を示し、任意選択で関係の他端のインスタンスのオブジェクト定義と関係のカーディナリティとを示す。制約条件には、エラーメッセージで識別されることができるよう名前が与えられる。関係制約条件の本体は、この制約条件をさらに改良するネストされた制約条件を制約する。
a)一致=0と設定する。
b)オブジェクトインスタンスが参加する各関係インスタンスに対して、
a.関係定義を関係インスタンスの定義と照合し、関係の方向をターゲットのロールが示す方向と照合し、提供されているならばターゲットオブジェクト定義を関係の他端のインスタンスの定義と照合する。これらが一致しない場合、次の関係に進む。
b.関係インスタンスのコンテキストのすべてのネストされた制約条件を評価する。これらすべてが真と評価する場合、一致=一致+1と設定する。
c)一致>MinOccurs、かつ一致<MaxOccursの場合は、結果=真と設定し、そうでない場合は、結果=偽と設定する。
d)Requiredが真であり、結果が偽である場合、メッセージをユーザに戻す。
e)結果を親コンテキストに戻す。
関係制約条件グループは、少なくとも1つの意味論を使用して複数組の関係制約条件を述部として評価することができるようにその複数組の関係制約条件を1つにグループ化することを可能にする。制約条件グループは次のようにグループ化される。
d)それぞれのネストされた制約条件を順次評価する。少なくとも1つが真と評価した場合は、結果=真と設定し、そうでない場合は、結果=偽と設定する。
制約条件を評価することができる3つの別個の時点がある。すなわち、設計プロセス中、アプリケーション配置中、およびオペレータがアプリケーションの構成のチェックまたは更新を希望した任意の時点で一度アプリケーションが配置された時である。
a)設計−設計時、配置時、または検証中に実行することができることを示す。
b)配置−配置時または検証中に実行することができることを示す。
c)検証−検証中にのみ実行することができることを示す。または
d)なし−実行されないことを示す。
委任の目的は、モデルの開発者が、ホストまたは含まれた構成要素からゲストまたは親に特有の動作を提示できるようにすることである。これによって開発者は、既存の実施態様を再利用し、そのクライアントにより包括的な実施態様を提供する構成要素を設計することができる。図19は、ホストの実施態様をゲストに公開するために委任を使用する一例を示している。
次に示す原理は委任モデルの設計をガイドする。
・プロキシはターゲットシステムに存在しない。プロキシはモデルにとって便利なものであり、物理的表現を有しない。これが真でない場合、委任の使用はターゲットシステムに対して悪影響を有することになる。
・プロキシは、代表が変更をサポートしない限り代表の動作を変更することはできない。プロキシはターゲットシステムに存在しないので、プロキシはモデル化された現実でないシステム動作しか変更することはできない。代表がその動作に影響を与える設定を公開する場合、他の関係と同様に、委任関係もフローによってそれらの設定を変更することができる。
・外部ユーザの観点から、ユーザは、特定のインスタンスがプロキシかまたは現実の実施態様かを知る必要があるとされるべきではない。これが真でない場合、制約条件およびフローの著者は、複雑かつ脆弱なコードを生じるどちらの場合もカバーする必要がある。
・ユーザは、制約条件表現の一部としてプロキシを明示的に目標とすることができるべきである。これは、構成要素の境界を経て動作の公開を制御する制約条件を実施するために必要である。
システムの代表の使用に関連する問題を示す2つのシナリオを次に示す。
クライアントポートがサーバポートに接続できることを検証するために、通信関係は、サーバまでウォークし、次いでそのサーバのホストまでウォークし、その後、層3で通信関係に沿って戻り、さらに層4のクライアントまでホスティング関係を上がり、最後に通信関係に戻る制約条件を含んでいる。これを図21に示す。
データセンタで、システムを異なるセキュリティ要件または動作と区別するためにゾーンがしばしば使用される。通信関係がゾーン境界を横断する場合、ユーザはその関係の動作に対して制約条件を課そうとする場合がある。例えば、ユーザは、バックエンドサーバに対してあるポートを介してhttp通信を可能にすることだけを望む場合がある。これを行う場合、ユーザは、ゾーン境界を越える際に通信関係を示すことができるべきである。プロキシはユーザがこれを行うことのできる唯一の方法である。図23は、ゾーン境界の一例を示している。
代表に対する規則を図24に示すインスタンス空間例を使用して示す。
プロキシは、代表と同じかまたは代表の基礎クラスであるべきである。図24の例で、プロキシとして機能するbは、代表であるcと同じかまたはその基礎定義であるべきである。プロキシbはcの動作しか公開することはできないので、これが要求される。これらの型が異なってよい場合は、bの公開された動作はcの動作と異なってよいが、要求された動作を実施することができるbの物理的表現はない。
プロキシは次に示す関係のロールに参加することができる。
プロキシは、プロキシの定義の一部と定義された代表からメンバを公開するだけである。プロキシと代表の定義が同一の場合、代表のすべてのメンバはプロキシによって公開されることになる。プロキシ定義が代表の定義の基礎定義である場合、プロキシは両方の定義に共通のメンバを公開するだけである。
各オブジェクトインスタンスは一組の関係に参加する。これらの関係は、制約条件とフローの両方を評価するために使用され、またインスタンス生成のプロセスを制御するためにも使用される。プロキシと代表の両方は、プロキシと代表の両方の一貫したピクチャをユーザに提示するために1つに結合されるべき複数組の関係に参加する。
本発明者らは、透過的プロキシと不透明なプロキシという2つの型のプロキシを有する。開発者が代表の実施態様をプロキシのクライアントに公開することを望む場合は透過的プロキシが使用され、開発者が代表の実施態様をプロキシのクライアントから隠す場合は不透明なプロキシが使用される。
代表の実施態様をクライアントに公開するために透過的プロキシが使用される。ゾーンが純粋にモデル化を目的としたものであり、それらが含んでいるシステムを隠すべきでない場合、その典型例を図23に示す。この場合、zone2でSqlシステムと通信する開発者は、委任されたエンドポイントの実施態様がゾーンではなくSqlサーバであることを知っているべきである。
開発者がクライアントを中断せずにその実施態様を自由に変更するために、代表の実施態様を隠すよう不透明なプロキシが使用される。例えば図19で、IISシステムはファイルシステムの実施態様を隠すために不透明なプロキシを使用することができる。この結果、IISのゲストはファイルシステムを実施するオペレーティングシステムには依存しない。
プロキシを目標とするフローは、代表に自動的に宛先変更されるが、この場合、フローはターゲットが実際の実施態様ではなくプロキシであることに気付く必要はない。プロキシはメンバに対するすべての要求を代表に関連付けられたインスタンスに転送するので、そのフローの影響はプロキシによって代表に直接転送される。
制約条件は、委任を意識するようにも意識しないようにも書くことができる。制約条件が委任を意識する場合、プロキシが参加している関係のロールアップなしに各プロキシインスタンスに対してその制約条件が評価される。委任関係は制約条件に公開される。
マネージャは、型と関係がランタイム環境にカスタム動作を挿入する機構である。マネージャが管理する各型のためにマネージャがサポートすることのできるいくつかのロールがある。マネージャは型のインストールに参加することができ、型のCLR表現を提供することができ、型間の結合がどのように解決されるかに関してポリシー決定に関与することができ、複雑な制約条件とフローに実施態様を提供することができる。
オブジェクトマネージャは、それがサポートする各型に対する1つまたは複数のロールをサポートすることができる。これらのロールには、次のものが含まれる。
a)型または関係に対する制約条件の評価
b)型または関係に対するフローの評価
c)型に対する構築/破壊/更新サポート
d)型または関係に対する設定のオブジェクト表現の公開
e)型または関係に対する発見の実行
f)型または関係を中心とした設計表面特有UIのサポート
マネージャは他のマネージャに対する従属関係を有する場合があるが、その従属関係は、そのマネージャを使用するSDMファイルのインポートステートメントに反映されるべきである。この従属関係が記述されていない場合、特定のマネージャが依存する他のマネージャはランタイムによってロードされず、当該マネージャの実行は失敗する。
記述は、関連するSDM要素を記述するテキストを含んでいる。このテキストは、DocumentLanguage属性が示す文書の言語で書かれている。テキストの場所の特定をサポートするために、資源識別子を提供することができる。ランタイムは、その記述で特定されたマネージャか、またはそれが供給されていない場合は当該記述に関連付けられた、場所が特定されたテキストのための文書に対するディフォルトマネージャを要求する。
SDM文書は、一組の関係、オブジェクト、およびマネージャに対する強力な識別、バージョン付け、および場所特定情報を提供する。
SDM文書の情報の節は、SDM文書の識別と管理をサポートするために人間によって可読の情報を含んでいる。
図25は、本明細書に記載の技術を実施するために使用することのできる汎用コンピュータ環境800を示している。コンピュータ環境800は、コンピューティング環境の一例に過ぎず、コンピュータおよびネットワークアーキテクチャの用途または機能の範囲に関していかなる限定をも企図するものではない。またコンピュータ環境800は、コンピュータ環境例800に示すいかなる1つの構成要素または複数の構成要素の組合せに関するいかなる従属関係または要件をも有するものと解釈されるべきではない。
以上、本発明は、構造上の特性および/または方法上の動作特有の言い回しで説明したが、首記の特許請求の範囲で定義した本発明を、記載の特有の機能または動作に限定することは必要ないということを理解されたい。そうではなく、これら特有の機能および動作は、請求された発明を実施する形式例として開示されている。
106 ネットワーク
202 開発構成要素
204 SDM文書
206 LIM文書
208 検証構成要素
800 コンピュータ環境
802 コンピュータ
Claims (43)
- 設計中のシステムの記述を受け取るステップと、
環境の記述を受け取るステップと、
前記システムを設計中、および前記システムの配置を試みる前に、前記環境に対して前記システムを検証するために、前記受け取った記述の両方を使用するステップと
を含むことを特徴とする方法。 - 前記システムの前記記述がSDM文書を含むことを特徴とする請求項1に記載の方法。
- 前記環境の前記記述がLIM文書を含むことを特徴とする請求項1に記載の方法。
- 前記システムがソフトウェアアプリケーションを含み、前記環境がデータセンタを含むことを特徴とする請求項1に記載の方法。
- 前記環境が、前記システムが配置されることが予想される環境を含むことを特徴とする請求項1に記載の方法。
- 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
前記1つまたは複数のプロセッサで実行されているプログラムによって設計中のプロセスでシステムを記述するシステム記述にアクセスさせ、
シミュレーションされた環境に対して前記システム記述を使用して前記システムを検証させる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記複数の命令が、前記プロセッサにさらに、
前記システムを検証する要求をリクエスタから受け取らせ、
前記検証の結果を前記リクエスタに戻させることを特徴とする請求項6に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記シミュレーションされた環境に対して前記システムを検証させる前記命令が、前記1つまたは複数のプロセッサにさらに、
前記システム記述からトップレベルの定義を選択させ、
インスタンス空間に対して前記トップレベルの定義によって記述されているように、適切なインスタンスを生成させ、
前記トップレベルの定義内にネストされている追加の定義を選択させ、
前記選択された定義がオブジェクトを定義するか関係を定義するかに基づいて前記インスタンス空間に対して、前記追加の定義によって記述されているように、適切なインスタンスを生成させ、
前記トップレベルの定義内にネストされている前記定義のすべてに対するインスタンスが前記インスタンス空間に対して生成されるまで、前記追加の定義によって記述されているように、追加の定義の前記選択と適切なインスタンスの前記生成とを続行させることを特徴とする請求項6に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記シミュレーションされた環境に対して前記システムを検証させる前記命令が、前記1つまたは複数のプロセッサにさらに、
前記システムを記述するインスタンス空間の1つまたは複数のフローを特定させ、
前記1つまたは複数のフローの少なくとも1つのそれぞれに対して、
前記フローに対して前記インスタンス空間の他のインスタンスから取得した1つまたは複数の入力値を特定させ、
少なくとも一部には前記入力値に基づいて前記フローに対する出力値を生成させることを特徴とする請求項6に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記シミュレーションされた環境に対して前記システムを検証させる前記命令が、前記1つまたは複数のプロセッサにさらに、
前記システムを記述するインスタンス空間の1つまたは複数の制約条件を特定させ、
前記1つまたは複数の制約条件が満たされているか否かをチェックさせ、
前記1つまたは複数の制約条件のそれぞれに対して、前記制約条件が満たされているか否かを示す値を戻させることを特徴とする請求項6に記載の1つまたは複数のコンピュータ可読媒体。 - 1つまたは複数の文書がロードされるときに設計中のシステムを記述する1つまたは複数の文書をロードするよう構成されたローダと、
データセンタの環境をシミュレーションし、前記環境に対して前記システムを検証するよう構成されたシミュレータと
を含み、
前記データセンタから分離されていることを特徴とする装置。 - トップレベルの定義内にネストされたメンバをインスタンス生成することによってインスタンス空間をポピュレートするために、前記1つまたは複数の文書の1つから前記トップレベルの定義を特定し、前記トップレベルの定義を拡張する拡張エンジンをさらに含むことを特徴とする請求項11に記載の装置。
- 前記インスタンス空間のフローを特定し、前記フローへの入力値を特定し、前記フローへの前記入力に基づいて前記フローの出力を設定するフローエンジンをさらに含むことを特徴とする請求項12に記載の装置。
- 前記インスタンス空間で制約条件を特定して、評価する制約条件エンジンをさらに含むことを特徴とする請求項13に記載の装置。
- 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
データセンタの環境で使用されるように設計中のシステムを記述する文書にアクセスさせ、
前記文書からトップレベルの定義を選択させ、
インスタンス空間に対し前記トップレベルの定義によって記述されたように適切なインスタンスを生成し、
前記トップレベルの定義内にネストされている追加の定義を選択させ、
前記選択された定義がオブジェクトを定義するか関係を定義するかに基づいて前記インスタンス空間に対して、前記追加の定義によって記述されているように、適切なインスタンスを生成させ、
前記トップレベルの定義内にネストされている前記定義のすべてに対するインスタンスが前記インスタンス空間に対して生成されるまで、前記追加の定義によって記述されているように、追加の定義の前記選択と適切なインスタンスの前記生成とを続行させる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記選択された定義が関係を定義する場合に、前記追加の定義によって記述されているように、前記1つまたは複数のプロセッサに適切なインスタンスを生成させる前記命令が、前記1つまたは複数のプロセッサにさらに、
前記定義された関係に関与するソースインスタンス数とターゲットインスタンス数とに基づいて、作成すべき関係インスタンス数を特定させ、
前記特定された数の関係インスタンスを作成させ、
前記作成された関係インスタンスのそれぞれに対して、ソースおよびターゲットインスタンスを前記関係インスタンスに関連付けさせることを特徴とする請求項15に記載の1つまたは複数のコンピュータ可読媒体。 - 前記選択された定義が、あるインスタンスが別のインスタンスに含まれることができることを記述する包含関係を定義することを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記選択された定義が、別個に配置されたソフトウェア要素間の相互作用を記述する通信関係を定義することを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記選択された定義が、インスタンス間の従属関係を取り込むために使用されるレファレンス関係を定義することを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記選択された定義が、ホストをそのゲストメンバインスタンスの1つまたは複数と関連付けるホスティング関係を定義することを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記選択された定義が、2つのシステムの通信エンドポイントを関連付ける委任関係を定義することを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記選択された定義がオブジェクトを定義する場合に、前記追加の定義によって記述されているように、前記1つまたは複数のプロセッサに適切なインスタンスを生成させる前記命令が、前記1つまたは複数のプロセッサにさらに、
前記選択された定義で特定される前記オブジェクトの最小発生数を特定させ、
前記特定された最小発生数と、前記選択された定義でいくつのインスタンスが既に生成されているかに基づいて、生成すべき前記選択された定義のインスタンス数を特定させ、
前記選択された定義のインスタンスを前記特定された数だけ生成させることを特徴とする請求項15に記載の1つまたは複数のコンピュータ可読媒体。 - 前記選択された定義がオブジェクトを定義する場合に、前記追加の定義によって記述されているように、前記1つまたは複数のプロセッサに適切なインスタンスを生成させる前記命令が、前記1つまたは複数のプロセッサにさらに、
リスナが前記追加情報によって記述されているように前記適切なインスタンスを作成することを可能にするイベントをトリガさせることを特徴とする請求項15に記載の1つまたは複数のコンピュータ可読媒体。 - 前記選択された定義が関係を定義する場合に、前記追加の定義によって記述されているように、前記1つまたは複数のプロセッサに適切なインスタンスを生成させる前記命令が、前記1つまたは複数のプロセッサにさらに、
リスナが前記追加情報によって記述されているように前記適切なインスタンスを作成することを可能にするイベントをトリガさせることを特徴とする請求項15に記載の1つまたは複数のコンピュータ可読媒体。 - 前記データセンタの前記システムの配置を開始する前に前記命令が実行されることを特徴とする請求項15に記載の1つまたは複数のコンピュータ可読媒体。
- 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
データセンタの環境で使用されるように設計中のシステムを記述するインスタンス空間の1つまたは複数のフローを特定させ、
前記1つまたは複数のフローの少なくとも1つのそれぞれに対して、
前記フローに対して前記インスタンス空間の他のインスタンスから取得した1つまたは複数の入力値を特定させ、
少なくとも一部には前記入力値に基づいて前記フローに対する出力値を生成させる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記フローに対して1つまたは複数の入力値を特定させる前記命令が、前記1つまたは複数のプロセッサにさらに、
前記入力値が割り当てられているか否かを特定させ、
前記入力値が割り当てられている場合、前記他のインスタンスから前記入力値を取得させ、
前記入力値の少なくとも1つがまだ割り当てられていない場合、まだ割り当てられていない前記入力値のそれぞれに対して、
前記入力値を設定する1つの他のフローを特定させ、
前記他のフローに対して、前記インスタンス空間の他のインスタンスから取得した1つまたは複数の入力値を特定させ、
少なくとも一部には前記入力値に基づいて前記他のフローに対する出力値を生成させることを特徴とする請求項26に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、少なくとも一部には前記入力値に基づいて前記フローに対する前記出力値を生成させる前記命令が、前記1つまたは複数のプロセッサにさらに、
結果を生成するために実行することのできる前記フローに関連付けられた一組の命令を特定させ、
前記特定された一組の命令を実行させ、
前記生成された結果を前記フローに対する前記出力値として使用させることを特徴とする請求項26に記載の1つまたは複数のコンピュータ可読媒体。 - 前記システムが前記環境に配置されるべきアプリケーションを含むことを特徴とする請求項26に記載の1つまたは複数のコンピュータ可読媒体。
- 前記環境がデータセンタのハードウェア記述を含むことを特徴とする請求項26に記載の1つまたは複数のコンピュータ可読媒体。
- 前記環境で前記システムの配置を開始する前に前記命令が実行されることを特徴とする請求項26に記載の1つまたは複数のコンピュータ可読媒体。
- 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
データセンタの環境で使用されるよう設計中のシステムを記述するインスタンス空間の1つまたは複数の制約条件を特定させ、
前記1つまたは複数の制約条件が満たされているか否かをチェックさせ、
前記1つまたは複数の制約条件のそれぞれに対して、前記制約条件が満たされているか否かを特定する値を戻させる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数の制約条件が、設定制約条件、関係制約条件、およびオブジェクト制約条件を含むことを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。
- 前記1つまたは複数のプロセッサに前記1つまたは複数の制約条件が満たされているか否かをチェックさせる前記命令が、前記制約条件の1つに対して、前記1つまたは複数のプロセッサにさらに、
結果を生成するために実行することのできる前記制約条件に関連付けられる一組の命令を特定させ、
前記特定された一組の命令を実行させ、
前記生成された結果を前記制約条件が満たされているか否かを示す前記戻された値を使用させることを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに前記1つまたは複数の制約条件が満たされているか否かをチェックさせる前記命令が、前記制約条件の1つに対して、前記1つまたは複数のプロセッサにさらに、
前記制約条件のターゲットインスタンスに対するロールおよびオブジェクト定義を特定させ、
前記制約条件の前記ロールおよび前記オブジェクト定義が前記ターゲットインスタンスの前記ロールおよび前記オブジェクト定義と一致するか否かをチェックさせ、
前記制約条件の前記ロールおよび前記オブジェクト定義が前記ターゲットインスタンスの前記ロールおよび前記オブジェクト定義と一致するか否かに基づいて、前記制約条件が満たされているか否かを示す前記戻された値を生成させることを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに前記1つまたは複数の制約条件が満たされているか否かをチェックさせる前記命令が、前記制約条件の前記1つに対して、前記1つまたは複数のプロセッサにさらに、
前記制約条件の前記ターゲットインスタンスに対する副次的なロールおよび副次的なオブジェクト定義を特定させ、
前記制約条件の前記副次的なロールおよび前記副次的なオブジェクト定義が前記ターゲットインスタンスの前記ロールおよび前記オブジェクト定義と一致するか否かをチェックさせ、
前記制約条件の前記ロールおよび前記オブジェクト定義が、前記ターゲットインスタンスの前記ロールおよび前記オブジェクト定義と前記ターゲットインスタンスの前記副次的なロールおよび前記副次的なオブジェクト定義の両方と一致するか否かに基づいて、前記制約条件が満たされているか否かを示す前記戻される値を生成させることを特徴とする請求項35に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに前記1つまたは複数の制約条件が満たされているか否かをチェックさせる前記命令が、前記制約条件の前記1つに対して、前記1つまたは複数のプロセッサにさらに、
前記ターゲットインスタンスに対して1つまたは複数のネストされた制約条件を評価させ、
前記ネストされた制約条件に対して前記1つまたは複数のネストされた制約条件が満たされているか否かを示す1つまたは複数の戻り値を受け取らせ、
前記ネストされた制約条件に対する前記1つまたは複数の戻り値に基づいて、前記制約条件が満たされているか否かを示す前記戻される値を生成させることを特徴とする請求項35に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記1つまたは複数の制約条件のそれぞれに対して前記制約条件が満たされているか否かを示す値を戻させる前記命令が、前記制約条件の1つに対して、前記1つまたは複数のプロセッサにさらに、
前記制約条件が満たされていないことを示す値が戻されるべき場合、前記制約条件に対してエラーメッセージが生成されるべきか否かをチェックさせ、
前記エラーメッセージが生成されるべき場合、前記制約条件を示す情報を含む前記エラーメッセージを生成させることを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに前記1つまたは複数の制約条件が満たされているか否かをチェックさせる前記命令が、前記制約条件の1つに対して、前記1つまたは複数のプロセッサにさらに、
一致数変数を初期設定させ、
前記制約条件の前記ターゲットインスタンスが参加する1つまたは複数の関係インスタンスを特定させ、
前記1つまたは複数の関係インスタンスのそれぞれに対して、前記関係インスタンスが前記制約条件を満たしているか否かを評価させ、
前記制約条件を満たしている前記1つまたは複数の関係インスタンスのそれぞれに対して前記一致数変数を増分させ、
前記1つまたは複数の関係インスタンスが評価された後で前記一致数変数の前記値に基づいて、前記制約条件が満たされているか否かを示す前記戻される値を生成させることを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記1つまたは複数の関係インスタンスのそれぞれに対して前記関係インスタンスが前記制約条件を満たしているか否かを評価させる前記命令が、前記制約条件の前記1つに対して、前記1つまたは複数のプロセッサにさらに、
前記制約条件の関係定義が前記関係インスタンスの関係定義と一致するか否かをチェックさせ、
前記制約条件の指示が前記関係インスタンスの指示と一致するか否かをチェックさせ、
前記関係インスタンスに対するすべてのネストされた制約条件が満たされているか否かをチェックさせ、
前記制約条件の前記関係定義が前記関係インスタンスの前記関係定義と一致し、前記制約条件の前記指示が前記関係インスタンスの前記指示と一致し、前記関係インスタンスに対するすべてのネストされた制約条件が満たされている場合にのみ、前記制約条件が満たされていることを示す値を戻させることを特徴とする請求項39に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記1つまたは複数の関係インスタンスのそれぞれに対して前記関係インスタンスが前記制約条件を満たしているか否かを評価させる前記命令が、前記制約条件の前記1つに対して、前記1つまたは複数のプロセッサにさらに、
前記制約条件のターゲットオブジェクトが前記関係インスタンスの前記他端のインスタンスと一致するか否かをチェックさせ、
前記制約条件の前記関係定義が前記関係インスタンスの前記関係定義と一致し、前記制約条件の前記指示が前記関係インスタンスの前記指示と一致し、前記関係インスタンスに対するすべてのネストされた制約条件が満たされており、前記制約条件の前記ターゲットオブジェクトが前記関係インスタンスの前記他端の前記インスタンスと一致する場合にのみ、前記制約条件が満たされていることを示す値を戻させることを特徴とする請求項39に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のプロセッサに、前記1つまたは複数の関係インスタンスが評価された後で前記一致数変数の前記値に基づいて、前記制約条件が満たされているか否かを示す前記戻される値を生成させる前記命令が、前記制約条件の1つに対して、前記1つまたは複数のプロセッサにさらに、
前記一致数変数が前記制約条件の少なくとも1つの最小値であるが、前記制約条件の最大値よりも大きくないか否かをチェックさせ、
前記一致数変数が前記制約条件の少なくとも前記最小値であるが、前記制約条件の前記最大値よりも大きくない場合には前記制約条件が満たされていることを示す前記戻される値を生成させ、そうでない場合は前記制約条件が満たされていないことを示す前記戻される値を生成させることを特徴とする請求項39に記載の1つまたは複数のコンピュータ可読媒体。 - 前記命令が、前記環境で前記システムの配置を開始する前に実行されるべきことを特徴とする請求項32に記載の1つまたは複数のコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45273603P | 2003-03-06 | 2003-03-06 | |
US10/791,222 US7886041B2 (en) | 2003-03-06 | 2004-03-01 | Design time validation of systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004272909A true JP2004272909A (ja) | 2004-09-30 |
Family
ID=33135015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004063227A Pending JP2004272909A (ja) | 2003-03-06 | 2004-03-05 | システムの設計時検証 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1498813A3 (ja) |
JP (1) | JP2004272909A (ja) |
CN (1) | CN1570860B (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007157026A (ja) * | 2005-12-08 | 2007-06-21 | Hitachi Ltd | 稼働見積システム、稼働見積装置、実行装置及び稼働見積方法 |
JP2009515252A (ja) * | 2005-11-02 | 2009-04-09 | マイクロソフト コーポレーション | Itオペレーション/ポリシーのモデリング方法 |
JP2009276911A (ja) * | 2008-05-13 | 2009-11-26 | Toshiba Corp | ソフトウェア資産再利用支援プログラム |
WO2013031998A1 (ja) * | 2011-09-02 | 2013-03-07 | 日本電気株式会社 | 設計支援装置、設計支援方法、及び、プログラム |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US10732938B2 (en) | 2015-10-30 | 2020-08-04 | Kabushiki Kaisha Toshiba | System design apparatus and method |
US20220407771A1 (en) * | 2021-11-25 | 2022-12-22 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for updating instance configuration, device, storage medium, and program product |
JP2023531931A (ja) * | 2020-07-15 | 2023-07-26 | 北京北方華創微電子装備有限公司 | 半導体デバイスのモデリング方法及び装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865888B1 (en) | 2004-12-21 | 2011-01-04 | Zenprise, Inc. | Systems and methods for gathering deployment state for automated management of software application deployments |
CN104765687B (zh) * | 2015-04-10 | 2017-07-21 | 江西师范大学 | 基于对象跟踪和污点分析的j2ee程序漏洞检测方法 |
CN106302574B (zh) | 2015-05-15 | 2019-05-28 | 华为技术有限公司 | 一种业务可用性管理方法、装置及其网络功能虚拟化架构 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06250956A (ja) * | 1993-02-22 | 1994-09-09 | Nec Corp | Osiシステム環境定義チェック方式 |
JPH10124343A (ja) * | 1996-10-16 | 1998-05-15 | Ricoh Co Ltd | モデルシミュレート装置および方法、モデル作成装置および方法、情報記憶媒体 |
JPH10240576A (ja) * | 1997-02-28 | 1998-09-11 | Sony Corp | 検証装置および方法 |
JP2003030424A (ja) * | 2001-07-10 | 2003-01-31 | Aioi Insurance Co Ltd | 保険業務の自動システム化方法およびその装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289502B1 (en) * | 1997-09-26 | 2001-09-11 | Massachusetts Institute Of Technology | Model-based software design and validation |
US6071316A (en) * | 1997-09-29 | 2000-06-06 | Honeywell Inc. | Automated validation and verification of computer software |
AU2001288827A1 (en) * | 2000-09-08 | 2002-03-22 | Asera, Inc. | Integrated design environment for a commerce server system |
CN1312501A (zh) * | 2001-04-20 | 2001-09-12 | 中国科学院合肥智能机械研究所 | 一种集成化智能信息系统开发控制的方法 |
-
2004
- 2004-03-05 JP JP2004063227A patent/JP2004272909A/ja active Pending
- 2004-03-05 CN CN 200410032700 patent/CN1570860B/zh not_active Expired - Fee Related
- 2004-03-05 EP EP04005332A patent/EP1498813A3/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06250956A (ja) * | 1993-02-22 | 1994-09-09 | Nec Corp | Osiシステム環境定義チェック方式 |
JPH10124343A (ja) * | 1996-10-16 | 1998-05-15 | Ricoh Co Ltd | モデルシミュレート装置および方法、モデル作成装置および方法、情報記憶媒体 |
JPH10240576A (ja) * | 1997-02-28 | 1998-09-11 | Sony Corp | 検証装置および方法 |
JP2003030424A (ja) * | 2001-07-10 | 2003-01-31 | Aioi Insurance Co Ltd | 保険業務の自動システム化方法およびその装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
JP2009515252A (ja) * | 2005-11-02 | 2009-04-09 | マイクロソフト コーポレーション | Itオペレーション/ポリシーのモデリング方法 |
JP2007157026A (ja) * | 2005-12-08 | 2007-06-21 | Hitachi Ltd | 稼働見積システム、稼働見積装置、実行装置及び稼働見積方法 |
JP2009276911A (ja) * | 2008-05-13 | 2009-11-26 | Toshiba Corp | ソフトウェア資産再利用支援プログラム |
WO2013031998A1 (ja) * | 2011-09-02 | 2013-03-07 | 日本電気株式会社 | 設計支援装置、設計支援方法、及び、プログラム |
US10732938B2 (en) | 2015-10-30 | 2020-08-04 | Kabushiki Kaisha Toshiba | System design apparatus and method |
JP2023531931A (ja) * | 2020-07-15 | 2023-07-26 | 北京北方華創微電子装備有限公司 | 半導体デバイスのモデリング方法及び装置 |
JP7457168B2 (ja) | 2020-07-15 | 2024-03-27 | 北京北方華創微電子装備有限公司 | 半導体デバイスのモデリング方法及び装置 |
US20220407771A1 (en) * | 2021-11-25 | 2022-12-22 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method and apparatus for updating instance configuration, device, storage medium, and program product |
Also Published As
Publication number | Publication date |
---|---|
CN1570860B (zh) | 2012-03-21 |
EP1498813A2 (en) | 2005-01-19 |
CN1570860A (zh) | 2005-01-26 |
EP1498813A3 (en) | 2007-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7886041B2 (en) | Design time validation of systems | |
KR101117945B1 (ko) | 분산형 컴퓨팅 시스템을 위한 아키텍쳐 및 분산형 애플리케이션의 자동화된 설계, 배치 및 관리 | |
US7543268B2 (en) | Development environment for developing applications using a metamodel and a metadata API | |
US8826237B2 (en) | Guiding correction of semantic errors in code using collaboration records | |
CN100585589C (zh) | 用以支持用户定义类型的继承的系统和方法 | |
US8930942B2 (en) | Capability model for deploying componentized applications | |
CN101647009B (zh) | 在团队环境中使用协作性开发信息 | |
US20160004516A1 (en) | Code Generation Framework for Application Program Interface for Model | |
US7698293B2 (en) | System and methods for capturing structure of data models using entity patterns | |
US20050071801A1 (en) | API derivation and XML schema derivation for developing applications | |
JP2004280820A (ja) | ビジネスソフトウェアアプリケーションをサポートするフレームワーク | |
JP2004280821A (ja) | ソフトウェアビジネスプロセスモデル | |
US7636911B2 (en) | System and methods for capturing structure of data models using entity patterns | |
Lhotka et al. | Expert VB 2005 business objects | |
JP2004272909A (ja) | システムの設計時検証 | |
KR101044182B1 (ko) | 시스템의 검증을 용이하게 하는 방법, 소프트웨어 애플리케이션의 검증을 용이하게 하는 장치 및 컴퓨터 판독 가능 기록 매체 | |
EP1975785A1 (en) | Design time validation of systems | |
US10768912B1 (en) | Platform class creation | |
JP2006268124A (ja) | 自動作成システム、及びプログラム | |
Snoha | Framework for geolocation-based Android applications using Linked Data | |
Uhl | Architectures enabling scalable Internet search | |
Shoemaker | Secrets of real world ASP. NET dynamic data websites | |
Goldschmidt et al. | FURCAS: View Based Textual Modelling | |
KA et al. | Management System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100806 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101105 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110301 |