コミュニティ内検索
コンテンツ
MASツール
artisocモデル
その他
翻訳

FAQ

メインページ »» artisoc-組込み関数

目次


「DelAgtSet2」と「RemoveAgt」の違い
DelAgtSet2とRemoveAgtは名前は違いますが、動作内容は一緒です。
お好きな方を使用して下さい。
「KillAgt」、「DelAgt」、「TerminateAgt」の違い
◆「KillAgt」◆
【削除方法】
 エージェントにkillフラグを立てる。killフラグを立てられたエージェントは、ステップ終了時に全て削除される。
【使用時の注意】
 エージェントが削除されるのはステップ終了時なので、「KillAgt」を実行したステップ内では「CountAgt」関数実行時に「KillAgt」が実行されたエージェントもカウントされます。削除されないエージェントのみを数えたい場合は「CountAliveAgt」関数をお使いください。
 「KillAgt」では、エージェント型変数(以下Agt)やエージェント集合型変数(以下AgtSet)に「KillAgt」が実行されたエージェントが格納されていても、その内容を更新しないため、「KillAgt」によってエージェントが削除された後もAgt変数やAgtSet変数内に消されたはずのエージェントが格納されたままとして取り扱われます。従って、AgtSet変数内のエージェントを削除しても「CountAgtSet」実行時に取得できるエージェント数は減りませんし、居ないはずのエージェントを「GetAgt」で取得しようとするとエラーが発生します。
 「KillAgt」使用時は、削除するエージェントが格納されたAgt変数やAgtSet変数からエージェントを削除するか、「TerminateAgt」をお使いください。
【CPU負荷】 小


◆「DelAgt」◆
【削除方法】
 「DelAgt」が実行されると、エージェントはルール実行中でも即座に削除される。
【使用時の注意】
 エージェントは即座に削除されるので、「CountAgt」で正しいエージェント数が取得できます。
 Agt変数やAgtSet変数に関しては、「KillAgt」同様に更新を行いませんので、使用時は、削除するエージェントが格納されたAgt変数やAgtSet変数からエージェントを削除するか、「TerminateAgt」をお使いください。
【CPU負荷】 中


◆「TerminateAgt」◆
【削除方法】
 「TerminateAgt」が実行されると、エージェントはルール実行中でも即座に削除される。
【削除されたエージェントの情報】
 エージェントは即座に削除されるので、「CountAgt」で正しいエージェント数が取得できます。
 「TerminateAgt」では、実行時にAgt変数とAgtSet変数の内容を更新していきます。従って、「KillAgt」や「DelAgt」使用時のようにAgt変数やAgtSet変数からエージェントの情報を削除する必要は無く、「CountAgtSet」実行時に削除されたはずのエージェントがカウントされることはありません。

【CPU負荷】 大


Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.( 会社情報 情報セキュリティ・個人情報について )