Kalpana Kalpana (Editor)

IMPRINT (Improved Performance Research Integration Tool)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Written in
  
.NET Framework

Operating system
  
Microsoft Windows

IMPRINT (Improved Performance Research Integration Tool)

Developer(s)
  
Alion Science and Technology, Army Research Laboratory

Type
  
Discrete Event Simulation

The Improved Performance Research Integration Tool (IMPRINT) is a discrete-event simulation and human performance modeling software tool developed by the Army Research Laboratory and Micro Analysis and Design (acquired by Alion Science and Technology). It is developed using the .NET framework. IMPRINT allows users to create discrete-event simulations as visual task networks with logic defined using the C# programming language. IMPRINT is primarily used by the United States Department of Defense to simulate the cognitive workload of its personnel when interacting with new and existing technology to determine manpower requirements and evaluate human performance.

Contents

IMPRINT uses a task network, a series of functions which decompose into tasks, to create human performance models. Functions and tasks in IMPRINT models usually represent atomic units of larger human or system behaviors. One of IMPRINT’s main features is its ability to model human workload. Users can specify visual, auditory, cognitive, and psychomotor workload levels for individual tasks which can measure overall workload for humans in the system and influence task performance.

Discrete Event Simulation in IMPRINT

Simulations, or Missions as IMPRINT refers to them, contain a task network called a Network Diagram. The network diagram contains a series of tasks connected by paths which determine control flow. System objects called entities flow through the system to create a simulation. IMPRINT also includes more low level features such as global variables and subroutines called macros.

Tasks

The task node is the primary element driving the simulation’s outcome. Task nodes simulate system behavior by allowing programmer specified effects, task duration, failure rates, and pathing. Task Effects are programmer specified C# expressions where programmers can manipulate variables and data structures when a task is invoked. Task duration can be specified by the programmer as a specific value, through a probability distribution, or using a C# expression. Programmers can also specify task success in a similar way. Task success influences the effects of the task node and the pathing of the entity. Failure consequences include task repetition, task change, and mission failure among other options. Control flow and pathing can also be specified by the programmer. IMPRINT provides a series of other nodes which include special functionality:

Nodes include:

  • Start Node: Emits the first entity in the model, signifying the start of a simulation execution.
  • End Node: Receives an entity which signifies the end of the simulation.
  • Goal Node: Emits an entity when a specified goal is achieved, activating a secondary task network.
  • Work Load Monitor: A visual node not connected to the task network which displays the workload value and number of active tasks associated with a specific Warfighter.
  • Function Node: creates a subnetwork diagrams which allow users to modularize complex networks into specific tasks.
  • Scheduled Function Node: a Function node which allows the user to specify clock times for the start and end of the execution of the subnetwork tasks.
  • Entities

    Entities are dynamic objects which arrive into the system and move through the task network. Entities flow from one task to the next based on the task’s path logic. When an entity enters a task, the task’s effects are triggered. When the task concludes, the entity moves to the next task. One entity is generated by default at the beginning of the simulation. More entities can be generated at any point in the simulation based on programmer specified logic. When all entities reach the end node or are destroyed, the simulation concludes.

    Events

    Events are occurrences that happen in an instant of simulated time within IMPRINT that change the global state of the system. This can be the arrival or departure of an entity, the completion of a task, or some other occurrence. The events are stored in a master event log which captures every event that will happen and the simulated time that the event occurred. Due to the stochastic nature of discrete-event simulation, an event will often trigger the generation of a random variate to determine the next time that same event will occur. Thus, as events occur, in the simulation, the event log is altered.

    Control Flow

    Once a task concludes, the invoking entity moves to another node which is directly connected to the current node in the task network. Nodes can connect to any number of other tasks, so IMPRINT provides a number of pathing options to determine the task to which the entity moves.

  • Probabilistic pathing allows the programmer to specify a percentage chance for an entity to be moved adjacent nodes by inputting the exact probabilities, summing to one hundred, for each node.
  • Tactical pathing allows the programmer to use C# predicates to determine the pathing of an entity to each adjacent node. If more than one expression evaluates to true, the entity will follow the first path with a true expression.
  • Multiple pathing behaves exactly like tactical pathing, but will path entities to any adjacent node with an expression evaluating to true.
  • Variables and Macros

    IMPRINT has a number of global variables used by the system throughout a simulation. IMPRINT provides the public global variable Clock which tracks the simulation’s current time. IMPRINT also has private variables such as operator workload values. IMPRINT allows the modeler to create custom global variables which can be accessed and modified in any task node. Variables can be of any type native to C#, but the software provides a list of suggested variable types including C# primitive data types and basic data structures. IMPRINT also provides the programmer with the functionality to create globally accessible subroutines called macros. Macros work as C# functions and can specify parameters, manipulate data, and return data.

    Human Performance Modeling

    IMPRINT’s workload management abilities allow users to model realistic operator actions under different work overload conditions. IMPRINT allows users to specify Warfighters which represent human operators in the modeled system. Each task in IMPRINT is associated with at least one Warfighter. Warfighters can be assigned to any number of tasks, including tasks which execute concurrently. IMPRINT tasks can be assigned VACP workload values. The VACP method allows modelers to identify the visual, auditory, cognitive, and psychomotor workload of each IMPRINT task. In an IMPRINT task, each resource can be given a workload value between 0 and 7, with 0 being the lowest possible workload, and 7 being the highest possible workload for that resource. The VACP scale for each resource provides verbal anchors for certain scale values. For instance, a visual workload of 0.0 corresponds to “no visual activity”, while a visual workload of 7.0 continuous visual scanning, searching, and monitoring. When a Warfighter is executing a task, their workload is increased using the VACP value assigned to that task. IMPRINT’s custom reporting feature allows modelers to view the workload over time of the Warfighters in their models. Workload monitor nodes allow modelers to view the workload of a specific Warfighter as the simulation executes.

    Research

    IMPRINT has been used by scientists at the Army Research Lab to study Unmanned Aerial Systems, workload of warfighter crews, and human-robot interaction. The United States Air Force and Air Force Institute of Technology have used IMPRINT to study automated systems, human systems integration, and adaptive automation among other things. The Air Force Institute of Technology in specific is using IMPRINT to research the prediction of operator performance, mental workload, situational awareness, trust, and fatigue in complex systems.

    References

    IMPRINT (Improved Performance Research Integration Tool) Wikipedia