|
Release Notes
COUGAAR 12.4
|
Jump down to:
Introduction
This file contains the release notes for Cougaar 12.4.
Cougaar is an open-source, Java-based architecture that supports distributed,
agent-based applications.
Please visit the Cougaar Website
for overview slides,
documentation, news, and releases.
License
Cougaar uses the BSD-style "Cougaar Open Source License" (COSL).
Please see the License.txt (online version).
Contents
For documentation on the various zip, jar, and config files included in this release,
please see the Contents File.
What's New in this Release?
Cougar 12.4 is a minor release.
Changes:
- Added Eclipse project files for most CVS modules. To use, create
an empty Workspace, select "Import", "General - Existing Project",
"Next", browse for a module checkout (e.g. "ping"), then "Finish".
The "ping" example includes Run configurations for a single-node
benchmark and two-node ping test.
- Repackaged the ping demo source code from "core" to the "ping"
module:
org.cougaar.demo.ping.*
For example configurations see the "demo-ping.zip"
- Refactored the Message Transport "mtsstd" module to move all
protocol-specific LinkProtocols (RMI, JMS, etc) into a new "mtslinks"
module. The standard system now requires the "lib/mtslinks.jar".
- Added servlet tunneling support via the new "webmicro" module.
If enabled, this transparently replaces servlet HTTP redirects with Message
Transport -based "tunnel" messaging (e.g. to get through firewalls).
For details, see
OnlineManual/ServletTunnel.html
- Modified the XML parser to support "vm_parameter" and component
"argument" attributes. For example, instead of the old format:
<vm_parameter> -Dx=y </vm_parameter>
<argument> foo=bar </argument>
you can now use:
<vm_parameter name="-Dx" value="y"/>
<argument name="foo" value="bar"/>
Both the old and new formats are supported.
- Added support to track blackboard add/change/remove stacks and display
them in the "/tasks" servlet. This can be used to debug both which plugin
published an object (e.g. "publishAdded by com.FooPlugin[x=y,foo=bar] at
stacktrace) and all plugins and unique stacks that have changed
that object. To enable, set:
-Dorg.cougaar.core.blackboard.trackPublishers=true
run, then select an object in the "/tasks" servlet and click on the
lower-left "Publisher" link. In one real-world application that has many
blackboard operations, this option adds about a 30% runtime performance
overhead.
- Open-sourced the QuO "resource-status-service" third-party jar into
a new "qrs" module.
- Removed the "quo" module and its related "sys/quoSumo" third-party
library from the standard Cougaar release. These modules are still
available in CVS.
- Fixed several ThreadService bugs that were found in long-running
benchmark tests.
- Enhanced the util "Arguments" parameter parser to support complex
name=value entries and -D defaults. The plugin loader now supports
a "setArguments(Arguments)" method, such as:
public class MyPlugin ... {
// optional, called via reflection
public void setArguments(Arguments args) { ... }
}
- Added generics support to ServiceBroker. For example, instead of:
log = (LoggingService) sb.getService(this, LoggingService.class, null);
a plugin can now dow:
log = sb.getService(this, LoggingService.class, null);
- Added a "/favicon.ico" servlet to display the Cougaar logo in the
browser URL line. To delete or replace this image, change the new
"configs/common/favicon.ico" file.
- Added an optional "/file" servlet to provide full browser access to the
$COUGAAR_INSTALL_PATH file system. To enable, add the following component
to your configuration:
<component class="org.cougaar.lib.web.service.FileServlet">
<argument name=path value="/file">
</component>
- Enhanced metrics code-generators and base classes to support generics
and new operators, such as:
Volume v1 = Volume.newGallons(12);
Volume v2 = Volume.newGallons(34);
Volume v = (Volume) v1.add(v2); // new "add" method
- Added initial support for Cougaar annotations, such as:
public class MyPlugin ... {
@Cougaar.Arg(name="delayMillis", defaultValue="5000")
public long delayMillis;
...
}
See the HEAD "ping" module for a complete example.
- Removed some third-party dependencies in the core modules. For
example, the "util" module no longer depends upon "xml-apis" or
"xercesImpl".
Release notes for older Cougaar revisions can be found in the
Cougaar 12.2 Release Notes.
Requirements
Cougaar requires Java version 1.5 or 1.6. For details, please see the
Installation Guide.
Installation
Please see the Installation Guide and
Overview Slides.
Documentation
For additional details, please review the following documentation:
Support
For information on problems that were detected after this Cougaar version was released,
please see the Online 12.4 Errata File.
Errata for older releases can be found in the Online Errata Directory.
For questions or issues, please subscribe to the
cougaar-developers mailing list and
browse the mailing list archives.
Subscribers can post emails to the mailing list at
cougaar-developers@cougaar.org
If the above sources do not address your question or problem, please submit a bug report or
enhancement request to the Cougaar Bugzilla Website.