Cougaar

Last updated

Cougaar (acronym of Cognitive Agent Architecture) is a Java agent architecture.

Contents

History of Cougaar

Cougaar Software Inc. was formed in 2001. Investment in this project dates back to 1996 through DARPA. DARPA began funding projects to develop what became Cougaar Open Source.

Timeline

  • 1996 DARPA funds Advanced Logistics Program (ALP)
    • Program invests $80 Million to develop core architecture technology
  • 2000 DARPA decides to release ALP technology as open source and renames to Cougaar
  • 2000 DARPA funds the Ultralog program to extend Cougaar security, scalability and survivability for global battlefield conditions.
    • The program invest $70 Million to achieve ultimate survivability
  • 2001 Cougaar Software, Inc. starts to commercialize Cougaar Technology
  • 2004 CSI releases first commercial Cougaar based solution - ActiveEdge RFID Middleware
  • 2005 CSI releases first commercial Cougaar applications development environment
    • ActiveEdge Intelligent Agent Platform v1.0 Released
    • Three system integrator partner / customers choose the ActiveEdge platform for major operational initiatives
  • 2006 First Operational Instance of Solution based on ActiveEdge Solution provided through Partner for Major Retail Chain
  • 2007 Additional major partners and customers validate ActiveEdge
    • ActiveEdge v1.5 released
    • The Boeing Company licenses ActiveEdge
    • Additional Defense Contractor licenses ActiveEdge
    • CSI supports SAIC & Honeywell on ALCT application providing theater distribution planning:**El ejército de EE.UU. licencia ActiveEdge
  • 2008 ActiveEdge v1.6 released

Features

Cougaar agent architecture is an open source, which includes infrastructure and core services. Agents are autonomous software entities that communicate with other agents or external services for a specific domain functionality. Computing agents are based on a programming methodology that facilitates direct decomposition of complex tasks. The agents manage application behavior and environment handles systemic adaptation. The agents and the environment can develop, test and configure independently, but run together. Cougaar agent abstraction includes several integrated advanced services, such as:

  • Blackboard publish / subscribe for communication within the agent itself and between agents
  • Http servlet engine for UIs based
  • Knowledge representation system: logistics assets, FrameSets…
  • Coordination between agents through slate coordination mechanisms, assignments, etc.

Cougaar agent running on a node Cougaar (Java Virtual Machine), which itself runs on a host. That agent agrees with one or more plugins, which define the behavior of the agent. An agent with zero plugins does nothing. Unlike other architectures based entirely on messages, Cougaar is based on blackboard plugins as main data managers. The plugins react to the data on the blackboard adding / changing / deleting notifications. The Cougaar platform infrastructure transforms the data to the blackboard in inter-dealer operations, but this is hidden from the developer API. All plugins interagency coordination is implemented through asynchronous data subscriptions. The infrastructure of the blackboard adds / changes / deletes batch notifications, providing greater robustness and scalability to the system. The entire state is stored in the blackboard, which provides support for failure recovery. The core services are Cougaar component-based implementation, covering many fields such as mobility of agents between nodes, the persistence of agent state and subsequent recovery after a crash, a transport of messages supporting multiple protocols, etc..

Applications of Cougaar

See also

Sources

Related Research Articles

Visual programming language Programming language written graphically by a user

In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

Nagios Core, formerly known as Nagios, is a free and open-source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved.

NetApp American technology company

NetApp, Inc. is an American hybrid cloud data services and data management company headquartered in Sunnyvale, California. It has ranked in the Fortune 500 since 2012. Founded in 1992 with an IPO in 1995, NetApp offers cloud data services for management of applications and data both online and physically.

A blackboard system is an artificial intelligence approach based on the blackboard architectural model, where a common knowledge base, the "blackboard", is iteratively updated by a diverse group of specialist knowledge sources, starting with a problem specification and ending with a solution. Each knowledge source updates the blackboard with a partial solution when its internal constraints match the blackboard state. In this way, the specialists work together to solve the problem. The blackboard model was originally designed as a way to handle complex, ill-defined problems, where the solution is the sum of its parts.

