Common Domain Editor (CDE)

The CDE is a java-based, domain editor for constructing an operational specification of a planning domain. It can import the initial specification produced by the CPM and CPM toolset and can be used to translate to the language required by the O-Plan planning system (Task Formalism).

Running CDE

The CDE can be launched from the control panel or executed from a command prompt in the installed directory: "./cde". CDE runs as a java applet (using appletviewer, which is part of the JDK) which means that it may eventally be integrated into set of web pages and launched from a browser, but most of the current browsers fail to provide adequate support for the java api's. The initial specification which was translated and exported from the CPM toolset can be read into the CDE. See figure 1 for an example of domain editing session.

Figure 1 - The CPM toolset

See the "{target dir}/docs/papers/" directory for the CDE users guide which provides detailed information for working with the editor. The final specification may then be translated to Task Formalism using the File|Export to..|TF v2.3 menu option. CDE also provides access to its CPD->TF translator on the command line. For example, the command "java -classpath cde.jar cpd < input.cpd >". translates a cpd (sorted FOL) file to TF.


The CDE takes advantage of the latest java classes in the Java Foundation Class (JFC) library (formerly known as Swing). In order to ensure compatability and performance, download and install at least the JDK 1.2 beta 4 or later. See for downloading. CDE provides lots of features for managing domains. For example: it supports opening and saving specifications over the internet (using FTP) or to a local file system; internet-based communication with other tools (e.g. CPA); reading of system properties (e.g. user name); etc. Much of this was simply not allowed in an applet for early versions of java. The java security model has changed significantly to provide much more flexibility. In order to work with the CDE (using appletviewer), a few security measures must be addressed.

Detailed information about the new security architecture can be found here. The first step is to create a new security keystore using keytool (which comes as part of the JDK). Keytool can then also be used to import the certificate which can be found at: "{target dir}/source/school.key". This certificate was used to "sign" the java applet archives so they can be authenticated. The last two steps involve setting up "policy entries" for the security and in configuring appletviewer to use the new policy.

The JDK also contains a tool for managing security policies: policytool. Policytool provides a graphical user interface for setting up policy entries. One policy entry must be made for CDE and one for CPE although the rights will be identical. This gives these tools the permission to perform the specified acts. The required permissions are listed in "{target dir}/source/policy". Ensure that the appropriate {target dir} is specified and the correct socket for the CPA communication is entered.

Source code


Home Page | Email Author

Last updated 7 October 1998
by Steve Polyak