330 likes | 474 Views
Simkit Analysis Workbench for Rapid Construction of Modeling and Simulation Components. Arnold Buss, Don Brutzman, Curt Blais, Rick Goldberg, John McGregor, John Ruck. Naval Postgraduate School Monterey, CA. WCM Project Overview. Analytical Modeling Framework. NSS. Simkit Combat XXI.
E N D
Simkit Analysis Workbench for Rapid Construction of Modeling and Simulation Components Arnold Buss, Don Brutzman, Curt Blais, Rick Goldberg, John McGregor, John Ruck. Naval Postgraduate School Monterey, CA
WCM Project Overview Analytical Modeling Framework NSS Simkit CombatXXI Simkit Analytical Workbench JFEO Modeling Improve Strike Module AT/FP + XMSF / X3D viz / Web Services N81 Analyses SAVAGE and MAS AT/FP: Anti-Terrorism / Force Protection CombatXXI: Next-generation Army/Marine analytical model JFEO: Joint Forcible Entry Options MAS: Multi-Agent Simulation NSS: Naval Simulation System SAVAGE: Scenario Authoring and Visualization for Advanced Graphical Environments Simkit: Discrete Event Simulation (DES) Application Programmers Interface (API) X3D: Extensible 3D Graphics XMSF: Extensible Modeling and Simulation Framework UNCLASSIFIED
Overview • Introduction • Event Graph Methodology • Simkit Java Implementation • XML Schema for Event Graph Representation • Viskit, Visual Tool for Event Graph Construction • Demonstration UNCLASSIFIED
Introduction • Barriers to use of simulation models • Simulation = “Big and Costly” • Time to develop model • Lack of rigorous methodology • Lack of rapid-development tools UNCLASSIFIED
Introduction (cont) • Breaking the Barriers • Event Graph Methodology • Simkit Programming API • Viskit Graphical Tool • XML Schema for Component Representations • Tools to Build Tools to build Models UNCLASSIFIED
Event Graph Methodology • “Pure” Discrete Event Simulation (DES) • Four Elements to DES Model • Parameters • State Variables • Events (State Transition Functions) • Scheduling Relationships Between Events UNCLASSIFIED
Event Graph Methodology (cont) (i) t A B (i) A B UNCLASSIFIED
Simple Event Graph UNCLASSIFIED
More Complicated Event Graph UNCLASSIFIED
Event Graph Components • Based on “Listener” Pattern • Loosely Coupled Simulation Components • Listener Event Graph Objects (LEGO) UNCLASSIFIED
SimEventListener Pattern SimEvent Source SimEvent Listener • SimEvent Source dispatches its SimEvent to registered SimEvent Listeners • All SimEvents (except “Run”) are “heard” by Listener • Used for assembling models from components UNCLASSIFIED
Example: Multiple Server Queue UNCLASSIFIED
Property Change Listener Pattern Property Change Source Property Change Listener • PropertyChangeEvents fired at every state transition • Listener may register for specific or all PropertyChange Events • Used for statistics, graphing, etc. UNCLASSIFIED
Property Change Listener Example UNCLASSIFIED
Simkit • Java API for creating Event Graph models • Open Source • Effective for teaching DES • Used in more than 30 NPS Masters Theses • Implements Listener Event Graph Object pattern UNCLASSIFIED
Simkit • Based on solid Event Graph methodology • Enables reasonably rapid construction of DES models • NPS OR/MV students able to implement models in matter of a few months • Enabler for implementing new features in DES models UNCLASSIFIED
Recent NPS Theses using Simkit • REMUS vehicle for mine detection (Allen, 2004) • Repair and Sparing of Jet Engines (Schoch, 2003) • Operational Availability of MMA (Margolis, 2003) • Submarine Mine avoidance (Nawara, 2003) • Dynamic Allocation of Fires and Sensors (Havens, 2002) UNCLASSIFIED
Viskit Motivation • Simkit requires Java programming • Need for non-programmer use • Need for rapid development tool • Organize reusable components • Repository of existing models and components for reuse UNCLASSIFIED
XML for Event Graph Components • Data-centric representation of Event Graph Components • XML is standard, open data format • Language and Implementation independent • Enabler for web services UNCLASSIFIED
Code Generator • Generates Simkit Java code from XML document • SimEntity XML document -> SimEntityBase subclass • Assembly XML document -> instances of SimEntities and Listeners UNCLASSIFIED
Viskit Event Graph Editor • Even more rapid development of Event Graph Components • Exposes Event Graph structure better than code • Modeler draws Event Graph and fills in information • Open Source UNCLASSIFIED
Viskit Event Graph Editor Create New Event Scheduling/Canceling Edge Self-Scheduling Edge State Variables Drawing Canvas Simulation Parameters UNCLASSIFIED
Server Component in Viskit UNCLASSIFIED
Viskit Assembly Editor • “Assembly” consists of • Instances of SimEntities and PropertyChangeListeners • Listening connections UNCLASSIFIED
Viskit Assembly Editor Event Graph Components Listener Connection Toolbar New Instance Wizard Assembly Canvas PropertyChangeListeners Execution Controls UNCLASSIFIED
Problem • Investigate control systems for the delivery of indirect fire • System includes: • Targets • Sensors • Shooters • Logistics delivery • Logistics depot • Central controller UNCLASSIFIED
Quinone • Developed by MAJ Alistair Dickie, Australian Army • Model created in ~ 2 weeks (in “spare” time!) using Simkit • Analyzed at 8th Project Albert Workshop • Demonstration UNCLASSIFIED
Quinone - Results • Supplier assignment most critical • Valuing a pairing of supplier/shooter based on ammo holding of shooter much more important than valuation based on distance • Assignment of shooters to contacts • Very sensitive to • Contact Age • Distance to contact • Not sensitive to • Ammo holding • Contact importance • Assignment interactions • A 15 day old model can give you results (now 18 days old) UNCLASSIFIED
Summary • Rapid DES modeling is possible • Event Graph Methodology robust • Simkit implementation mature, stable • Viskit application accelerates development time • Basic features and design of Viskit complete UNCLASSIFIED
Ongoing Work and Improvements • Improve “user-friendliness” of Viskit • Add Experimental Design and execution features • Execution on computer clusters • Documentation, Help and Tutorial • Incorporate features based on user feedback and testing UNCLASSIFIED
POC Arnie Buss (831) 656-3259 abuss@nps.edu Simkit may be obtained from: http://diana.gl.nps.navy.mil/Simkit/ UNCLASSIFIED
Questions UNCLASSIFIED