Welcome to
Cougaar! 

Welcome to Cougaar!


Links


What is Cougaar?

Welcome to the Cognitive Agent Architecture (Cougaar) Open Source Project site. Cougaar is a Java-based architecture for the construction of large-scale distributed agent-based applications. It is a product of two consecutive, multi-year DARPA research programs into large-scale agent systems spanning eight years of effort.

The first program conclusively demonstrated the feasibility of using advanced agent-based technology to conduct rapid, large scale, distributed logistics planning and replanning. The second program developed information technologies to enhance the survivability of these distributed agent-based systems operating in extremely chaotic environments.

The resultant architecture, Cougaar, provides developers with a framework to implement large-scale distributed agent applications with minimal consideration for the underlying architecture and infrastructure. The Cougaar architecture uses the latest in agent-oriented component-based design and has a long list of powerful features.

In addition to the core architecture, documentation, and installers you will find here, this site contains a variety of demonstration, visualization and management components to simplify the development of complex, distributed applications.

As of the end of 2004, Cougaar is no longer DARPA-sponsored. The community will continue to provide periodic stable releases of the Cougaar Core Architecture as needed and agreed upon as a group. The vibrancy and evangelism of Cougaar is in the hands of you, the open source Cougaar user and developer.

The newest version of the architecture is 12.4. This site contains all of the Cougaar source code, bug tracking, Wiki pages, developer builds, mailing lists, and various Cougaar-related papers.

The "Cougaar" project (http://cougaar.org/projects/cougaar/) is the place where one can download Cougaar, overarching documentation such as the Developer's Guide, and published papers. The source for the standerd Cougaar (CougaarSE) downloads is maintained separate projects, such as core (http://cougaar.org/projects/core/) and planning (http://cougaar.org/projects/planning/).

Cougaar is wholly supported by the open source community. It was originally generously funded by the DARPA UltraLog program.

Cougaar is a full-fledged distributed agent architecture. Read on for details.

License

Cougaar is released under a generous open source (BSD-based) License (online here). It allows freedom to develop any commercial proprietary applications you like. It only asks that you contribute back to the community any modifications you make to the core architecture.

FAQ

For a basic overview of Cougaar, installation, comparison with other architectures, and other frequent questions, please see our FAQ. (Online here.)

At this point, there are probably two paths.

Developers and users may want to get something installed and running quickly, and may skip to the install instructions.

Researchers or managers may now want to learn more about Cougaar features first.

Cougaar Features

Cougaar has a long list of features, and the Cougaar site hosts many projects that add to the capabilities.

How to Install Cougaar

The main Cougaar project is CougaarSE (Cougaar Standard Edition). This is the base for most Cougaar uses and projects.

CougaarSE is easy to install. It will run on most OSes on desktops. In past versions, MySQL was usually required, and installers were provided. Now, many Cougaar applications will not require MySQL, so we just use ZIP files.

For installation instructions, see the install instructions (online here).

You may also want to view our comprehensive Getting Started document (online here).

Cougaar releases are posted under the CougaarSE project. The latest version is 12.4.

Starting to Learn

The first Cougaar application that most people will run is the Pizza Party application. This sample application uses many of the key features of CougaarSE, shows some of what Cougaar can do, and is heavily commented to ease you into using and developing with Cougaar. The Pizza documents are posted online here. This in turn is a sub-page, off of the "tutorials" project home page.

There are several other sample applications that you may choose to try. A performance testing application delivered with CougaarSE is the "Ping" application, which sends messages back and forth between a configurable number of agents. Alternately, there is a "Game of Life" application for use with the "Agent Workbench" application.

Delivered with every release are release notes, and an extensive online manual (online here), with extra sections on the MTS and QuO.

There are many pieces to a Cougaar release. For a listing, see this Contents page. Many Cougaar developers will appreciate the Eclipse plug-in CougaaarIDE.

Learn More About Using

Published papers, the developers guide, and other overview documentation are available under the CougaarSE project documents section. In particular, this section includes the Cougaar Developers Guide, and the Cougaar Architecture Guide. For a good overview paper on Cougaar, you might see the recent IEEE SMC04 paper.

Having read those (or skipped them), you might want to start learning how to program in Cougaar. We have an extensive set of tutorials (with slides to walk you through them). We also occasionally offer classes where we teach Cougaar. For more information, see the tutorials home page (includes links to slides and code download).

Get Working

The Cougaar web site (often referred to as Cougaarforge), uses GForge. To get started using the Cougaar website, you can create an account and then log in, for access to personalized pages.

The latest Cougaar Javadoc is also available online. You can also download it, at which point it will be available here.

Often, a good source of guidance and ideas is the source code itself; the code is the best documentation. Cougaarforge provides a convenient CVS web-browser. See in particular the CVS tree for the core module, planning module, and pizza sample application.

Cougaar has an active developers mailing list, "cougaar-developers@cougaar.org". It is used to discuss problems, application approaches, new directions, make announcements, etc. Take a look at the archives - a good source for common issues, and then to send the group a question.

Cougaar is all about open-source. Enhancement, problems, suggestions, RFEs, RFCs - all of these get tracked on our Bugzilla.

Several of the project have Wiki pages. In particular, the main CougaarSE project has a Wiki that includes a Roadmap for future releases. Other modules have wiki pages largely on special system parameters useful for tuning the behavior of those modules. These include:

Core Wiki, Community Service Wiki, Adaptive Logistics Wiki, MTS Wiki, and Service Discovery Wiki.

Cougaar does regular builds of the HEAD of the CougaarSE CVS modules. Part of this build includes automatic JUnit testing, PMD testing, etc. Although primarily for core CougaarSE contributors, you can always view the Cougaar Dashboard. Additionally, interim, development "bleeding-edge" builds are done regularly. These development builds are likely to be broken periodically and are not for production use. With that caveat, you may use the latest build results.

Contribute back your ideas!

Cougaar is wholly supported by you, the open source developer. Please enter bugs, submit papers, participate in the developers mailing list, propose projects, and spread the word about Cougaar!.