Contents on this page:
- Descriptions of active Git modules
- Descriptions of inactive Git modules
- .jar File naming
- How to access each module in Git
- Modules in FCS-LDSS
- Empty Repositories
Active Module Descriptions
As of Release 12.7, the following modules are active and included in the release.
| Repository | Module (Subdirectory) | Description |
| build | build | Mostly obsolete release and build scripts, with code generators. Will eventually incorporate any needed functionality into zen-build |
| build | zen-build | Current release and build scripts. Builds the Cougaar zips |
| core | core | Critical Core Cougaar infrastructure (including Node, Agent, Blackboard, etc) |
| core | Cougaar | Eclipse project that has all other modules as dependencies to serve as central focus point |
| core | jars | Third-party jar files |
| mts | mtslinks | Message transport link type specific code |
| mts | mtsstd | Standard Cougaar Message Transport System (threaded, many lanes, several protocols) |
| planning | planning | Planning domain for Tasks, Assets, etc |
| qos | qos | Quality of Service support (for Metric Service) |
| qos | qrs | QuO “resource-status-service” |
| tutorials | community | The community (whitepages) cougaar tutorial |
| tutorials | hello | The hello cougaar tutorial |
| tutorials | mandelbrot | The mandelbrot cougaar tutorial |
| tutorials | mesh | The mesh cougaar tutorial |
| tutorials | ping | The ping cougaar tutorial |
| util | base | Basic configuration and documentation of Cougaar |
| util | bootstrap | Class loader that scans lib/*.jar and sys/*.jar, so Cougaar needs no CLASSPATH edits |
| util | util | Cougaar Component Model |
| webserver | webmicro | Cougaar minimal http-engine and simple http-tunnel. The engine is a simple component wrapper around the org.cougaar.lib.web.micro.base.ServletEngineImpl implementation. It is sufficient for most servlet-based UIs. The tunnel is primarily a proof-of-concept. In general, it’s better to redirect a browser to the correct URL than it is to tunnel HTTP requests for that browser |
| webserver | webserver | Servlet service support excluding the server itself |
| webserver | webtomcat | Servlet service implementation that uses Tomcat 4.0.3 build as of 4/8/02. Loaded by the webserver’s RootServletServiceComponent via reflection |
Note that these modules encompass 345,412 lines of java (per wc -l, so including blanks and comments) across 2,103 .java files.
Inactive Module Descriptions
Status tells the last release for which the module was supported. A status of UL means that the module has not been maintained since the Cougaar was originally developed for Ultralog, ending in 2004; this code would take a lot of effort to resurrect.
| Repository | Module (Subdirectory) | Status | Description |
| acme | acme old_acme |
UL | Automation scripting environment |
| adaptive | datafeeds | 12.6 | Quality of Service support (for MTS) |
| adaptive | tools | 12.6 | Tools for Cougaar tutorials |
| aggagent | aggagent | 12.4 | Agent that aggregates data from multiple remote agents for scalable UIs |
| al-cdpredictor | castellan cpe hydra |
UL | Logistics planning sensors and predictors; Customer demand predictor enables the supplier agent in which the predictor is hosted to estimate the customer demand if communication link goes down |
| awb | ACMEPy CSModel GameOfLife awb awbOLD |
UL | “Agent workbench” IDE |
| bol2 | BOL2 | UL | “Books online” tutorial |
| ccm | ccm ccm_12 | 12.4 | Cougaarsoftware UI to view agent configs |
| certauthority | certauthority | UL | Security certificate authority core; Provides components to build an agent-based certificate authority for the Cougaar system |
| cf-ruby-cvs-exp | cf-ruby-cvs-exp | UL | CVS history html scripts |
| community | community | 12.4 | Original Agent peer group support; now see core/core package org.cougaar.core.service.community in core.jar |
| core | javaiopatch | 12.4 | Patch for allowing persistence of complex objects |
| cougaar | errata | 12.4 | Release errata documents |
| cougaaride | cougaaride | 12.4 | CougaarSoftware Eclipse IDE |
| cougaarlegacy | coabs predictiveassessment sam_2_0 |
UL | Legacy logistics code and visualizer |
| cougaarunit | CougaarUnit cougaarunit2_0 |
UL | Cougaar unit test framework for Cougaar component plugins |
| csmart | csmart | 12.4 | Cougaar configuration and experimentation UI. See CSMART Docs. Doesn’t scale well |
| cui | uiframework | UL | Inventory and transport UIs |
| cws | webaxis | 12.6 | Web Services support for Cougaar: send and receive SOAP calls from Cougaar plugins, and use SOAP as an MTS protocol |
| delta-blackjack | delta-blackjack | UL | Logistics spinoff project |
| examples | pizza | 12.6 | The pizza cougaar tutorial |
| examples | tutorial | 12.6 | Comprehensive training tutorial |
| exnihilo | exnihilo | UL | Agent load balancer; facilitates load balancing and dynamic reconfiguration, using simulated annealing to solve problems in constrained optimization similar to multi-dimensional bin packing of various constraints and with a number of different objective functions |
| fwsupport | fwsupport | UL | Security https-mts support (some already merged into mtsstd); provides components to deploy a Cougaar society across firewalls, as well as tools to configure firewalls. The project will also include tools to deploy a society when firewalls are configured with NAT enabled |
| glm | glm toolkit |
12.6 | Generic Logistics Model domain. Defines “Organization” |
| logistics | bbn | UL | Adaptive Logistics plugins and domain. Resulting jar is called albbn.jar |
| logistics | datagrabber | UL | Logistics plugins and UI; contains components which model basic logistics functions such as demand generation, inventory management and strategic transportation, plus a TPFDD viewer |
| logistics | stoplight | UL | Logistics stoplight UI |
| message-router | MessageRouterLib WinMessageRouterClient cppmessagerouter WinMessageRouter WinMessageRouterLib | UL | light-weight messaging server meant to provide a reliable and efficient message-switching capability among a large number of dedicate clients, without security. Allows the linux and Windows Message Routers used to support acme |
| micro | micro | UL | Java-Micro-Edition variant of Cougaar to support operation on resource-limited embedded devices. It runs on platforms like TINI, aJile, J2ME CLDC and J2SE. APIs are incompatible with the Cougaar release |
| probemeister | probemeister | UL | Tool for dynamically inserting code into Java bytecode running locally or remotely. Both a GUI and programmatic interface are supported. ProbeMeister is currently implemented using the Java Debug Interface (JDI) under JDK 1.4 |
| profiler | profiler_impl profiler_servlet profiler_stub profiler_transform | 12.4 | Memory Profiler; made obsolete when Sun released better profiling tools |
| qos | ping | 12.4 | Ping application for simple performance testing |
| qos | qou | 12.4 | Quality of Objects support (metrics) |
| robustness | Coordinator common mgmt_agent msglog believability disconnection msgAudit sensors |
UL | Dead-node detection and automated recovery; provides a forum for discussion and design of a “robust” Cougaar and hosts a variety of components that enhance the robustness, scalability, and general systemic survivability of Cougaar-based applications |
| securebootstrap | securebootstrapper | UL | Security jar verifier and cert-authority client; includes a Java security manager for Cougaar, a class loader that verifies the signature of JAR files and a basic key manager to store cryptographic keys of trusted issuers |
| securemonitor | securemonitoring | UL | Framework to generate, analyze and correlate events generated by security sensors in the Cougaar system |
| secureutil | securityutils | UL | Provides the declaration of Cougaar security services, including cryptographic services, monitoring and response services, and user access control services |
| securitycore | Networkanalysis coordinator installer oldMandR safe securityservices UML dataprotection moptools overlay securityTests |
UL | The security services core project provides a collection of security services: signing, encryption, key management, message access control, identity management, SSL support, blackboard access control |
| servicediscovery | servicediscovery | 12.6 | Provides Plugins and LPs to allow Cougaar Agents to establish Relationships at runtime, by doing service lookups and matching (think UDDI); Agent discovery and dynamic relationships using the yellow pages |
| support | cf-dashboard example support |
12.4 | Obsolete infrastructure of old CougaarForge website |
| trimcougaar | ChangeMe | 12.6 | Example eclipse project; code to start from and change |
| trimcougaar | TrimCougaar | 12.6 | Core subset of Cougaar: built distribution to use as a COUGAAR_INSTALL_PATH |
| util | contract | 12.4 | Utility code for implying contracts; Experimental predicate language, used by /tasks servlet advanced queries |
| util | server | 12.6 | Application-Server (“AppServer”) is used to spawn Cougaar Nodes from a remote console |
| vishnu | vishnuClient | 12.4 | Powerful tool for performing all types of scheduling. It includes an automated scheduler that can find optimized schedules and a browser-based user interface for viewing and editing schedules and data. Vishnu is platform independent |
| yp | hsqldb juddi uddi4j yp |
12.6 | Distributed hierarchical yellow pages directory service (UDDI); provides a Yellow Pages like directory service. Agents may register services, and Plugins may query the YP looking for an Agent that can provide that service |
Note that these inactive modules/repositories encompass 420,109 lines of java across 7,637 .java files.
.jar File naming
The resulting jar file names in the build are typically the directory name under the top-level directory. Example: “mts” has a “mtsstd” subdir, so the jar is named “mtsstd.jar”.
There are definitions for this in build/build/data/default.build in lines like [jarname].repository = [source directory].
Git Repository Access
The Git repositories are available on cougaar.org read-only to the world, using the HTTP protocol (via git-http-backend).
Repository URLs
The Git repositories are described in the table below. Note that the attic repository is a place where all no-longer-supported modules live in addition to being recoverable from their original repository in older branches; similarly, the examples repository is the place where no-longer-supported demos live.
| Repository name | Command to clone (on *nix systems) |
| acme.git | git clone http://cougaar.org/git/acme.git |
| aggagent.git | git clone http://cougaar.org/git/aggagent.git |
| adaptive.git | git clone http://cougaar.org/git/adaptive.git |
| al-cdpredictor.git | git clone http://cougaar.org/git/al-cdpredictor.git |
| attic.git | git clone http://cougaar.org/git/attic.git |
| awb.git | git clone http://cougaar.org/git/awb.git |
| bol2.git | git clone http://cougaar.org/git/bol2.git |
| build.git | git clone http://cougaar.org/git/build.git |
| ccm.git | git clone http://cougaar.org/git/ccm.git |
| certauthority.git | git clone http://cougaar.org/git/certauthority.git |
| cf-ruby-cvs-exp.git | git clone http://cougaar.org/git/cf-ruby-cvs-exp.git |
| community.git | git clone http://cougaar.org/git/community.git |
| core.git | git clone http://cougaar.org/git/core.git |
| cougaar.git | git clone http://cougaar.org/git/cougaar.git |
| cougaaride.git | git clone http://cougaar.org/git/cougaaride.git |
| cougaarlegacy.git | git clone http://cougaar.org/git/cougaarlegacy.git |
| cougaarunit.git | git clone http://cougaar.org/git/cougaarunit.git |
| csmart.git | git clone http://cougaar.org/git/csmart.git |
| cui.git | git clone http://cougaar.org/git/cui.git |
| cws.git | git clone http://cougaar.org/git/cws.git |
| delta-blackjack.git | git clone http://cougaar.org/git/delta-blackjack.git |
| examples.git | git clone http://cougaar.org/git/attic.git |
| exnihilo.git | git clone http://cougaar.org/git/exnihilo.git |
| fwsupport.git | git clone http://cougaar.org/git/fwsupport.git |
| glm.git | git clone http://cougaar.org/git/glm.git |
| logistics.git | git clone http://cougaar.org/git/logistics.git |
| message-router.git | git clone http://cougaar.org/git/message-router.git |
| micro.git | git clone http://cougaar.org/git/micro.git |
| mts.git | git clone http://cougaar.org/git/mts.git |
| planning.git | git clone http://cougaar.org/git/planning.git |
| probemeister.git | git clone http://cougaar.org/git/probemeister.git |
| profiler.git | git clone http://cougaar.org/git/profiler.git |
| qos.git | git clone http://cougaar.org/git/qos.git |
| robustness.git | git clone http://cougaar.org/git/robustness.git |
| securebootstrap.git | git clone http://cougaar.org/git/securebootstrap.git |
| securemonitor.git | git clone http://cougaar.org/git/securemonitor.git |
| secureutil.git | git clone http://cougaar.org/git/secureutil.git |
| securitycore.git | git clone http://cougaar.org/git/securitycore.git |
| servicediscovery.git | git clone http://cougaar.org/git/servicediscovery.git |
| support.git | git clone http://cougaar.org/git/support.git |
| trimcougaar.git | git clone http://cougaar.org/git/trimcougaar.git |
| tutorials.git | git clone http://cougaar.org/git/tutorials.git |
| util.git | git clone http://cougaar.org/git/util.git |
| vishnu.git | git clone http://cougaar.org/git/vishnu.git |
| webserver.git | git clone http://cougaar.org/git/webserver.git |
| yp.git | git clone http://cougaar.org/git/yp.git |
Please email support@cougaar.org with any patches in Git patch format.
Modules in FCS-LDSS
For reference, the FCS-LDSS project used the following Cougaar modules:
| bootstrap.jar |
| core.jar |
| javaiopatch.jar |
| mtslinks.jar |
| mtsstd.jar |
| ping.jar |
| planning.jar |
| qos.jar |
| qrs.jar |
| util.jar |
| webmicro.jar |
| webserver.jar |
| webtomcat.jar |
Empty repositories
The following repositories are now empty and are not available (even the commit history is not useful). The content previously in them has been deleted over time due to being temporary or obsolete.
| Repository | Module (Subdirectory) | Status | Description |
| cougaar-pmd | empty | UL | empty repository; left in place for historical record. Was Pmd (http://pmd.sourceforge.net/) source checker for Cougaar |
| dead | empty | UL | empty repository; left in place for historical record |
| firstpassagnt | empty | UL | empty repository; left in place for historical record. Previously, in order to mitigate the impact of high-volume structured and unstructured data we sought to develop single pass agents which act on information and triage/distribute work while reducing the number of file operations required to gain information |
| logplanner | empty | UL | empty repository; left in place for historical record |
| prototype | empty | UL | empty repository; left in place for historical record |
