8 th annual tcl/tk conference 29 july 2001 ronald a. bowers robert g. parker paul j. tanenbaum u.s....

32
8 th Annual Tcl/Tk Conference 29 July 2001 nald A. Bowers bert G. Parker ul J. Tanenbaum . Army Research Laboratory vivability/Lethality Analysis Directorate Tcl/Tk in Survivability Modeling for Military Systems

Upload: silvester-clement-mcbride

Post on 17-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

8th Annual Tcl/Tk Conference

29 July 2001Ronald A. BowersRobert G. ParkerPaul J. TanenbaumU.S. Army Research LaboratorySurvivability/Lethality Analysis Directorate

Tcl/Tk in Survivability Modelingfor Military Systems

Page 2: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

What We Do

• Our mission is to analyze the survivability of Army systems against a wide variety of threats, including ballistic threats such as bullets, missiles, and bursting artillery rounds, as well as electronic, chemical, and biological threats.

• Testing is very expensive and can be dangerous; therefore, we use modeling extensively.

• For ballistic threats, the primary analysis model is a program called MUVES.

• Ballistic analysis requires knowledge of the target geometry, which is captured using a tool called BRL-CADTM.

Page 3: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

BRL-CAD Primitive Shapes

Page 4: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

wedge

cylinder

block

(wedge block) cylinder

wedge block cylinder

block (wedge cylinder)

CSG Boolean Operations

Page 5: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Some Pieces of a BRL-CAD Database

Page 6: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 7: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 8: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 9: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 10: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 11: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 12: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 13: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 14: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 15: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 16: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

All primitives

shown.

Page 17: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Primitives found by

query ray.

Page 18: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

BRL-CAD Software Libraries

libbn Numerical computation, quaternions, wavelets, ...

libbu Utilities: memory mgmt, parallel processing, ...

libdm Display manager: X, OGL, PostScript, ...

librt Ray tracing

libpng PNG

libz Data compression

libtcl Tcl

libtk Tk

libitcl [incr Tcl/Tk] and [incr Widgets]

Page 19: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Object Orientation

• Initially we packaged instances of library objects as Tcl commands.

tclsh> wdb_open db scene.g

db

tclsh> db ls

LIGHT cone.r/R light.r/R

tor.r/R all.g/ cone.s

platform.r/R box.r/R ellipse.r/R

platform.s box.s ellipse.s

tor

Page 20: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Object Orientation

• Now we are wrapping those objects in [incr Tcl] classes.

itcl::class Db {

protected variable db ""

public variable dbfile ""

constructor {filename} {

set dbfile $filename

set db [subst $this]_db

wdb_open $db $dbfile

}

destructor {} { rename $db "" }

public method ls {args} { eval $db ls $args } }

Page 21: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

MUVES

• MUVES is a tool for vulnerability/lethality analysis—stochastic and deterministic—of ballistic threats against ground and air systems.

• MUVES consists of 410,000 lines of C code, including graphical user interface and general-purpose packages.

Page 22: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Targetgeometry

Personneldata

Component vulnerability

Criticalityanalysis

Behind-armor debris

Impact conditions

Threat characterization

Residual penetrationPersonnel incapacitationComponent damageSubsystem capabilitiesRemaining system utilityUser-defined criteria

...

MUVES

MUVESinputs & outputs

Pcd/h

v

mv

Page 23: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

glacisarmor

armor-piercingrounds

HEround

firewall

enginestarter

transmissionsump

fan reararmor

A Ray-Tracing Application: Shotlining

Page 24: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

DMUVES

• Distributed MUVES (DMUVES) is an enhancement to MUVES that enables an analysis to be run in parallel on a single computer and distributed upon multiple networked computers.

Page 25: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

The Original MUVES Architecture

raytracerBRL-CAD

Target Description

Analyzer

Final Results File

Threats File

Pipe

View File

raytracer

raytracer

raytracer

Other Input Files Ray Requests

Ray Results

Run times were horrific, but converting the analyzer into a multithreaded application was deemed too costly.

Page 26: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Boss

Input Files

MUVES GUI

The DMUVES Approach

daemon

daemon

Host A

Host B

Host C

Workers

Page 27: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

The Use of Tcl in DMUVES

daemonIfTask Manager

daemon

workerIf

Tcl Event Handler

FinalResults

File

Tcl

scr

ipts

ove

r so

cket

s

The workers also use Tcl event handlers to monitor their socket connections.

Boss

Worker

ResultsManager

The daemon is written entirely in [incr Tcl].

Page 28: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Performance Results

2880

920

210 130 95 250

500

1000

1500

2000

2500

3000

3500

1 3 12 24 48 96

Number of Workers

Run

Tim

e (m

inut

es)

.

Page 29: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis
Page 30: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Brake control rod (left)

Syncro brake crank

Syncro brake rod

Syncro mechanism

Brake crank

Brake control rod

Brake pedal lever

Brake control rod (right)

Braking controls

MUVES System Evaluation

Page 31: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Lessons Learned

• Developing portable GUIs is far easier with Tcl/Tk than with other packages such as Java Swing, MFC, Motif, Athena, and raw X.

• Use [incr Tcl/Tk].

• Get Tcl/Tk training early.

Page 32: 8 th Annual Tcl/Tk Conference 29 July 2001 Ronald A. Bowers Robert G. Parker Paul J. Tanenbaum U.S. Army Research Laboratory Survivability/Lethality Analysis

Plans

• BRL-CAD– Gradually replace first-generation Tcl code with [incr Tcl].

– Implement object-oriented geometry?

• MUVES– Wrap additional MUVES functions.

– Continue transitioning tools from X to Tk.

– Replace ASCII boss-to-worker messages with binary.

– Add additional boss and worker tasks,

including tasks expressed in Tcl.

– Couple MUVES parameters to Tcl variables.