IMPRINT (Improved Performance Research Integration Tool)

IMPRINT
IMPRINT logo
Developer(s) Alion Science and Technology, Army Research Laboratory
Written in .NET Framework
Operating system Microsoft Windows
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.[1]

IMPRINT uses a task network, a series of functions which decompose into tasks, to create human performance models.[2] 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.[3][4]

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.[5]

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.[5]
  • End Node: Receives an entity which signifies the end of the simulation.[5]
  • Goal Node: Emits an entity when a specified goal is achieved, activating a secondary task network.[5]
  • 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.[5]
  • Function Node: creates a subnetwork diagrams which allow users to modularize complex networks into specific tasks.[5]
  • 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.[5]

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.[5]

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.[5]

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.[5]

  • 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.[5]
  • 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.[5]
  • Multiple pathing behaves exactly like tactical pathing, but will path entities to any adjacent node with an expression evaluating to true.[5]

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.[5]

Human performance modeling

IMPRINT’s workload management abilities allow users to model realistic operator actions under different work overload conditions.[4] 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.[4] IMPRINT tasks can be assigned VACP workload values.[3] 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.[6] 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.[5]

Research

IMPRINT has been used by scientists at the Army Research Lab to study Unmanned Aerial Systems,[7][8] workload of warfighter crews,[9][10] and human-robot interaction.[11] The United States Air Force and Air Force Institute of Technology have used IMPRINT to study automated systems,[12][13] human systems integration,[14] and adaptive automation[15] 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.[16]

References

  1. Rusnock, C. F., & Geiger, C. D. (2013). Using Discrete-Event Simulation for Cognitive Workload Modeling and System Evaluation. Proceedings of the 2013 Industrial and Systems Engineering Research Conference, 2485–2494. Retrieved from http://search.proquest.com/openview/b77033807ade34134e81d078a4513631/1?pq-origsite=gscholar
  2. Laughery, R. (1999). Using discrete-event simulation to model human performance in complex systems. In Proceedings of the 31st conference on Winter simulation Simulation---a bridge to the future - WSC ’99 (Vol. 1, pp. 815–820). New York, New York, USA: ACM Press. http://doi.org/10.1145/324138.324506
  3. 1 2 Mitchell, D. K. (2003). Advanced Improved Performance Research Integration Tool (IMPRINT) Vetronics Technology Test Bed Model Development.
  4. 1 2 3 IMPRINT PRO user guide Vol 1. http://www.arl.army.mil/www/pages/446/IMPRINTPro_vol1.pdf
  5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 IMPRINT PRO user guide Vol 2. http://www.arl.army.mil/www/pages/446/IMPRINTPro_vol2.pdf
  6. Mitchell, D. K. (2000). Mental Workload and ARL Workload Modeling Tools (ARL-TN-161). Aberdeen Proving Ground.
  7. Hunn, B. P., & Heuckeroth, O. H. (2006). A shadow unmanned aerial vehicle (UAV) improved performance research integration tool (IMPRINT) model supporting future combat systems. Human
  8. Hunn, B. P., Schweitzer, K. M., Cahir, J. a, & Finch, M. M. (2008). IMPRINT Analysis of an Unmanned Air System Geospatial Information Process. Scenario, (July).
  9. Salvi, L. (2001). Development of Improved Performance Research Integration Tool (IMPRINT) Performance Degradation Factors for the Air Warrior Program. Retrieved from papers2://publication/uuid/197638AB-1200-4BFE-A922-E5E12FB25BD6
  10. Mitchell, D. K. (2009). Workload Analysis of the Crew of the Abrams V2 SEP : Phase I Baseline IMPRINT Model. Engineering, (September).
  11. Pomranky, R. a. (2006). Human Robotics Interaction Army Technology Objective Raven Small Unmanned Aerial Vehicle Task Analysis and Modeling. ARL-TR-3717.
  12. Colombi, J. M., Miller, M. E., Schneider, M., McGrogan, J., Long, D. S., & Plaga, J. (2011). Predictive Mental Workload Modeling for Semiautonomous System Design: Implications for Systems of Systems. Systems Engineering, 14(3), 305–326. http://doi.org/10.1002/sys
  13. Goodman, T., Miller, M., & Rusnock, C. (2015). Incorporating Automation: Using Modeling and Simulation to Enable Task Re-Allocation. In Proceedings of the 2015 Winter Simulation Conference (pp. 2388–2399). Huntington Beach, CA, CA: IEEE. http://doi.org/10.1073/pnas.0703993104
  14. Miller, M., Colombi, J., & Tvaryanas, A. (2013). Human systems integration. Handbook of Industrial and Systems Engineering, Second Edition, 197–216. http://doi.org/doi:10.1201/b15964-15
  15. Boeke, D., Miller, M., Rusnock, C., & Borghetti, B. J. (2015). Exploring Individualized Objective Workload Prediction with Feedback for Adaptive Automation. In S. Cetinkaya & J. K. Ryan (Eds.), Proceedings of the 2015 Industrial and Systems Engineering Research Conference (pp. 1437–1446). Nashville, TN.
  16. Rusnock, C. F., Boubin, J. G., Giametta, J. J., Goodman, T. J., Hillesheim, A. J., Kim, S., … Watson, M. E. (2016). The Role of Simulation in Designing Human-Automation Systems. In Foundations of Augmented Cognition Neuroergonomics and Operational Neuroscience: Part II (pp. 361–370). http://doi.org/10.1007/978-3-642-02812-0
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.