A job scheduler is a computer application for controlling unattended background program execution of jobs. This is commonly called batch scheduling, as execution of non-interactive jobs is often called batch processing, though traditional job and batch are distinguished and contrasted; see that page for details. Other synonyms include batch system, distributed resource management system (DRMS), distributed resource manager (DRM), and, commonly today, workload automation (WLA). The data structure of jobs to run is known as the job queue.

In database computing, Oracle Real Application Clusters (RAC) — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments. Oracle Corporation includes RAC with the Enterprise Edition, provided the nodes are clustered using Oracle Clusterware.

IBM App Connect Enterprise is IBM's integration broker from the WebSphere product family that allows business information to flow between disparate applications across multiple hardware and software platforms. Rules can be applied to the data flowing through the message broker to route and transform the information. The product is an Enterprise Service Bus supplying a communication channel between applications and services in a service-oriented architecture.

OpenSAF is an open-source service-orchestration system for automating computer application deployment, scaling, and management. OpenSAF is consistent with, and expands upon, Service Availability Forum (SAF) and SCOPE Alliance standards.

Cytoscape

Cytoscape is an open source bioinformatics software platform for visualizing molecular interaction networks and integrating with gene expression profiles and other state data. Additional features are available as plugins. Plugins are available for network and molecular profiling analyses, new layouts, additional file format support and connection with databases and searching in large networks. Plugins may be developed using the Cytoscape open Java software architecture by anyone and plugin community development is encouraged. Cytoscape also has a JavaScript-centric sister project named Cytoscape.js that can be used to analyse and visualise graphs in JavaScript environments, like a browser.

The following tables compare general and technical information for a number of notable network monitoring systems. Please see the individual products' articles for further information.

Puppet (software) Open source configuration management software

In computing, Puppet is a software configuration management tool which includes its own declarative language to describe system configuration. It is a model-driven solution that requires limited programming knowledge to use.

Cloud computing Form of shared Internet-based computing

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. Large clouds often have functions distributed over multiple locations, each location being a data center. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, typically using a "pay-as-you-go" model which can help in reducing capital expenses but may also lead to unexpected operating expenses for unaware users.

Shinken (software)

Shinken is an open source computer system and network monitoring software application compatible with Nagios. It watches hosts and services, gathers performance data and alerts users when error conditions occur and again when the conditions clear.

The Application Interface Specification (AIS) is a collection of open specifications that define the application programming interfaces (APIs) for high-availability application computer software. It is developed and published by the Service Availability Forum and made freely available. Besides reducing the complexity of high-availability applications and shortening development time, the specifications intended to ease the portability of applications between different middleware implementations and to admit third party developers to a field that was highly proprietary in the past.

The Colony Framework is an open source plugin framework specification. Implementations of the specification offer a runtime component model, that allows for plugins to be installed, started, stopped, updated and uninstalled without requiring the application container to be stopped. The specification relies heavily on the Inversion of control principle, in order to make it easier for application components to discover and interact with each other.

Network functions virtualization is a network architecture concept that leverages the IT virtualization technologies to virtualize entire classes of network node functions into building blocks that may connect, or chain together, to create and deliver communication services.

Crowdsourcing software development or software crowdsourcing is an emerging area of software engineering. It is an open call for participation in any task of software development, including documentation, design, coding and testing. These tasks are normally conducted by either members of a software enterprise or people contracted by the enterprise. But in software crowdsourcing, all the tasks can be assigned to or are addressed by members of the general public. Individuals and teams may also participate in crowdsourcing contests.

iDempiere

iDempiere. Community Powered Enterprise, also known as OSGi + ADempiere, is an open source Enterprise Resource Planning (ERP) software that is fully navigable on PCs, tablets and smartphones, it also has customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.

Firebase Cloud Messaging (FCM), formerly known as Google Cloud Messaging (GCM), is a cross-platform cloud solution for messages and notifications for Android, iOS, and web applications, which as of 2021 can be used at no cost. Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or end users.

References