SimCom

This document provides a description of the Simulated Commander element responsible for making automated command decisions when a human commander is not feasible or desirable.

It provides capabilities for replacing the human commander in unmanned missions in the command decision making processes during these missions. It provides the automated decision making functionality needed to conduct the mission. It isn't feasible for many reasons to have human commanders at the command position. In this event this would entail using automated surrogates.

It is important to note that in the Decision Aids construct of a Simulated Commander, unmanned assets such as radar subsystems or laser subsystems, do not have a simulated commander. They have algorithms that determine their functionality and performance built in, but they don't rely on a Simulated Commander for decision making. The various unmanned subsystem functionality algorithms, such as Guidance and Control or sensor data processing, are not part of the Decision Aids software functionality.

The overall objective of this task was to apply the applicability of state-of-the-art command decision algorithms to the Decision Aids effort, and to develop a preliminary design of the Simulated Commander. In support of this objective, this effort focused on an investigation of the behavior models and decision algorithms of potential use in the Decision Aids system, and preparing a preliminary design that reflects these models and algorithms.

The Simulated Commander is implemented as a rule-based expert system using CLIPS and FuzzyClips for uncertain reasoning.

CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. Created in 1985, CLIPS is now widely used throughout the government, industry, and academia. Its key features are:

FuzzyCLIPS is a fuzzy logic extension of the CLIPS (C Language Integrated Production System) expert system shell from NASA. It was developed by the Integrated Reasoning Group of the Institute for Information Technology of the National Research Council of Canada and has been widely distributed for a number of years. It enhances CLIPS by providing a fuzzy reasoning capability that is fully integrated with CLIPS facts and inference engine allowing one to represent and manipulate fuzzy facts and rules. FuzzyCLIPS can deal with exact, fuzzy (or inexact), and combined reasoning, allowing fuzzy and normal terms to be freely mixed in the rules and facts of an expert system. The system uses two basic inexact concepts, fuzziness and uncertainty. It has provided a useful environment for developing fuzzy applications but it does require significant effort to update and maintain as new versions of CLIPS are released.

Following is an example CLIPS rules code fragemnt from a National Missile Defense (NMD) scenario:

(defrule defcon_change_authority
(or (and (center CCC) (or (position DO_1)(position DO_2))) (and (center BMDC) (position DR))) =>
(assert (authority defcon_change_authority))
(printout t "Authority to change DEFCON level granted" crlf))

(defrule roe_change_authority
(center CCC) (or (position DO_1)(position DO_2)) =>
(assert (authority roe_change_authority))
(printout t "Authority to change Rules of Engagement granted" crlf))

(defrule msn_obj_change_authority
(center BMDC) (position DR) =>
(assert (authority msn_obj_change_authority))
(printout t "Authority to change Mission Objectives granted"crlf))

(defrule bp_change_authority
(center BMDC) (position DR) =>
(assert (authority bp_change_authority))
(printout t "Authority to change Battle Plan granted" crlf))

(defrule dea_change_authority
(or (and (center CCC) (or (position DO_1)(position DO_2))) (and (center BMDC) (position DR))) =>
(assert (authority dea_change_authority))
(printout t "Authority to change Defense Engagement Authority granted" crlf))

(defrule rp_change_authority
(or (and (center CCC) (or (position DO_1)(position DO_2))) (and (center BMDC) (position DR))) =>
(assert (authority rp_change_authority))
(printout t "Authority to change Readiness Posture granted" crlf))

(defrule Initial_DEFCON_Change
(authority defcon_change_authority)?current <- (defcon ?x) (test (> ?x 1)) =>

(retract ?current)
(assert (defcon 1))
(printout t "Acknowledge DEFCON change to 1" crlf))






© Ellis Interstellar LLC 2017 (All Rights Reserved)