Modules in Git Repositories

Contents on this page:


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