"ウィーバを用いてベースシステムへとウィービングされるべきアスペクトを実行するアスペクトシステムを含むアスペクト指向プログラミング環境におけるベースシステム内の変化に適応する方法であって、前記ベースシステム内のある変化に応じて、前記ベースシステム内の前記変化の重要性を評価するステップと、前記評価により前記変化に重要性があると判明した場合、前記変化を補償するために適応動作を行うステップとを含む方法。前記変化の重要性を評価するステップは、前記ベースシステム内の変化の後、前記ベースシステム内の変化前のジョインポイントまたはジョインポイントシャドーが、前記ベースシステム内の変化後のものと異なっているかどうかを決定するステップを含むものである、請求項1に記載の方法。あるアスペクトまたはアドバイスについて前記重要性の評価を個々に実行するステップと、前記変化に重要性があると判明した前記あるアスペクトまたはアドバイスについて個々に適応動作を行うステップとをさらに含む請求項1または2に記載の方法。前記適応動作は、あるアスペクトを前記ベースシステムに全体的または部分的に再ウィービングするステップと、あるアスペクトに関連付けられたアドバイスを全体的または部分的に再ウィービングするステップと、あるアスペクトを全体的または部分的にアンウィービングするステップと、あるアスペクトに関連付けられたアドバイスを全体的または部分的にアンウィービングするステップとのうちの2つ以上を含む複数の適応動作から選択されるものである、請求項1~3のいずれか一項に記載の方法。前記アスペクト指向プログラミング環境は、前記ベースシステムおよび前記アスペクトシステムに加えて適応システムを含むものであり、前記適応システム、前記ベースシステムおよび前記アスペクトシステムは、互いに独立して修正および実行できる別個のエンティティーである、請求項1~4のいずれか一項に記載の方法。前記ベースシステム、前記アスペクトシステムおよび前記適応システムは、直接または間接呼出しを通して相互に作用するものである、請求項1~5のいずれか一項に記載の方法。前記ベースシステム内に変化が生じた場合、前記ベースシステム、前記アスペクトシステムおよび前記適応システムを含んだ全体的なシステムの要素に対し、前記ベースシステム内の変化を通知するステップをさらに含むものであって、前記要素は、前記ベースシステムの変化に関する評価を開始することと、前記ベースシステムの変化を評価することと、前記評価に基づいて適応動作を開始することと、前記評価に基づいて適応動作を実行することとのうちの1つ以上を行うことができるものである、請求項1~6のいずれか一項に記載の方法。前記要素は、アスペクトと、アドバイスと、ウィーバと、ポイントカットと、全体的なシステムの任意の他の要素とのうちの1つである、請求項7に記載の方法。前記要素に前記ベースシステム内の変化を通知するステップは、前記ベースシステム内に変化が生じた場合、対応する通知を前記要素に送ることにより前記要素に自動的に通知するステップと、前記ベースシステム内に何らかの変化が発生しているかどうかについて前記ベースシステムを監視するために、前記要素により前記ベースシステムをポーリングするステップとのうちのいずれかまたは両方を含むものである、請求項7または8に記載の方法。前記ベースシステム内の何らかの変化に関する通知を受けるために、前記アスペクトシステムの1つ以上の要素を登録するステップを含む請求項1~9のいずれか一項に記載の方法。前記ベースシステムの変化を評価するステップは、前記変化の後、あるアスペクトとアドバイスとのうちのいずれかまたは両方について、一連の全てのジョインポイントと一連の全てのジョインポイントシャドーとのうちのいずれかまたは両方を決定するステップを含むものである、請求項1~10のいずれか一項に記載の方法。前記変化の後に決定された前記一連のジョインポイントと前記一連のジョインポイントシャドーとのうちのいずれかまたは両方を、前記変化の前の対応する一連のものと比較するステップと、前記一連のものが異なる場合、前記変化を補償するために適応動作を行うステップとをさらに含む請求項1~11のいずれか一項に記載の方法。行われる適応動作ストラテジーとして複数の可能な適応動作を提供するステップと、前記評価に応じて、前記複数の適応動作から1つ以上を選択するステップとをさらに含む請求項1~12のいずれか一項に記載の方法。前記重要性を評価するステップは、前記評価結果に基づいて、前記適応動作のいずれを行うべきかを決定する一連のルールを評価するステップをさらに含むものである、請求項1~13のいずれか一項に記載の方法。前記重要性を評価するステップは、ランタイム中に発生する事象または動作を考慮に入れるものであり、前記事象または相互作用は、ユーザとの対話と、ランタイム中の機能またはモジュールの評価とのうちの1つ以上である、請求項1~14のいずれか一項に記載の方法。前記ベースシステムの変化は、前記ベースシステムの要素の追加、取外しまたは修正のうちの1つ以上を含むものである、請求項1~15のいずれか一項に記載の方法。請求項1~16のいずれか一項に記載の方法を実行するためのコンピュータ実行可能なコードを含むコンピュータプログラム。請求項17に記載のコンピュータプログラムを含み、または具体化するデータ記憶媒体。ウィーバを用いてベースシステムへとウィービングされるべきアスペクトを実行するアスペクトシステムを含むアスペクト指向プログラミング環境におけるベースシステム内の変化に適応する装置であって、前記ベースシステム内のある変化に応じて、前記ベースシステム内の前記変化の重要性を評価する手段と、前記評価により前記変化に重要性があると判明した場合、前記変化を補償するために適応動作を行うための手段とを備える装置。前記変化の重要性を評価する手段は、前記ベースシステム内の変化の後、前記ベースシステム内の変化前のジョインポイントまたはジョインポイントシャドーが、前記ベースシステム内の変化後のものと異なっているかどうかを決定する手段を備えるものである、請求項19に記載の装置。あるアスペクトまたはアドバイスについて前記重要性の評価を個々に実行する手段と、前記変化に重要性があると判明した前記あるアスペクトまたはアドバイスについて個々に適応動作を行うための手段とをさらに備える請求項19または20に記載の装置。前記適応動作は、あるアスペクトを前記ベースシステムに全体的または部分的に再ウィービングするステップと、あるアスペクトに関連付けられたアドバイスを全体的または部分的に再ウィービングするステップと、あるアスペクトを全体的または部分的にアンウィービングするステップと、あるアスペクトに関連付けられたアドバイスを全体的または部分的にアンウィービングするステップとのうちの2つ以上を含む複数の適応動作から選択されるものである、請求項19~21のいずれか一項に記載の装置。前記アスペクト指向プログラミング環境は、前記ベースシステムおよび前記アスペクトシステムに加えて適応システムを含むものであり、前記適応システム、前記ベースシステムおよび前記アスペクトシステムは、互いに独立して修正および実行できる別個のエンティティーである、請求項19~22のいずれか一項に記載の装置。前記ベースシステム、前記アスペクトシステムおよび前記適応システムは、直接または間接呼出しを通して相互に作用するものである、請求項19~23のいずれか一項に記載の装置。前記ベースシステム内に変化が生じた場合、前記ベースシステム、前記アスペクトシステムおよび前記適応システムを含んだ全体的なシステムの要素に対し、前記ベースシステム内の変化を通知する手段をさらに備えるものであって、前記要素は、前記ベースシステムの変化に関する評価を開始することと、前記ベースシステムの変化を評価することと、前記評価に基づいて適応動作を開始することと、前記評価に基づいて適応動作を実行することとのうちの1つ以上を行うことができるものである、請求項19~24のいずれか一項に記載の装置。前記要素は、アスペクトと、アドバイスと、ウィーバと、ポイントカットと、全体的なシステムの任意の他の要素とのうちの1つである、請求項19~25のいずれか一項に記載の装置。前記要素に前記ベースシステム内の変化を通知する手段は、前記ベースシステム内に変化が生じた場合、対応する通知を前記要素に送ることにより前記要素に自動的に通知する手段と、前記ベースシステム内に何らかの変化が発生しているかどうかについて前記ベースシステムを監視するために、前記要素により前記ベースシステムをポーリングする手段とのうちのいずれかまたは両方を備えるものである、請求項25または26に記載の装置。前記ベースシステム内の何らかの変化に関する通知を受けるために、前記アスペクトシステムの1つ以上の要素を登録する手段を備える請求項19~27のいずれか一項に記載の装置。前記ベースシステムの変化を評価する手段は、前記変化の後、あるアスペクトとアドバイスとのうちのいずれかまたは両方について、一連の全てのジョインポイントと一連の全てのジョインポイントシャドーとのうちのいずれかまたは両方を決定する手段を備えるものである、請求項19~28のいずれか一項に記載の装置。前記変化の後に決定された前記一連のジョインポイントと前記一連のジョインポイントシャドーとのうちのいずれかまたは両方を、前記変化の前の対応する一連のものと比較する手段と、前記一連のものが異なる場合、前記変化を補償するために適応動作を行うための手段とをさらに備える請求項19~29のいずれか一項に記載の装置。行われる適応動作ストラテジーとして複数の可能な適応動作を提供する手段と、前記評価に応じて、前記複数の適応動作から1つ以上を選択する手段とをさらに備える請求項19~30のいずれか一項に記載の装置。前記重要性を評価する手段は、前記評価結果に基づいて、前記適応動作のいずれを行うべきかを決定する一連のルールを評価する手段をさらに備えるものである、請求項19~31のいずれか一項に記載の装置。前記重要性を評価する手段は、ランタイム中に発生する事象または動作を考慮に入れるものであり、前記事象または相互作用は、ユーザとの対話と、ランタイム中の機能またはモジュールの評価とのうちの1つ以上である、請求項19~32のいずれか一項に記載の装置。前記ベースシステムの変化は、前記ベースシステムの要素の追加、取外しまたは修正のうちの1つ以上を含むものである、請求項19~22のいずれか一項に記載の装置。従って、本発明の目的は、アスペクト指向プログラミングの環境に適していて、1つ以上のアスペクトがウィービングされているベースシステム内の動的な変化を処理することができる方法および装置を提供することである。本発明の1つの実施形態によれば、ウィーバを用いてベースシステムの中にウィービングされるべきアスペクトを実行するアスペクトシステムを含むアスペクト指向プログラミング環境の中で前記ベースシステム内の変化に適応させる方法が提供される。前記方法には、前記ベースシステム内の変化に応じて、前記ベースシステム内の前記変化の重要性を評価するステップと、前記変化に対する前記評価が、重要性があると判明すれば、前記変化を補償するために適応動作を行うステップとが含まれる。システムの変化を評価し、必要な場合にはアスペクトの構成システムについて適応動作を行うことによって、基礎となるベースシステムはベースシステム内のどのような変化にも柔軟に対処することができる。このため、ベースシステムの変化から生じたアスペクトとベースシステムとの間の不整合を補償し解決するように、ベースシステム内の変化要素の変更、追加または除去を補償することができる。1つの実施形態によれば、重要性の評価には、ベースシステム内の変化の前のジョインポイントまたはジョインポイントシャドーが、ベースシステム内の変化の後のこれらのものと異なっているかどうかを、ベースシステム内の変化の後で決定するステップが含まれている。これにより、システムの変化の前にベースシステムへとウィービングされるアスペクトにより生じる構成システム内のジョインポイントまたはジョインポイントシャドーが、修正されたベースシステムに対して実行するウィービング処理から結果として生ずるものと異なっているかどうかを、ベースシステム内の変化の後で決定することができる。このことは、例えば、システムの変化の前後のアスペクトおよびアドバイスに対するポイントカットを比較することによって行うことができ、それらが異なっている場合は、その変化は重要性があると判明する。この比較は、システムの変化の前後のポイントカットまたは一連のジョインポイントもしくはジョインポイントシャドーを直接比較することによって行うことができる。1つの実施形態によれば、2つの一連のものは、それらの要素の数を単に比較して行い、その数が異なる場合は重要な変化があると判断することができる。別の実施形態によれば、一連の要素を個別に、すなわちシステムの変化の前の全てのジョインポイントまたはジョインポイントシャドーをシステムの変化の後のものと比較することによって比較を行うことができ、この個々の比較が異なることが判明すると、ベースシステムの中で重要性がある変化が発生していると決定できる。1つの実施形態によれば、前記アスペクト指向プログラミングの環境は、前記ベースシステムおよび前記アスペクトシステムに加えて、適応システムを含む。ここで、前記適応システム、前記ベースシステムおよび前記アスペクトシステムは別個の存在であり、互いに独立して修正および実行を行うことができる。これにより、適応システムに加えてアスペクトシステムにも大きな柔軟性を持たせることができるため、システム全体を同様により柔軟に設計することができる。1つの実施形態によれば、前記ベースシステム、前記アスペクトシステムおよび前記適応システムは、例えば機能呼出し、メソッド呼出し、メッセージの送信などの直接または間接の呼出しを通して互いに作用する。これにより、システム全体のこれら3つの部分は互いに独立となる。1つの実施形態によれば、適応動作には、下記、すなわち全体的または部分的に前記アスペクトを前記ベースシステムの中に再ウィービングする動作、前記アスペクトに関連付けられたアドバイスを全体的または部分的に再ウィービングする動作、全体的または部分的に前記アスペクトをアンウィービングする動作、または前記アスペクトに関連付けられたアドバイスを全体的または部分的にアンウィービングする動作の中の1つ以上の動作が含まれる。本発明の実施形態による方法には、ベースシステムの中で変化が生じた場合、ベースシステムおよびアスペクトを含む全体的なシステムの要素にベースシステム内の変化を通知するステップが含まれ、前記要素が下記のステップ、すなわち、ベースシステムの変化の評価を開始するステップと、ベースシステムの変化を評価するステップと、前記評価に基づいて、適応動作を開始するステップと、前記評価に基づいて、適応動作を実行するステップとのうち1つ以上のステップを行うことができる。システムの要素に通知することにより、システムの変化を評価した後で、適切な動作が確実に行われるようになる。通知されたシステムの要素は、ベースシステムおよびアスペクト、アドバイスから分離された要素とすることができる。システムの変化に関する通知を受け取り、次にこの変化の評価を開始することを委託することができる。このシステムの要素が評価を実行するように設計し、または評価を実行するように他の要素をトリガまたは駆動し、これによって評価を開始することができる。評価に基づいて、システムの要素はこの時、比較結果に鑑みて必要な適応動作をそれ自体が実行するか、または可能ないずれかの他のシステムの要素がそのような動作を行うことを開始させることができる。そのために、システムの要素はいずれかの別のシステムの要素にメッセージを送って、評価結果に鑑みて、行うことが必要であるとシステムの要素が認めた適応動作をトリガすることができる。システムの変化を受け取り、評価の開始と実行とのうちのいずれかまたは両方を行い、適応動作の開始と実行とのうちいずれかまたは両方を行うことを担うシステムの要素は、アスペクト、アドバイス、ポイントカット、ウィーバ、または通知を評価して適応動作を開始するための他の別個の要素のうちの1つとすることができる。ある実施形態によれば、前記要素に対してベースシステム内の変化を通知するステップには、ベースシステムの中に変化が生じた場合、対応する通知を前記要素に送ることにより自動的に前記要素に通知するステップと、ベースシステムの中に何らかの変化が発生しているかどうかに関して前記ベースシステムを観察するために前記要素が前記ベースシステムをポーリングするステップとのうちのいずれかまたは両方が含まれる。1つの実施形態によれば、アドバイス、ポイントカットまたはアスペクト自身などのアスペクトシステムの1つ以上の要素は、ベースシステム内の何らかの変化について通知を受けるように登録される。これにより、これらの登録されたアスペクト、アドバイスまたはポイントカットは、システムの変化を確実に通知される。この登録方式により、そのような通知を受け取るように登録されていないシステムの要素には通知しないことによって、効率の良い通知が可能になる。ある実施形態によれば、前記評価には、前記変化の後のあるアスペクトについて一連の全てのジョインポイントとジョインポイントシャドーとのうちのいずれかまたは両方を決定するステップが含まれる。これにより、あるアスペクトまたはアドバイスに対するシステムの変化の重要性を確認できる。ある実施形態によれば、この方法は、前記変化の後に決定された一連のジョインポイントとジョインポイントシャドーとのうちのいずれかまたは両方を、前記変化の前の対応する一連のものと比較するステップと、両者が異なる場合には前記変化を補償するために適応動作を行うステップとをさらに含む。これにより、この比較結果に基づいて、とりうる適応動作の一群の中から1つを適切に選択する可能性が与えられる。これにより、システムの変更の後に組み込まれているべき全てのジョインポイントシャドーが実際に組み込まれているか否かを検査できるようになる。次に、結果に応じて、とりうる複数の適応動作のうちの1つが選択される。評価に重要性があると認められたアスペクトまたはアドバイスについてのみ適応動作を行うことによって、すなわち評価により適応動作が必要であると認められたこれらのアスペクトのみを再ウィービングまたはアンウィービングすることによって、適応動作を効率的に実行することができる。1つの実施形態によれば、本発明には、前記評価結果に基づいて、前記適応動作のどれを利用すべきかが決定される一連のルールを評価するステップが含まれる。これにより、評価結果が確実そして適切に考慮されるようになり、また特定のシステムの変化に適当な適応動作が確実に選択できるようになる。このルールは、ランタイム、例えばユーザとの対話または任意の機能またはモジュールを評価する間に発生する事象または状態をも考慮に入れる。ある実施形態によれば、前記ベースシステムの変化には、下記すなわちベースシステムの要素の追加、除去または修正の中の1つ以上が含まれる。ある実施形態によれば、本発明の実施形態の1つに基づいて方法を実行するためのコンピュータが実行可能なコードを含むコンピュータプログラムが提供される。さらに別の実施形態によれば、ウィーバを用いてベースシステムへとウィービングされるべきアスペクトを実行するアスペクトシステムを含むアスペクト指向プログラミングの環境において前記ベースシステム内の変化に適応する装置が提供され、この装置は、前記ベースシステム内の変化に応じて、前記ベースシステム内の前記変化の重要性を評価する手段と、前記評価により前記変化に重要性があると判明すると、前記変化を補償するために適応動作を行うための手段とを備える。このような装置は、ソフトウェアまたはハードウェアまたは両方の組合せとして実現することができる。さらに別の実施形態によれば、本発明は、本発明の実施形態による方法で定義されている機能を実現する手段を備える。そのような手段は、ソフトウェアまたはハードウェアまたは両方の組合せとして実現することができる。図1Aは、個別のモジュールM1,M2,M3,...,Mnを含むベースシステム100を概略的に表している。これらのモジュールは、ソフトウェアモジュール、特定のソフトウェアモジュールに関連したハードウェアモジュール例えば、ハードウェア用のドライバなどである。例えばネットワークの場合では、要素M1~Mnは、端末、ルータ、スイッチ、それらの対応するドライバ部品などネットワークの個々のハードウェア部品を意味する。他方、要素は、例えば全体のシステム、またはユーザに与えられた特定の機能などのある種の機能性を表すかまたは可能とするソフトウェア部品とすることもできる。図1Aの右側に、アスペクトA1~Akが円110として概略的に示されている。アスペクトという用語は本明細書では、アスペクト指向プログラミングの環境において使用するアスペクトのことを指すもの、すなわちベースシステムの中でクロスカットを実行するために使用する特定のモジュールとして理解する必要がある。このために、これらのアスペクトはウィーバweaver120によってベースシステム100にウィービングされ、雲cloud130として概略的に示されているようにベースシステムのランタイム構造を生み出す。この雲130では、特定のジョインポイントシャドー、すなわち図1Aで点として示されるいわゆる適応されたジョインポイントシャドーにおいて、1つ以上のアスペクトA1~Akに関連付けられたアドバイスコードが呼び出される。適応されるべきジョインポイントシャドーは、それぞれアスペクトA1~Akに関連付けられ、またベースシステム100内で適応動作が行われる一連のジョインポイントシャドーを意味するポイントカットベースシステム100内のジョインポイント記述に依存している。適応されるべきジョインポイントシャドーを記述することによって、いわゆる適応されたジョインポイントシャドーにおいてアドバイスコードが呼び出されてベースシステム内でクロスカット問題をインプリメントするように実行されるように、ポイントカットによりウィーバがベースシステムを修正できるようになる。このことは、図1Aでは雲130として概略的に示されている構成されたシステム130ウィービング後のシステムを結果として生ずる。この図では、適応されたジョインポイントシャドーは点として示されている。ベースシステム100が変化する場合に何が起こるかを説明するために、次に図1Bを参照する。図1Bの場合、ベースシステム100の1つの要素すなわち要素M2が、ベースシステムから取り除かれている。これは、特定のソフトウェアモジュールまたはネットワーク内の端末などの特定のハードウェア要素を外すことを示している。さらに、新しいモジュールMn1が図1Bのベースシステムに加えられている。ここで、それぞれのアスペクトA1~Akはそれぞれ、ベースシステムの中で自身のそれぞれのポイントカットを通るジョインポイント対応するジョインポイントシャドーを意味すると呼ばれることに注意しなければならない。しかしながら、ここでモジュールM2を取り外すことは、ベースシステムに存在していたモジュールが削除されたため、幾つかのジョインポイントがベースシステムには実際にはもはや存在しないという事実をもたらす。これが事実の場合、図1Aのランタイム構成130は、もはや実際に存在しないベースシステム内の要素この実施例ではモジュールM2を表す適応されたジョインポイントシャドーを含む。このことは、図1Bでランタイムシステム130’の中で除かれている適応されたジョインポイントシャドーによって概略的に示されている。これらのジョインポイントシャドーは、ベースシステム内の対応するモジュールモジュールM2がベースシステムから取り除かれているという事実によって不要になったものである。さらに、新しいモジュールMn1をベースシステム100に加えることにより、アスペクトA1~Akが、新たに加えられたモジュールMn1に対応する付加的な適応されたジョインポイントシャドーを実際に含むべきランタイム構成130’に対応するという事実がもたらされる。しかしながら、ウィービングを行うときにはモジュールMn1はベースシステムには存在しないので、このモジュールに対応するジョインポイントシャドーはウィービング時には適用されておらず、このモジュールMn1は実際には存在しない。このことは、図1Bの要素130’内の空円によって概略的に図示されている。これは、特定の時点で構成されたウィービングシステムは、システムの変化がベースシステム内で発生すると、実際のベースシステムおよびその対応するアスペクトを対応するジョインポイントおよびジョインポイントシャドーを用いても、もはや正確には反映できないことを意味する。これは、システム全体の実行時および動作時に不整合またはエラーをもたらす可能性がある。この欠点を克服するために、図2に関連して例示した本発明の1つの実施形態を提供する。図2は、本発明の1つの実施形態による方法を例示するフローチャートを示している。ステップ200では、ベースシステムの中に何らかの変化、すなわち図1Aおよび図1Bに関連して例示したような変化が発生する。そのような変化に基づいて、ステップ210では、ベースシステムへとウィービングされている1つ以上のアスペクトについてこの変化についての重要性を評価する。次に、その後のステップ220では、ステップ210で評価されたシステムの変化の重要性に基づいてシステムの変化に適応させるために適応動作が行われる。ベースシステム内のシステムの変化の重要性を評価する動作210には、例えばあるアスペクトおよびそのポイントカットまたはそのジョインポイント記述について、システムの変化の後でこのアスペクトにより追加され参照されたジョインポイントまたはジョインポイントシャドーにおいて変化があるかどうかを評価することから成る。これは、図3に関連してさらに説明するように行うことができる。図3は、本発明のさらに別の実施形態によるフローチャートを概略的に示している。図3では、特定のアスペクトが特定の時点でベースシステムの中にウィービングされるステップ300。次に、ステップ310において、図1Aおよび図1Bに関連して既に前に説明したようなシステムの変化が発生する。次に、ステップ320において、システムの変化の後のアスペクトおよびベースシステムの組合せに対応する一連のジョインポイントとジョインポイントシャドーのうちのいずれかまたは両方が計算または決定される。これにより、各アスペクトについて、アスペクトが確実に正しくベースシステムへとウィービングされるために適応動作を行う必要がある一連のジョインポイントとジョインポイントシャドーとのうちのいずれかまたは両方が結果として生まれる。次にステップ330において、特定のアスペクトについて、ステップ320で生じた一連のものを、アスペクトがウィービングされた時点で決定または計算された同じ一連のジョインポイントまたはジョインポイントシャドーと比較する。換言すると、システムの変化の前の一連のものとシステムの変化の後の一連のものとを比較する。次にステップ340において、2つの一連のものが異なると判断した場合には、システムの変化がこのアスペクトについて重要であり、またシステムの変化およびそのアスペクトに対する影響を補償するために、何らかの適応動作ステップ350を行う必要がある。適応動作を行う1つの方法は、アスペクトを再ウィービングすること、換言するとステップ300に戻ってアスペクトをもう一度、今変化したベースシステムへとウィービングすることである。しかしながら、ベースシステムには実際にはもはや存在しない対応しないジョインポイントまたはジョインポイントシャドーをアスペクトが参照することがステップ340にてわかった場合には、ベースシステム内のアスペクトを再ウィービングする再インストールすることに代えて、このアスペクトを削除するwithdraw取り外すdeinstallまたはアンウィービングすることができる。つまり、この場合に行われる適応動作は、このアスペクトを部分的または全体的に削除、取り外しまたはアンウィービングすることである。一連のものの比較ステップ330は各アスペクトについて実行され、その結果に基づいて幾つかのアスペクトが再ウィービングされ、幾つかはアンウィービングされ、また幾つかについてはいかなる操作も行う必要がない。図4を参照して、本発明の実施形態によるシステムの変化に関する通知について説明する。ベースシステム400が変化すると、システムの変化に関する通知が、好ましくは自動的にシステム要素410に送られる。要素410は、システムの変化を評価し適切な適応動作を開始できるような任意の要素とすることができる。1つの特定の実施形態によれば、システムの要素410は、任意のベースシステムに関連付けられアスペクトまたはアドバイスがベースシステム内の何らかの変化に関して通知されるような、ベースシステムに登録されたアスペクトまたはアドバイスとすることができる。通知を受けるためのこのような登録は、例えばプログラミング言語であるスモールトーク言語で容易に実行できる。このプログラミング言語スモールトークは、システムが変化する場合に通知を受けるために、ベースシステムに登録するためのフレームワークを提供する。その結果そのような情報に関係しているとして自身が登録されているアスペクトまたはアドバイスが通知され、次にそのポイントカットを再評価して、既に前に説明したように一連のジョインポイントまたはジョインポイントシャドーを決定し、システムの変化の前の一連のジョインポイントまたはジョインポイントシャドーとの相違が判明すると、アスペクトまたはアドバイスは適応動作、例えばアスペクトまたはアドバイスの再ウィービングを開始する。ある実施形態によれば、アスペクトについて関係する特定の変化システムの特定の部品またはモジュールにおける変化などのシステムの変化についてアスペクトまたはアドバイスを登録することは、一般的なものまたは特定のものとすることができる。しかしながら、要素410は、アスペクトをベースシステムへとウィービングする役割を果たすウィーバとすることもできる。このウィーバは次に、システムの変化がそれに重要性があるかどうかを評価し、重要性があると判明すると、1つ以上のアスペクトまたはアドバイスを再ウィービングするなどの適応動作を開始する。しかしながら、要素410は、通知を受け取りことによると最初だけ評価を行う役割を果たすような特定のシステム要素によって形成することもできる。次に、この要素は、どのアスペクトまたはアドバイスがシステムの変化によって影響を受けるかを決定し、次に適応動作を開始するためにアスペクトおよびアドバイスとウィーバとのうちのいずれかまたは両方にメッセージを送る。システム要素410に対する自動的な通知は、プッシュモデルと見なすことができるが、システム要素が何らかの変化が起こっているかどうかについて積極的にベースシステムをポーリングすることもできる。これは、プルモデルと見なすことができる。そのようなプルモデルの1つの具体的な実施形態が、図5に概略的に示されている。ベースシステムは、ベースシステムの中にインストール、ウィービングまたは構成されている1つ以上のアスペクトに関連付けられた一連のジョインポイントまたはジョインポイントシャドーを変化させる可能性があるシステム要素を追加、取外しまたは修正するようなシステムの変化が発生しているかどうかを連続的に監視またはポーリングする図2のステップ200。ステップ510において、これが認められると、システム要素400図4を参照のことに通知される。一旦、システム要素これはアスペクト、アドバイス、特定の要素またはウィーバとすることができるが通知を受けると、システム全体のそれぞれのアスペクトまたはアドバイスについて別個に、システムの変化の重要性に関する評価ステップ430を実行する。システムの変化に重要性があると判明すると、既に前述されたように適応動作が行われる。システムの変化が発生する場合は、変化の通知に関係するこれらの要素がシステムの変化について自動的に通知されるように、ベースシステムの監視が行われるステップ400~420。これはプッシュモデルと見なすことができる。この場合、アスペクトは何らかのシステムの変化について通知されるようにシステムに登録する。または別のいわゆるプルモデルを用いる場合は、アスペクトは何らかのシステムの変化を見つけるためにベースシステムを能動的にポーリングpollする。プッシュモデルとプルモデルとの任意の組合せも考えることができる。1つの特定の実施形態によれば、本発明は、コンピュータ言語スモールトークSmalltalkまたはその方言の1つでスクウィークSqueakと呼ばれる言語を用いて実行することができる。この言語スクウィークを用いるアスペクト指向プログラミングの説明は、例えばR.Hirschfeld、AspectS-Aspect-orientedprogrammingwithSqueak、Aksit、Mezini、UnlandらによるObjects,Components,Architectures,Services,andApplicationsforaNetworkedWorld、LNCS2591、Springer-Verlag、2003年に記載されている。前述したように、言語スクウィークまたはスモールトークは、実行されるベースシステム内のアスペクトおよびその対応するジョインポイントまたはジョインポイントシャドーに影響する可能性がある何らかのシステムの変化の監視を比較的容易に行うために使用できるシステムの変化および変化の通知を行うためのインフラストラクチャーを提供する。そのために、アスペクトに関連付けられたアドバイスは、種類または方法の追加、修正または取外しなどのシステムの変化の事象に対して登録することができる。変化が生ずると、こうした変化を通知するように登録されたアドバイス、アスペクト、ウィーバ、ポイントカットまたはシステム全体の他の任意の要素などのシステム要素は、この変化に関して通知される。前述の実施例では、情報は種類または方法の追加、修正または取外しにのみ関係している。1つの実施形態によれば、通知はシステムの変化が発生する直前に行うこともできる。既に前述したように、システムの変化に関する情報により特定のアスペクトについてシステムの変化の重要性を評価することがトリガされ、重要性があることが判明すると、適応動作が前述したように実行される。システムの変化の重要性を確認するために、1つの実施形態によれば、システムの変化の後のアスペクトまたはアドバイスの一連のジョインポイントまたはジョインポイントシャドーを、アスペクトが最初にインストールし、ウィービングし、組み立てが行われたときまたは以前の重要な変化の事象に応じて前に適応動作が行われたときの一連のものとの比較が実行される。換言すると、システムの変化の後の新しい一連のジョインポイントまたはジョインポイントシャドーが、アスペクトに現在関連付けられている一連のジョインポイントまたはジョインポイントシャドーと比較される。実際にアスペクトと関連付けられた一連のジョインポイントシャドーが実際にアスペクトとに関連付けられる必要がある一連のものと異なっているように、この比較が両方のリストすなわち一連のものが相違しているという結果に至った場合は、適応動作が行われる。1つの実施形態によれば、重要性があると判明したシステムの変化が生じた場合に行われる適応動作には、代わりにまたは組み合わせて行う幾つかの動作が含まれる。このような動作には、ソフトウェアのインストールまたはアンインストール、コンポーネントの起動と停止とのうちのいずれかまたは両方、モジュールのロードとアンロードとのうちのいずれかまたは両方、または交換、およびアスペクトとアドバイスとのうちのいずれかまたは両方の再ウィービングまたはアンウィービングが含まれる。本発明による実施形態のさらに別の実施例は、図6A~図6Dに関連して説明する。図6Aは、特定の言語すなわちスクウィークで実行され、AspectSと呼ばれるスクウィークを用いるアスペクト指向プログラミングに対する一般的な方式による、従来のアスペクトのウィービングを概略的に示している。この言語を用いるアスペクト指向プログラミングの詳細については、RHirschfeldによる前述した文献を参照されたい。その中に、図6Aのさらに詳細な説明も記載されている。AspectSの方法によれば、アスペクトには1つ以上のアドバイスが含まれている。アドバイスはそれぞれ1つ以上のポイントカットを含み、ポイントカット自身はベースシステムの中にジョインポイントを設定するためのジョインポイント記述を含む。ジョインポイント記述子は、セレクタ方法およびジョインポイントを定義するためにセレクタを実行する受信機のクラスをアドバイスを受信するクラスとして特定する。アドバイスは1つ以上のアドバイス識別子をさらに含み、これにより、アドバイスに関連したポイントカットの動的な属性を記述できるようになる。さらにアスペクトは、アドバイスを実行するためのコードを含む。このため、AspectSは、アドバイスを実行するためのコードを表すクラスブロックコンテキストのインスタンスであるブロックを使用する。図6Aの上半分は、AspectSの環境におけるアスペクトを概略的に示しており、図6Aの中央には、ウィーバが概略的に示されている。このウィーバは、図6Aの上半分に例示されたアスペクトを、ベースシステム図示せずにウィービングする。アスペクトをベースシステムの中にウィービングするために、AspectSはいわゆるブロックメソッドラッパの位置を、アスペクトによってアドバイスされた様々なジョインポイントの中に記載された受信機のクラスのメソッドディクショナリの中に置く。これは、図6Aの下半分に概略的に例示されている。これにより、図6Aのボトムラインに示しているようにウィーバは、アスペクトがベースシステムへとウィービングされている構成システムを生み出す。AspectSは、アスペクトによってアドバイスされた種々のジョインポイントの中で記載された受信機のクラスのメソッドディクショナリの中にブロックメソッドラッパを配置する。ウィーバによって構成された構成システムのランタイムと同等なものが、図6Bに概略的に示されている。アドバイス、ポイントカットおよびその関連付けられたジョインポイント記述子に基づいて、メソッドラッパが使用され、対応するブロックコンテクスト計算によってアドバイスコードの実行が可能になる。前述した内容のより詳細な説明は、上記のRHirschfeldの文献の中にある。AspectSに関する従来の方式を説明したので、ここで例えばAspectSを実行する場合の本発明による実施形態を、図6Cおよび図6Dを参照して説明する。図6Cは、本発明に基づいて、どのようにアスペクトおよびその対応するアドバイスがベースシステム内の変化に対処するように修正されるかについて概略的に示している。図6Cからわかるように、アドバイス識別子は適応動作ストラテジーこれは、ブロックコンテクストの実行にも対応するを参照する。これにより、前述したように、本発明による実施形態の動作が実行される。適応動作ストラテジーには、何らかのシステムの変化について評価するステップと、行うべき適切な動作を決定するステップと、そのような動作を開始するステップとが含まれる。環境システムの変化に対する評価に基づいて、図6Cに概略的に示されているように、アスペクトもしくはアドバイスの再ウィービング、またはアスペクトもしくはアドバイスの削除などの種々の反応を実行できる。システムの変化を評価し必要な場合に適応動作をトリガするために、既にウィービングされたアクティブなシステムの中で使用および実行されるような、一連のジョインポイントまたはジョインポイントシャドーに対応し、またはそれらを反映するアクティブなポイントカットが提供される。システムの変化が発生した後で、変化したシステムに対する新しいポイントカットまたは対応する一連のジョインポイントまたはジョインポイントシャドーが評価され、既に存在するポイントカット有効なポイントカットまたはその対応する一連のジョインポイントまたはジョインポイントシャドーと比較される。重要性がある相違が存在すると判明すると、適切な適応動作が行われる。このことは、図6Dに示されているブロック図の中でさらに詳細に説明する。この図6Dでは図6Cに加えて、本発明の実施形態に基づいて実行する個々のステップも示されている。システムの変化事象aに関するアドバイスが通知される。アスペクトまたはアドバイスの代わりに、図6Dのaで示されているようにアスペクト以外の他のシステム要素も同様または代わりに通知される。通知されるシステム要素は、重要性の確認および適応動作のいずれかを実行できる要素である必要があり、または重要性の確認および適応動作を開始できなければならない。ここで、図4および対応する要素410を説明する。次に、システム要素は、変化と重要性がありそうなアスペクトまたはアドバイスに通知する。次に、重要性の確認および修正の開始が行われるステップb。これにより、次に、一連のジョインポイント、ジョインポイントシャドーとしてポイントカットの計算を開始するステップc。次に結果が、実際に動作中のポイントカット、すなわちシステムの変化の前、または現在のウィービングされたシステムの中で使用されているようなポイントカットまたはその対応する一連のジョインポイント、ジョインポイントシャドーと比較されるステップd。動作中のポイントカットとシステムの変化の後の新しいポイントカットとの間に何らかの相違が存在すると判明すると、適応動作ストラテジーが呼び出されてステップe、これによりシステムの変化に対処またはそれを補償するために適応動作が行われる。以下、本発明による実施形態の特定の具体例の実施例を説明する。この例証的な具体例は、スモールトークの方言であって当業者には周知のプログラミング言語であるスクウィークに基づいている。スクウィークによるアスペクト指向プログラミングの概念に関する説明は、上記のRHirschfeldによる文献の中にある。図7は、プログラムコードの要素であるC01、C02およびC03を示している。C01およびC02はそれぞれ、adviceMouseEnterおよびadviceMouseLeaveと名付けられている、マウスの動きに関係するアスペクトに対応したアドバイス用のプログラムコードを示している。C01は、マウスが入力されたときに実行するアドバイス用のプログラムコードを定義し、C02は、マウスが放置されたときにアドバイスを実行するためのプログラムコードを示しているそれぞれマウスを入力することまたは放置することに対応するマウスの事象の場合。ポイントカットには、モーフMorph例示的なクラスおよび全てのそのサブクラスにおいて、方法またはセレクタmouseEnteradviceMouseEnterの場合およびmouseLeaveadviceMouseLeaveの場合が実行される位置などのジョインポイント記述が含まれる。C03は、AsMorphicMousingAspectと呼ばれるこれら2つのアドバイスに属するアスペクトをウィービングするための例示的なコードを示している。実施例C01およびC02で示されているプログラムコードは、マウスの入力およびマウスの放置に対してアドバイスを実行する従来の実施例である。C01およびC02は、根底にあるベースシステムにおけるどのようなシステムの変化にも対処できない。ブロックC04に示しているプログラムコードは、このアドバイスによって実行されるベースシステム内のどのような変化も処理することができるアドバイスの実施例を与えている。C04はマウスの入力イベントに対するプログラムコードの実施例を与え、C05はマウスの放置に関連したアドバイスに対するプログラムコードの実施例を与えている。アドバイスが識別子を含むことが分かる。このような識別子により、アドバイスまたはアスペクトに関連したジョインポイントまたはジョインポイントシャドーの組の動的な属性の記述例えば、ポイントカットによって記述されるが可能になる。このような識別子の機能に関するより詳細な説明は、上記のRHirschfeldによる文献の中にある。ブロックC04およびC05の識別子は従来のコードのものとは異なり、すなわち、それらは適応動作モジュールアダプテーションと呼ばれるおよびアドバイスを再インストールするモジュールアドバイスの再インストールと呼ばれるを参照することを含むことが分かる。アダプテーションは、システムの変化に関してシステムを監視し、これらのシステムの変化を評価するためにシステム要素を参照して、このシステムの変化に重要性があると判明すると、アドバイスの再インストールを実行するコードまたは要素が変化に対処するために呼び出される。この識別子を用いて、ブロックC04およびC05で与えられるアドバイスは、システムの変化の後に、必要な場合、アドバイスを再インストールすることによってどのようなシステムの変化にも対処することができる。本発明の1つの実施形態によれば、本発明に基づいてシステムを実行するために3つの異なるエンティティーがある。1つのエンティティーはベースシステムであり、これはベースシステムを形成するモジュールまたは要素を備えている。アスペクトモデルこれはアスペクト要素またはアスペクトシステムと呼ばれることもあるは、ベースシステムとは異なり、それから分離している。このアスペクトモデルは、アスペクト、アドバイスまたはポイントカットなどを実行する要素またはモジュールによって形成され、またはそれらを備えることができる。ベースシステムとともにアスペクトモデルまたはアスペクトシステムは、ベースシステムおよびクロスカットの問題をベースシステムの中で実行するアスペクトモデルまたはアスペクトシステムによって形成される全体のシステムを形成する。全体のシステムの一部を形成する第3のエンティティーは、ベースシステム内の変化に適応的な方法で反応する可能性を提供する適応システムまたは適応動作要素である。3つのシステムベースシステム、アスペクトシステム、適応システムは別個のものであり、各システムが分離したエンティティーであるという意味で互いに切り離されている。1つの実施形態に基づいた各エンティティーは、そのエンティティーを実行または設計するルールおよび対応する表現プログラミング言語などのフレームワークを用いて構築される。各エンティティーベースシステム、アスペクトシステム、適応システムは、個別のモジュールまたは要素を備えている。このことは、図8に概略的に示されている。この図では、ベースシステムがボックス810として概略的に示されている。この図のベースシステムは、図1Aにも示されたベースシステムに対応しており、1つの実施形態では、より汎用的なコンピュータ言語スモールトークの方言であるコンピュータ言語スクウィークの中で実行することができる。ベースシステムに加えて、異なった別のエンティティーとして別のモデル、アスペクトシステム820図8を参照のことが存在する。1つの実施形態では、このアスペクトシステム820は、アドバイスコードを呼び出す必要がある、ベースシステム810の中のジョインポイントシャドーを選択するアドバイス要素図示せずおよびポイントカット図示せずを含むアスペクト825を備えている。アスペクトシステムは、別個のエンティティーであり、またベースシステムに関係なく実行および修正することができるという意味で、ベースシステムから分離されている。ウィーバ835を通して、アスペクトシステムの中で定義されたアスペクトまたはアドバイスはベースシステム810の中にウィービングされ、これにより実行の準備ができた構成システム840を形成する。本発明の実施形態によれば、構成システムまたはベースシステムまたはアスペクトシステムの中のどのような変化にも適応することが必要となる。システムの変化に適応できるようにするために、全体的なシステムのさらなる要素第3の要素、適応システム860が提供される。1つの実施形態による適応システムは、ベースシステム内の何らかの変化に関する通知を受け取り、次にその変化を評価する要素を含む。アダプテーションシステムはさらに、1つの実施形態に基づいて、動作の選択を実行するアクションセレクタを備える。このアクションセレクタは、どの種類のシステムの変化またはどの種類の評価結果がどの種類の行うべき適応動作に導く必要があるかを定義するための一連のルールである。それはさらに、アクションセレクタによってなされた決定に基づいて必要であることが判明した適応動作を開始または実行のいずれかを行うための要素を備える。次に、適応システムは、適応動作を実行するために、ウィーバに動作を行わせることができる。これには、アスペクトシステム820のアスペクトまたはアドバイスの再ウィービングが含まれ、またアスペクトまたはアドバイスのアンウィービングも含まれる。前述したように、ベースシステム、アスペクトシステムおよび適応システムは別個のエンティティーである。これらのエンティティーは、適当なインターフェース、一般的には手順、方法または機能の直接または間接呼出しを通して相互作用を行う。これにより、これら3つのエンティティーを互いに独立に実行および修正することが可能となるため、大きな柔軟性が得られる。適応システム900について、図9を参照しながらさらに説明する。オブザーバ910は、ベースシステム内の変化に関する通知を受け取る。次に、オブザーバに接続されたエバリュエータ920は、システムの変化に重要性があるかどうかを評価する。重要性がある場合は、アクションセレクタ930がどの適応動作を実際に行う必要があるかを決定または選択する。そのために、アクションセレクタ930は、評価結果に基づいて、それがどのように決定されるかまたどの適応動作を行うべきか適応動作ストラテジーと呼ばれることもあるを定義するために一連のルールを実行する。次に、アクションセレクタは、全体的または部分的な再ウィービング、全体的または部分的なアンウィービングなどの複数の可能な適応動作ストラテジーがあるプール950から、この動作すなわち適応動作ストラテジーを選択する。次に、選択された適応動作ストラテジーは転送されて、実行するウィーバ960によって使用される。これにより、結果として変化された構成モデル970が生ずる。構成モデルまたはベースシステム内に何らかの別の変化が生じる場合、オブザーバ910から始まる全体の手順を再度トリガすることになることは容易に理解されよう。ここで、別の実施形態によるシステムの変化に関する評価について、さらに詳細に説明する。エバリュエータ920は、ベースシステム内の変化に関する通知をオブザーバ910から受け取る。前述したように、次にこの変化が評価され、幾つかの可能な評価結果の1つをもたらす。この結果として例えば、システムの変化の後で、システムモジュールを追加する場合は、より多くのジョインポイントシャドーをウィーバがウィービングするべきであり、システムモジュールを取り外す場合は、より少ないジョインポイントシャドーをウィーバがウィービングするべきであるといったことがポイントカットにより示される。このことは、前の実施形態に関連して既に説明したものである。評価結果に基づいて、アクションセレクタ930は次に、どの動作適応動作ストラテジーを実際に行う必要があるかを決定する。下記の特定のルールによって、アクションセレクタ930は、使用すべき適応動作ストラテジーを決定する。例えば、システムの変化の後でより多くのジョインポイントシャドーをウィービングする必要がある場合は、可能な方法の集まりであるプール950から選択される適応動作ストラテジーは、アスペクトをベースシステムへとウィービングするということである。別の場合における評価の結果は、システムの変化の後で、より少ないジョインポイントシャドーをウィービングする必要があるということである。このとき、適応動作ストラテジーに基づいて選択される動作は、アスペクトがベースシステムからアンウィービングされることである。次に、ウィーバは、適応モジュールからアンウィービングが実行されるべき旨の通知を受ける。ベースシステム、アスペクトモデルおよび適応動作モデルが3つの別個のエンティティーであることは、前に説明した。しかしながら、特定の実施形態によれば、適応システムの幾つかの部分は、アスペクトモデルの要素または部分として実行することができる。例えば、オブザーバ910は、既に前に説明したように、例えばシステムの変化についてアスペクト、アドバイスを登録することによって、アスペクトまたはアドバイスの一部として実行することができる。ここで、アスペクト、アドバイスがシステムの変化に関する通知を受け取ると、それは評価を開始するか例えば、機能呼出しによってまたは自分で評価を実行する。アスペクト、アドバイスが特定のポイントカットに関連付けられているため、この特定のアスペクト、アドバイスについてシステムの変化に重要性があるかどうかを確認することができる。このことは、前述したように、システムの変化の前後のポイントカットを評価することによって行うことができる。これにより、特に個々のアスペクト、アドバイスに対する評価を実行することが可能になる。ベースシステム内のある種の変化は全てのアスペクト、アドバイスについて必ずしも重要性があるというわけではないため、これは好都合である。機能または手順の呼出しを通してアスペクト、アドバイス自体が実行した評価の後で、アクションセレクタが次に呼び出されて、適当な適応動作ストラテジーを決定する。この実施形態では、オブザーバおよびエバリュエータがアスペクトシステムの一部として実行され、次に適当な適応動作ストラテジーを選択して実行を開始するために、アスペクトシステムは評価の後に適応システムを呼び出す。前の実施形態によれば、オブザーバおよびエバリュエータ図9内の要素910および920はアスペクトシステムの一部であるが、別の実施形態によれば、これらの要素はその代わりにウィーバの一部を形成する。例えば、ウィーバはシステムの変化に関する通知を受けて、そのシステムの変化を評価するか、または機能呼出しを通して評価を開始する。ウィーバ自身がシステムの変化を評価する場合、ウィーバは評価結果を適応システムに転送する。適応システムのアクションセレクタは、適応動作を選択する役割があるため、適当な適応動作を選択してその実行を開始する。このため、前の実施形態によれば、図9に示したオブザーバ910およびエバリュエータ920は、適応システムの一部ではなくてアスペクトシステムまたはウィーバの一部である。ここでも適応システム、アスペクトシステムおよびベースシステムは、直接または間接呼出しを通して通信する3つの別個のエンティティーのままである。前述したように、アクションセレクタの中で実行される適応ルールは、システムの変化またはそれらの評価と行う必要がある適応動作選択された適応動作ストラテジーとの間の対応関係を反映する。プログラマが例えばプログラミング時に、例えばどのシステムの変化が行うべき特定の適応動作デフォルトの適応動作をもたらすかを定義することによって、この対応関係を定義することができる。別の実施形態によれば、適応動作を行うという決定は、その決定が例えば他のモジュールまたは機能の評価、またはユーザの入力内容ランタイムの間のの評価などの、ランタイムの間に決定されるパラメータに依存するように実行される。例えば、新しいシステム要素を追加する場合は、このシステム要素を例えばロギングまたは追跡手順によって観察する必要があるかどうかをユーザは尋ねられ、その必要がある場合は、ユーザの肯定応答に反応して、適切な適応動作ストラテジーが選択され、これは例えば再ウィービングが実行されることを意味する。適応動作ストラテジーの選択は、アクションセレクタで実行されるルールを参照することによって、一般にランタイムの間に行われ、またこれらのルールは、望ましい適応動作能力を実現するために設計者の好みに基づいて実行することができる。上記の実施形態に関連して本発明を説明してきたが、これらは具体例の目的のみに使用されるものであり、本発明を限定すると解釈するべきではなく、また本発明の精神および範囲から逸脱することなく修正することができることは、当業者は容易に理解されよう。特に、本発明はソフトウェア、ハードウェア、または両方の組合せの中で実行できることは明らかである。本発明の要素は、ハードウェア、ソフトウェアまたは両方の組合せによって実現できる。説明の中で特定のプログラミング言語について言及したが、任意の好適なコンピュータおよび任意の好適なプログラミング言語を使用して本発明を実現できることを理解されたい。さらに、例示的なプログラムコードは、本発明の原理を説明するためにのみ例示的に使用されると理解すべきであり、このため本発明を限定すると理解してはならない。本発明の実施形態は、ソフトウェア、ハードウェア、または両方の組合せの中で実現することができる。例えば、ある実施形態によれば、本発明の実施形態を実行する装置は、本発明の前の実施形態に関連して説明した機能を実行できるように適応動作が行われ、またコンピュータまたはコンピュータシステムに取り付けられるウィーバを備えている。別の実施形態によれば、本発明の実施形態を実行する装置は、本発明の以前の実施形態に関連して説明された機能を実行できるように適応動作が行われ、またコンピュータまたはコンピュータシステムに取り付けられるアスペクトシステムを備えている。本発明のさらに別の実施形態によれば、本発明の実施形態を実現する装置は、本発明の1つ以上の前述の実施形態に関連して説明したように、コンピュータまたはコンピュータシステムが機能できるようにするソフトウェアが組み込まれている任意のコンピュータまたはコンピュータシステムとすることができる。"