Upload
nora-rodgers
View
213
Download
2
Embed Size (px)
Citation preview
UNCLASSIFIED
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
24 June 2004 UNCLASSIFIED 2
WCM Project Overview
NSSSimkit
CombatXXI
SimkitAnalytical
Workbench
JFEOModeling
ImproveStrike
Module
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
+ AT/FP
XMSF / X3D viz / Web Services N81 Analyses SAVAGE and MAS
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
Analytical Modeling Framework
24 June 2004 UNCLASSIFIED 3
Overview
• Introduction
• Event Graph Methodology
• Simkit Java Implementation
• XML Schema for Event Graph Representation
• Viskit, Visual Tool for Event Graph Construction
• Demonstration
24 June 2004 UNCLASSIFIED 4
Introduction
• Barriers to use of simulation models Simulation = “Big and Costly” Time to develop model Lack of rigorous methodology Lack of rapid-development tools
24 June 2004 UNCLASSIFIED 5
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
24 June 2004 UNCLASSIFIED 6
Event Graph Methodology
• “Pure” Discrete Event Simulation (DES)
• Four Elements to DES Model Parameters State Variables Events (State Transition Functions) Scheduling Relationships Between Events
24 June 2004 UNCLASSIFIED 7
Event Graph Methodology (cont)
A B(i)
A Bt (i)
24 June 2004 UNCLASSIFIED 8
Simple Event Graph
Run Arrival
{N = 0} {N = N + 1}
tA
tA
24 June 2004 UNCLASSIFIED 9
More Complicated Event Graph
StartService
EndService
{Q=Q+1} {Q=Q-1,S=S-1}
{S=S+1}
(S > 0)
(Q > 0)
tS
Run Arrival
{Q = 0, S = k}
tAtA
24 June 2004 UNCLASSIFIED 10
Event Graph Components
• Based on “Listener” Pattern
• Loosely Coupled Simulation Components
• Listener Event Graph Objects (LEGO)
24 June 2004 UNCLASSIFIED 11
SimEventListener Pattern
• SimEvent Source dispatches its SimEvent to registered SimEvent Listeners
• All SimEvents (except “Run”) are “heard” by Listener
• Used for assembling models from components
SimEventSource
SimEventListener
24 June 2004 UNCLASSIFIED 12
Example: Multiple Server Queue
ArrivalStart
ServiceEnd
Service
{Q=Q+1} {Q=Q-1, S=S-1} {S=S+1}
(S > 0)
(Q > 0)
tS
Run
{Q=0, S=k}
Run Arrival
{N = 0} {N = N + 1}
tA
tA
Arrival Process
Server
24 June 2004 UNCLASSIFIED 13
PropertyChangeSource
PropertyChangeListener
Property Change Listener Pattern
• PropertyChangeEvents fired at every state transition
• Listener may register for specific or all PropertyChange Events
• Used for statistics, graphing, etc.
24 June 2004 UNCLASSIFIED 14
Property Change Listener Example
ArrivalStart
ServiceEnd
Service
{Q=Q+1}{Q=Q-1, S=S-1}
{S=S+1}
(S > 0)
(Q > 0)
tS
Run
{Q=0, S=k}
Simple StatsTimeVarying
(Q)
Simple StatsTimeVarying
(S)
24 June 2004 UNCLASSIFIED 17
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
24 June 2004 UNCLASSIFIED 18
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
24 June 2004 UNCLASSIFIED 19
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)
24 June 2004 UNCLASSIFIED 23
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
24 June 2004 UNCLASSIFIED 24
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
24 June 2004 UNCLASSIFIED 28
Code Generator
• Generates Simkit Java code from XML document
• SimEntity XML document -> SimEntityBase subclass
• Assembly XML document -> instances of SimEntities and Listeners
24 June 2004 UNCLASSIFIED 29
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
24 June 2004 UNCLASSIFIED 30
Viskit Event Graph Editor
Scheduling/Canceling Edge
Drawing Canvas
State Variables
Simulation Parameters
Create New Event
Self-Scheduling Edge
24 June 2004 UNCLASSIFIED 31
Server Component in Viskit
24 June 2004 UNCLASSIFIED 32
Viskit Assembly Editor
• “Assembly” consists of Instances of SimEntities and
PropertyChangeListeners Listening connections
arrival server
numInQueueStat
numAvailableServerStat
24 June 2004 UNCLASSIFIED 33
Viskit Assembly Editor
Event Graph Components
PropertyChangeListeners
New Instance Wizard
Listener Connection Toolbar
Assembly Canvas
Execution Controls
24 June 2004 UNCLASSIFIED 34
24 June 2004 UNCLASSIFIED 35
Problem
• Investigate control systems for the delivery of indirect fire
• System includes: Targets Sensors Shooters Logistics delivery Logistics depot Central controller
24 June 2004 UNCLASSIFIED 36
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
24 June 2004 UNCLASSIFIED 37
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)
24 June 2004 UNCLASSIFIED 38
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
24 June 2004 UNCLASSIFIED 39
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
24 June 2004 UNCLASSIFIED 40
POC
Arnie Buss
(831) 656-3259
Simkit may be obtained from:
http://diana.gl.nps.navy.mil/Simkit/
24 June 2004 UNCLASSIFIED 41
Questions