|
Release Notes
COUGAAR 12.4
|
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
CougaarOverview,
documentation, news, and releases.
License
Cougaar uses the BSD-style "Cougaar Open Source License" (COSL). Please see the
LicenseText.
Contents
For documentation on the various zip, jar, and config files included in this release, please see
ReleaseStructure.
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 ServletTunnel
- 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".
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 visit the
Community Forum and browse the
Projects discussion forums. Subscribers can also post questions to the forum at
General Questions
If the above sources do not address your question or problem, please submit a bug report or enhancement request to the
Cougaar Bugs Forum.
Topic revision: r7 - 18 Aug 2009 - 20:29:19 -
ToddWright