📄 agent.java
字号:
package SOMA.agent;
import SOMA.naming.*;
import SOMA.security.infrastructure.*;
/**
* <P>Classe astratta che rappresenta un agente.
* </P>
* <P> Per creare un agente e' necessario sottoclassare la classe Agent
* ridefinendo i metodi {@link #run()} e,
* se necessario, {@link #putArgument( Object obj )}.
* </P>
* <P> Il place mette a disposizione dell'agente un insieme di risorse,
* i cui riferimenti si trovano nel campo {@link #agentSystem}.
* </P>
* <P> Il place associa ad ogni agente un {@link SOMA.agent.AgentWorker worker}
* che permette di mandare in esecuzione l'agente stesso.
* </P>
* <BR>
* @see SOMA.agent.AgentSystem
* @see SOMA.agent.AgentWorker
*
* @author Livio Profiri
*/
public abstract class Agent implements java.io.Serializable
{
// Vedere le public
/** @serial*/
private AgentID myID = null; // Attenzione: non voglio che sia modificato direttamente
/** @serial
* Metodo che verra' eseguito alla prossima attivazione dell'agente.
*/
public String start = "run";
//public boolean Traceable = false;
//public Mailbox Mail = null;
/** <P>Interfaccia fra agente e sistema.
* </P><P> <code>agentSystem</code> contiene i riferimenti agli oggetti cui
* l'agente ha accesso. In questo modo e' garantita la protezione del sistema da
* possibili attacchi di agenti ostili, a cui non verranno forniti riferimenti
* a risorse critiche.
* </P><P> Questo campo e' <code>transient</code> perche' viene asegnato all'agente
* dal place in cui si trova.
* </P>
*/
public transient AgentSystem agentSystem = null;
public Mailbox mailbox = null;
/** @see #setTraceable( boolean ) */
public boolean traceable = false;
/** Riferiomento al worker dell'agente.
* <BR><BR><B>Attenzione:</B> il campo worker ha visibilit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -