Skip to main content

IMC is a Service-Disabled Veteran-Owned Small Business (SDVOSB)

Software Development Experience

IMC provides custom software development for our customers. We use industry standards and best practices to develop both desktop and web-based applications.

IMC has developed a number of custom software solutions for government clients and also has several software products created through independent research and development efforts. This page contains more detail about several key software development efforts: TechWatch, Non-Kinetic (NonKin) Village, Joint Resource Allocation Model (JRAM), and Command and Control Training Tool (C2STT).

IMC developed TechWatch as part of the Technology Watch Program, a program directed by the Army Deputy Chief of Staff for Intelligence (DCSINT). The TechWatch tool helps Army force developers maintain military overmatch while ensuring prevention of technical surprise for the Future Force through the use of a web-based modeling and simulation software application. A full production version of TechWatch was installed in the National Ground Intelligence Center (NGIC) in early 2007.

Purpose and Background

The U.S. Army needed a process for forecasting when a potential enemy might have technologies that would threaten future Army capabilities. Through interviews and collaboration with NGIC analysts, IMC determined there was no available repository of empirical data to aid in formulating long-range technology predictions. Analysts were making predictions based on experience and research without reference to a storehouse of past predictive data. Even if such a data repository were available, it is unlikely that past predictions based on technological capability could be used as the statistical basis for future predictions without including extensive analytical judgment. The lack of a consistent methodology for deriving predictions hinders the knowledge transfer process when an analyst leaves NGIC; this increases the risk that knowledge gaps will occur. The IMC approach to TechWatch was structured to start building a storehouse of predictive experience, while making good use of available analytical judgment, with the ultimate goal of improving long-range time predictions.

Current Solutions

Current methods are developed individually by each analyst; there is no systematic process for performing the forecasts or archiving the data and rationale analysts use. They make point estimates that do not contain any information about the level of uncertainty with the estimate. IMC believes there are currently no other long-range predictive tools that provide the level of decision support offered by TechWatch.

What TechWatch Provides

TechWatch provides a systematic process and an automated tool to help analysts predict when a country or organization will have a technology at a level of maturity that poses a threat to our forces. Tech Watch ensures that each analyst uses a repeatable process that has been proven to be valid, and that the data and rationale used to make the estimates are archived for later review and use. The automated features of the tool allow analysts to rapidly perform parametric studies to assess the impact of uncertainty associated with the many factors that influence technology development. The Tech Watch Tool provides a probability distribution for the time estimate, not just point estimates that are available with current subjective approaches. Therefore, all time estimates are reported with the level of uncertainty associated with the forecast.

TechWatch captures analysts' views on how technologies mature and how specific countries or organizations acquire technology. This information is available in a concise, easy to understand format for other analysts to use; this is especially important when analysts retire or move to other jobs and they must turn their area of responsibility over to an analyst that is new to a technology or country.

TechWatch also provides a mechanism for acquisition managers to better predict how long it will take to develop new, complex systems for our own use. Errors in time estimates always translate into cost impacts, making it important to have the most reliable estimates on when a technology will be ready for insertion into a new system. For example, if a large defense contractor estimates a new system will be ready in five years and if Tech Watch helps analysts show that the probability of a critical technology being ready in this time frame is only 0.4, then there is a high likelihood that there will be significant schedule and cost overruns.

Where TechWatch Should Be Used

TechWatch should be used by: 1) the Intelligence Community to produce credible, long-term forecasts for when potential adversaries may reach threat-level technology capability, 2) acquisition decision makers in most federal agencies to provide estimates on when technologies will be available and integrated into operational systems, and 3) operational planners who need better time estimates on how long certain operations could take to complete; this help predict how long our own operations might take and how long our adversaries' operations could take.

IMC's Non-Kinetic (NonKin) Village is award-winning, versatile, and reconfigurable training software that creates non-scripted replicas of societies, such as an Afghan village or a U.S. inner-city school classroom. Users interact with virtual society members in real time to gain experience in cultures, norms, values, and relationship building based on the user's decisions during the simulation.

NonKin Village provides training developers with a small autonomous society (like The Sims or SimCity) that is reconfigurable for a number of cross-cultural training goals. Nothing is scripted – it is all based on social science models of the society of interest.

For instance, once the models are set up, trainees can use it like the mock villages at U.S. military forts to gain experience in foreign cultures and to learn to be sensitive to local norms, values, relationship building, and stakeholder issues prior to arriving in the country or region where they must interact with and possibly influence and assist natives in that culture. This is useful for many types of training such as, but not limited to, multinational corporations tutoring their workers, international aid organizations training their field representatives, diplomatic advisors and military forces needing to learn how to handle counter-insurgency, school teachers dealing with difficult classrooms, and stabilization and development issues.

Many specific types of training can be written with the agents in NonKin Village. The current NonKin release holds two demo games aimed at military player(s) and at helping them to learn how to profile and befriend the population, and to begin to help stabilize their society.

The purpose of NonKin Village demos is to teach the player about how to gain the trust of a foreign populace, learn about their concerns and grievances, and help them to improve their quality of life. IMC can set up similar scenarios for any society or organization that we can collect data on to model because Nonkin is a generator of artificial societies. Afghan, Iraqi, Palestinian, Somalian, and several South Asian cultures and communities as well as U.K. soccer hooligans and U.S. political protests have all been modeled with the tools under the hood of NonKin Village.

The common complaints about typical gameworld Artifical Intelligents (agents) are that they are narrow and brittle, have no allegiance or relationship to you, and are unaware of the larger world. We have tried to overcome this by making the agents cognitively rich (broad and deep), socially connected on many levels, and conversational about their world and relationships including the relationship to the user.

NonKin Village finished in first place in the "Patterns of Life" category in the 2011 Federal Virtual Worlds Challenge, an open, global challenge to the world for the best-of-the-best implementations as demonstrated in a virtual environment. The Challenge is an annual event led by the U.S. Army Research Laboratory's Simulation & Training Technology Center. The event is conducted to explore innovative and interactive solutions in virtual environments. The criteria are intentionally unbounded to encourage creative results. The focus for the 2011 Federal Virtual Worlds Challenge was artificial intelligence. Entries are a demonstration of a technology in a virtual environment and evaluators from anywhere in the world enter the submitted environments to experience the entries.

Read more about NonKin Village at

IMC began developing the Joint Resource Allocation Model (JRAM) in 2004 with internal funding and has been continuing to refine the product since its inception. A working prototype is available with a notional database.

Purpose and Background

JRAM is used to support adaptive planning, capability-based planning, and acquisition strategies for organizations responsible for national defense, homeland security, and disaster response. A prototype database currently exists for traditional, disruptive, catastrophic, and irregular military operations. JRAM can be used for disaster planning, assessing response capabilities, and adaptive planning during disaster operations with only database changes. JRAM helps identify the resource needs and shortfall for any future operation that is being contemplated or planned; it ensures optimum utilization of resources.

During the Cold War there were many attempts to build theater-level simulations to help support force structure decisions and to help operational planners. The success rate for the many attempted developments was low and those that were successful had more limited value than was often advertised. With the new challenges facing our military and homeland security organizations, large simulations are even harder to develop and have less utility because of the vast uncertainty of the way in which new military, homeland security, and disaster response operations will actually be conducted, making it very difficult to represent these operations in a model or simulation.

Current Solutions

The Office of the Secretary of Defense (OSD) and some of the military services are continuing to invest in large theater-level simulations. The Joint Warfare System (JWARS) has been in development by OSD/Director of Program Analysis and Evaluation (PA&E) (at a cost of about $150M) for eight years; it has limited use at Joint Forces Command (JFCOM). The U.S. Air Force has been developing STORM for six years; it has just recently been used to support an Air Force acquisition decision. The Joint Staff has invested heavily in the Joint Capability Integration Development System (JCIDS), although this is really a process and not a system. The organizational structure to support the JCIDS process has been in place for several years. There are two basic parts to the process: 1) proficiency assessments where specific capabilities are studied in isolation from other major capabilities and 2) sufficiency assessments where all the proficiency assessment results are integrated. Today each proficiency assessment team selects existing methods and tools that are most appropriate, but there is no quantitative method or tool for sufficiency assessments. Sufficiency assessments are driven by subjective judgment; there has been significant expenditure of funds to automate the gathering and scoring of subjective inputs to this part of the process. The methods and tools used by the Department of Homeland Security (DHS) to support acquisition decisions and adaptive planners for security operations and disaster response operations are, we believe, under initial development.

What JRAM Provides

JRAM uses the output from individual capability assessments (e.g., the proficiency part of the JCIDS process). These types of results are combined with 1) current resource data on quantities and locations, 2) support requirements that may not have been included in the individual capability assessments, and 3) the operational tasks from real or contemplated plans. JRAM optimizes the tasks in the plans that can be completed with available resources based on relative values provided by the operational planners. JRAM is a parametric tool that allows analysts and planners to rapidly assess the impact of potential changes in the effectiveness of units and systems, changes in a proposed plan, and changes in the quantity and location of resources (units, systems, and supplies). JRAM allows analysts to provide an acquisition budget and the model will optimize the addition of resources for the combinations of plans being assessed and the available fund. There is an operating budget that constrains the resources (existing and recommend acquisitions) based on estimated operating budgets. JRAM provides the tasks completed in the plans, identifies how each unit or system is used, and reports the tasks that are not completed. This latter information provides the risk assessment for alternative acquisition strategies.

Where JRAM Should Be Used

JRAM should be used by: 1) OSD for acquisition trade-offs, 2) the Joint Staff for the Sufficiency part of the JCIDS process, 3) Combatant Commands to develop operational plans, do Adaptive Planning, and identify future force requirements, 4) the military services for identifying the most cost effective solutions for providing capabilities they have been assigned, 5) FEMA to assess their capability to provide planned services during a single disaster or potential simultaneous disasters, and 6) DHS planners to assess the capabilities and resource needs of homeland security units.

Read more about JRAM in Dr. Might's Joint Resource Allocation Model Executive Summary (PDF).

The Command and Control Scenario Training Tool (C2STT) is an IMC-funded adaptation of the Air Expeditionary Wing Analysis [Rehearsal & Training] System (AEWAS) developed by IMC as an Air Force Expeditionary Force Battlelab (AEFB) initiative from 2002 through 2004. Extensions to AEWAS were funded by Air Force Electronic Systems Center and it is currently used at the Eglin Air Force Base (Florida) command and control test lab, at the Al Udeid Air Base (Qatar), and at the Al Dhafra Air Base (UAE) to support unit-level command and control (C2) training.

Purpose and Background

C2STT provides a web and scenario-based training system for both military and civilian organizations. The military could use it to provide command and control center training. C2STT could be used by civilian organization that provide emergency response to large-scale events (like terrorist attacks and natural disasters) that require significant coordination between organizations for effective command and control. It is not intended to support the on-scene training, but rather rehearsal and training for the echelons of command and control above the on-scene operational unit commander and on-scene emergency responders.

The need for command and control center training in the military is well understood and documented. This is not necessarily so for command and control echelons above first responders who have training and rehearsal requirements in order to meet their emergency response responsibilities. Most local and state organizations have a limited capacity to provide realistic and effective training to their operations and command and control staff members. Large-scale exercises are expensive and table-top exercises lack realism. Emergency response organizations need inexpensive, easy to use ways to train decision makers up the chain of command so they are prepared when they participate in large-scale exercises.

Current Solutions

Military units use a myriad of methods and tools for command and control center training with significant variance in efficiency and effectiveness. Most local and state emergency response organizations conduct a limited number of live training and rehearsal exercises each year. For both the military and the civilian organizations the requirements for scheduling and coordination and the expense of putting people, systems, and equipment into the field limit training and rehearsal opportunities. Table-top and walk-through exercises lack realism and can cause negative training and result in meaningless square filling during precious training hours. The large-scale exercises are very expensive and, as a result, are not conducted very frequently. Most emergency response organizations, while very good at their individual tasks, aren't good at coordinating with their other local, state, and Federal counterparts.

What C2STT Provides

C2STT provides scenario-driven training and rehearsal by providing meaningful and realistic scenario events combined with a web-based communications system. During C2STT training the actual command and control personnel are communicating with on-scene units (virtual or real) and coordinating with other critical organizations in the chain of command. The exercises can be as small as a command and control cell being trained for a specific role or as large as hundreds of people connected via the C2STT web-based training system for communication and coordination. C2STT provides a log of trainee and controller actions so that the session can be reviewed and a debriefing conducted to reinforce good results or to highlight problem areas. The trainees can do their coordination on the C2STT site, use their regular communications equipment and channels, or do a combination of both. For organizations without an effective command and control capability, C2STT could provide, with some minor modifications, a back-up operational command and control system as well as a training and rehearsal system.

Where C2STT Should Be Used

C2STT supports command and control training from the lowest level command and control cell all the way up to the highest levels in any chain of command. A single exercise can be used to train one or all of the command and control cells needed to respond in a military operation, to a terrorist attack or to a natural disaster. C2STT should be used for training and rehearsal of 1) military command and control centers and 2) local fire, police, and emergency response cells to improve their communications and coordination capability. In the latter, state and Federal response organizations can also be included by simply adding their roles and providing them a web URL and password for logging on and joining the session. Local organizations without an effective command and control system for emergency response could use C2STT as their command and control system.

What is IMC's software development process?

IMC uses a full life-cycle process for software development: Requirements, Design/Prototyping, Development, Testing, and Production Support.

IMC works with a variety of technologies to develop applications for our customers. We use the standards in place at the location where the application is to be used.