Chapter 2. Jadex Control Center

The Jadex Control Center (JCC) represents the main access point for all available Jadex runtime tools. The JCC itself provides its functionalities via plugins and is therefore quite easily extensible. Currently the following plugins are shipped with the standard distribution of Jadex: Starter, DF Browser, Conversation Center, Introspector, Tracer, Test Center and Jadexdoc. Each tool provides its own perspective in the JCC and is described in subsequent chapters.

JCC window

Figure 2.1. JCC window

Main aspect of the JCC is the project handling. A project is used to store user settings made in the JCC itself (like window sizes or user settings) and the settings from the various plugins. Project files consist of a main project file (ending ".jpr" for Jadex project) and additional property files for each plugin. In addition, the JCC uses a startup configuration, taken from the configuration under the key jcc.plugins which is will be taken from the path specified in the startup argument (-conf in Standalone resp. -Dconf= when using JADE). If the platform has been started without the conf option Jadex will search first in the current start directory for jadex.properties and if there are no properties available the properties will be loaded from the jar file (e.g. from jadex_standalone.jar in case of the standalone platform). In addition to the plugin list the configuration also contains a pointer to the last project the user worked with (jcc.project). At the launch time of JCC the last project will be automatically reopened.

Note

The Control Center is realized as Jadex agent jadex/tools/jcc/JCC.agent.xml and is started per default when the Standalone platform is launched. To prevent the Control Center being started the -nogui option can be used for the Standalone platform. Using other adapters the Control Center can be launched by simply starting the corresponding JCC agent mentioned above.

2.1. Using the JCC

The Jadex Control Center provides different graphical areas that are partly customized by some of the plugins. Basically the JCC offers:

  • a menu bar for invoking basica actions. Concretely, the "File" menu provides options for loading/saving the current project settings. In addition, the currently opened project name is displayed in the JCC window's title bar (see Figure 2.1, “JCC window”). The "File->Settings" menu item allows to open the platform settings dialog described in Section 2.2, “Platform Settings”. The "File->Exit" menu item allows to close the GUI and kill the JCC agent, and optionally shutdown the whole platform. The "Help" menu provides access to the Jadex help system and the Jadex homepage. Besides this menus plugins may add additional entries that can be used for executing plugin-specific actions.

  • a tool bar that offers shortcuts for often used actions. The toolbar is thereby devided into two parts. On the left hand side plugin- specific actions are displayed. On the right hand side the available plugins are shown. The buttons at the right side of the toolbar allow to switch between the perspectives each provided by a plugin (Starter, DF Browser, Conversation Center, Introspector, Tracer, Test Center or Jadexdoc).

  • a console window nearly at the bottom of the JCC window. The console simply shows all output that is written to the System.out (black font color) and System.err (red font color) streams. The buttons on the right hand side allow to turn off the console and to clear the current output.

  • a status bar at the bottom of the JCC window. This bar fulfills two functionalities. On the left hand side currently relevant information is printed out, e.g. when a project was successfully loaded or an agent file was scanned for errors. On the right hand side small animated icons appear whenever some activity is performed in the background (e.g. scanning files for agent testcases).

2.2. Platform Settings

The settings dialog available from the "File" menu is used to set up diverse options for the Jadex platform and agent loading process. It is shown below in the Figure 2.2, “Platform settings dialog” and includes following options.

Expression evaluation.  Jadex provides several options how to evaluate the Java expressions contained in ADFs. The built in interpreter features fast loading times, but limited runtime performance, as the Java statements have to be interpreted on every access. The interpreter allows to restart plan classes, when they have changed. This allows to try out a change in the Java code without having to restart the platform. Note, that this feature should only be used for debugging, as it slows down the system. The alternative to the interpreter is the on-the-fly compiler based on Janino, which is available from the Jadex homepage as an add-on. In order to further speed up the process of agent loading and execution, the compiled expressions may be saved directly to a cache file. The options "Write to file-cache enabled" and "Read from file-cache enabled" activate this behavior.

XML model loading.  The XML model loading section allows to influence how Jadex loads agent and capability models. When integrity checking is enabled all loaded agent and capability models are checked against a set of consistency rules (syntax of Java expressions, validity of cross references between goals and plans, etc.). The platform will refuse to start invalid agent models. The feature can be disabled to improve performance in deployed applications. Furthermore it can be determined if model caching should be used. In case it is enabled Jadex will load a model only once from an XML file and will afterwards use a master Java model from which new model instances are cloned. With the auto-refresh option it can be specified if Jadex should always check the timeliness of the files. When turned off files will always be loaded from cache regardless of their timeliness.

Generic settings.  The gereric settings allow for customizing several minor platform features. If the welcome message printed to the console shortly after start-up is unwanted it can be turned off here. Additionally the exit behaviour can be specified. The default behaviour when closing the JCC user interface is that the user is asked if he wishes to shutdown the platform also. To avoid this prompting it can be set to automatically shutdown the platform or keep it alive without asking.

Platform settings dialog

Figure 2.2. Platform settings dialog