PCManager --------- This is an application which makes use of two of the IAgent-based intelligent agents. It represents an example of the utility of autonomous, but not necessarily intelligent agents. The main points of this application include: * The PCManager application allows a user to perform two major functions - set Alarms to go off at specified times or intervals. - set Watches on files or directories. * Each ALarm represents an instance of an autonomous 'TimerAgent'. The 'TimerAgent' spins its own Thread and then goes to sleep once for a one-shot alarm, or repeatedly for an interval alarm. * Each Watch represents an instance of an autonomous 'FilerAgent'. The 'FileAgent' spins its own Thread and then goes to sleep for 15-second intervals. When it wakes up, it checks the state of the target file or directory. To see the application in action you have to compile the application java file using: javac PCManager.java and produce 23 class files, apart from the 3 IAgent base classes, resulting with: IAgent.class PCManager.java AlarmDialog.java WatchDialog.java FileAgent.java TimerAgent.java IAgentEvent.java ExecuteDialog.java AlertDialog.java IAgentEventListener.java IAgentEventListener.class IAgentEvent.class PCManager.class PCManager$SymAction.class PCManager$windowEvents.class AlarmDialog.class AboutPCManagerDialog.java QuitDialog.java AlarmDialog$SymAction.class AlarmDialog$windowEvents.class TimerAgent.class WatchDialog.class WatchDialog$SymAction.class WatchDialog$windowEvents.class FileAgent.class AboutPCManagerDialog.class AboutPCManagerDialog$SymAction.class AboutPCManagerDialog$windowEvents.class QuitDialog.class QuitDialog$SymAction.class QuitDialog$windowEvents.class AlertDialog.class AlertDialog$SymAction.class AlertDialog$windowEvents.class ExecuteDialog.class ExecuteDialog$SymAction.class IAgent.java ExecuteDialog$windowEvents.class Then run the application by issueing the command: java PCManager Note: This code was tested using JDK1.1.8 which can be downloaded and installed from the site: http://staff.um.edu.mt/mmon1/lectures/java ----------------------------------------- MM2000