Home Agent.GUI Internals Main Classes and objects
Main Classes and data objects of Agent.GUI Print option in slimbox / lytebox? (info) E-mail

The following class diagram gives an overview about the Agent.GUI main classes and their context. It is followed by a list of short descriptions for each class.

  1. agentgui.core.application.Application: this is the main singleton class that contains the main-method of the application and consequently it manages, beside other things, the start of the application as end user application or as server tool.
  2. agentgui.core.application.Language: This singleton class can be used in order to use the Agent.GUI translation functionalities application wide. In order to translate an expression within your code you can use 'Language.translate(“MyExpression”, Language.EN)' in your code, where the second parameter describes the source language.
  3. agentgui.core.project.ProjectsLoaded: Holds a list of currently open Agent.GUI projects (see also next bullet) and manages the creation of new or the opening of available projects. Furthermore it contains the methods for the import and export of *.agui - project files.
  4. agentgui.core.project.Project: This class holds all necessary information and instances for a single Agent.GUI project. In order to allow recognizing changes in the project configuration this class is designed with the observer pattern (or MVC pattern). Further and more detailed information can be found here.
  5. agentgui.core.project.DistributionSetup: This is a Project related class that holds the information about the current load balancing configuration and the usable thresholds for a distributed execution.
  6. agentgui.core.project.RemoteContainerConfiguration: This is also a project related class that stores the configuration of further JVMs that are to be operated on remote machines.
  7. agentgui.core.sim.setup.SimulationSetups: This class represents the list (or more detailed a Hashtable<String setupName, String fileName>) of SimulationSetup’s (next point) available in a Project (previous point). It also manages to add, open, copy, rename or delete SimulationSetup’s.
  8. agentgui.core.sim.setup.SimulationSetup: This class is used for a single setup of an agency. It basically contains the list of agents that have to be started for a single execution and therefore it stores also the start argument configuration for each agent. Here different lists can be defined and used with JAVA DefaultListModel’s from different sources within the application and for different purposes. Furthermore the class includes the current TimeModel configuration and an open slot for individual data objects.
  9. agentgui.core.sim.setup.SimulationSetup.CHANGED: This enumeration is used in the context of the Project-observer in order to distinguish between the different update reasons of a Project.
  10. agentgui.core.config.GlobalInfo: This class is used as general information storage for constant values or variables that are used application wide, as for example for:
    - relative or absolute paths to specific Agent.GUI folder locations
    - available EnvironmentTypes (or EnvironmentModel’s) for an Agent.GUI project
    - the FileProperties that are stored in the file './properties/agentgui.ini'
    - the version information of the application
    - internal image paths
    - and other
  11. agentgui.core.config.GlobalInfo.ExecutionMode: This enumeration describes the possible execution modes in which Agent.GUI can be executed. The current state of the application can be obtained by using Application.getGlobalInfo().getExecutionMode().
  12. agentgui.core.config.FileProperties: This class manages reading and writing of the file properties in './properties/agentgui.ini'
  13. agentgui.core.config.VersionInfo: Reads the internal version information and makes them accessible within the program context.
  14. agentgui.core.jade.Platform: This class manages the interaction between Agent.GUI and JADE. Therefore it provides methods to start and stop JADE as well as starting special JADE agents like the SnifferAgent and others.
  15. agentgui.core.webserver.DownloadServer: This class or better the HTTP-download server will be started if an Agent.GUI projects is executed. Then the server provides the external *.jar-resources of a project for downloads to distributed machines. There these files will be integrated into the ClassPath of the distributed JVM.
  16. agentgui.core.benchmark.BenchmarkMeasurement: The benchmark will be executed every time Agent.GUI starts within a different network context. It returns an average value for the calculating capacity of a single machine or computer.
  17. agentgui.core.update.AgentGuiUpdater: This class looks for Agent.GUI updates at http://update.agentgui.org or at the specified update site. The updater will start at most once a day or if you are selecting this functionality from the Agent.GUI toolbar.
  18. agentgui.core.database.DBConnection: The database connector to a MySQL database is - till now - just used for the ‘server.master’-execution mode of the Agent.GUI background system. If you would like to use the same MySQL-database for your own purpose, this class could provide the right methods for your own development.
  19. agentgui.core.database.DBConnection.Error: This is a sub class of the previous class that will hold the error stack in case of a database error.


Joomla templates by a4joomla