SlideShare uma empresa Scribd logo
1 de 19
Eric Silverman The opinions expressed here are the views of the writer and do not necessarily reflect the views and opinions of  TRAC-WSMR, the US Army, or any organization or person associated with the US Government.
U.S. Army: Research & Analysis How and why Python is being used by the Military to Model Real-World Battlefield Scenarios A Case Study on:  How an open-source solution, at the user base level, was successfully implanted in a DoDorganization
U.S. Army: Research & Analysis Support the U.S. Army  Training and Doctrine Command (TRADOC) Analysis Center (TRAC) Mission of TRAC:  Provide relevant, credible analysis for informed decisions about the Army's most important and challenging issues.  www.tradoc.army.mil
Combat Model Known Data Combat Model End Results ,[object Object]
Quantitative Data
Analytic
Stochastic
Closed Form
Reports & Briefing Material,[object Object]
Scripted Behaviors Hostile Engages Field Forces Hostile Evacuates to the North  Support Unit Flank Hostile’s Position Hostile has Escaped!!!
Cognitive Behaviors w/Python
Cognitive Behaviors w/Python Location of target is…
Cognitive Behaviors w/Python
Cognitive Behaviors w/Python
Cognitive Behaviors w/Python
Relevance Much of our defense establishment is focused on Cold War doctrine and weapons. "Twenty years after the Cold War ended, this is simply not unacceptable. It's irresponsible.” President Obama (August 2009) The Question: How do we not fight our last war?  The Answer: Open-Source Software (Jython)
Jython Implementation COMBATXXI is developed with Java, and has an embedded Jython API Jython's features allow for quick creation and implementation of dynamic behaviors  Each entity carries its own global Jython namespace throughout the simulation   COMBATXXI has event triggers, which starts the entities' Jython scripts
__.py Getters __.py Getters Encapsulated Source Code __.py Getters __.py Dynamic Behavior __.py Function Libraries Jython Implementation
Example Code Snippet 01 	# from the Functions Library class 02 	#   import the [is_Line-of-Sight_Between_Locations] method 03 	fromfuncLibraryimportisLOSBetweenLocations() 04 	#  from the location wrapper class get the entity’s current location 05 	locOfMe = location.getMyCurrentLocation() # locOfMe is an object 06 	#  test LOS east 5 meters at a time 07 	distRange = 5 08 	whilenoLOS != True: # using noLOS as a Boolean, loop until it is True 09 		# create a temporary location offset true east, by the value in distRange 11 locTemp = locOfMe.newOffsetLocation(90, distRange ): 12 # test to see if the two locations have line-of-sight 13 noLOS  = isLOSBetweenLocations(locOfMe, locTemp) 14 distRange += 5 # increase the distance by 5 meters 15 	# create location object that is the longest point with line-of-sight 16 	locToMoveTo = locOfMe.newOffsetLocation(90, distRange-5 )

Mais conteúdo relacionado

Mais de Joshua L. Davis

Mil-OSS @ 47th Annual AOC Convention
Mil-OSS @ 47th Annual AOC ConventionMil-OSS @ 47th Annual AOC Convention
Mil-OSS @ 47th Annual AOC Convention
Joshua L. Davis
 

Mais de Joshua L. Davis (20)

The Open Source Movement
The Open Source MovementThe Open Source Movement
The Open Source Movement
 
Mil-OSS @ 47th Annual AOC Convention
Mil-OSS @ 47th Annual AOC ConventionMil-OSS @ 47th Annual AOC Convention
Mil-OSS @ 47th Annual AOC Convention
 
The Next Generation Open IDS Engine Suricata and Emerging Threats
The Next Generation Open IDS Engine Suricata and Emerging ThreatsThe Next Generation Open IDS Engine Suricata and Emerging Threats
The Next Generation Open IDS Engine Suricata and Emerging Threats
 
DISA's Open Source Corporate Management Information System (OSCMIS)
DISA's Open Source Corporate Management Information System (OSCMIS)DISA's Open Source Corporate Management Information System (OSCMIS)
DISA's Open Source Corporate Management Information System (OSCMIS)
 
Ignite: Hackin' Excel with Ruby
Ignite: Hackin' Excel with RubyIgnite: Hackin' Excel with Ruby
Ignite: Hackin' Excel with Ruby
 
Ignite: YSANAOYOA
Ignite: YSANAOYOAIgnite: YSANAOYOA
Ignite: YSANAOYOA
 
Ignite: Improving Performance on Federal Contracts Using Scrum & Agile
Ignite: Improving Performance on Federal Contracts Using Scrum & AgileIgnite: Improving Performance on Federal Contracts Using Scrum & Agile
Ignite: Improving Performance on Federal Contracts Using Scrum & Agile
 
Ignite: Devops - Why Should You Care
Ignite: Devops - Why Should You CareIgnite: Devops - Why Should You Care
Ignite: Devops - Why Should You Care
 
Senior Leaders Adapting to Social Technologies
Senior Leaders Adapting to Social TechnologiesSenior Leaders Adapting to Social Technologies
Senior Leaders Adapting to Social Technologies
 
Barcamp: Open Source and Security
Barcamp: Open Source and SecurityBarcamp: Open Source and Security
Barcamp: Open Source and Security
 
Open Source Software (OSS/FLOSS) and Security
Open Source Software (OSS/FLOSS) and SecurityOpen Source Software (OSS/FLOSS) and Security
Open Source Software (OSS/FLOSS) and Security
 
SOSCOE Overview
SOSCOE OverviewSOSCOE Overview
SOSCOE Overview
 
milSuite
milSuitemilSuite
milSuite
 
Importance of WS-Addressing and WS-Reliability in DoD Enterprises
Importance of WS-Addressing and WS-Reliability in DoD EnterprisesImportance of WS-Addressing and WS-Reliability in DoD Enterprises
Importance of WS-Addressing and WS-Reliability in DoD Enterprises
 
OZONE & OWF: A Community-wide GOTS initiative and its transition to GOSS
OZONE & OWF: A Community-wide GOTS initiative and its transition to GOSSOZONE & OWF: A Community-wide GOTS initiative and its transition to GOSS
OZONE & OWF: A Community-wide GOTS initiative and its transition to GOSS
 
Title TBD: "18 hundred seconds"
Title TBD: "18 hundred seconds"Title TBD: "18 hundred seconds"
Title TBD: "18 hundred seconds"
 
Reaching It's Potential: How to Make Government-Developed OSS A Major Player
Reaching It's Potential: How to Make Government-Developed OSS A Major PlayerReaching It's Potential: How to Make Government-Developed OSS A Major Player
Reaching It's Potential: How to Make Government-Developed OSS A Major Player
 
Homeland Open Security Technologies (HOST)
Homeland Open Security Technologies (HOST)Homeland Open Security Technologies (HOST)
Homeland Open Security Technologies (HOST)
 
USIP Open Simulation Platform
USIP Open Simulation PlatformUSIP Open Simulation Platform
USIP Open Simulation Platform
 
OSSIM and OMAR in the DoD/IC
OSSIM and OMAR in the DoD/ICOSSIM and OMAR in the DoD/IC
OSSIM and OMAR in the DoD/IC
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

How and Why Python is Used in the Model of Real-World Battlefield Scenarios

  • 1. Eric Silverman The opinions expressed here are the views of the writer and do not necessarily reflect the views and opinions of TRAC-WSMR, the US Army, or any organization or person associated with the US Government.
  • 2. U.S. Army: Research & Analysis How and why Python is being used by the Military to Model Real-World Battlefield Scenarios A Case Study on: How an open-source solution, at the user base level, was successfully implanted in a DoDorganization
  • 3. U.S. Army: Research & Analysis Support the U.S. Army Training and Doctrine Command (TRADOC) Analysis Center (TRAC) Mission of TRAC:  Provide relevant, credible analysis for informed decisions about the Army's most important and challenging issues. www.tradoc.army.mil
  • 4.
  • 9.
  • 10. Scripted Behaviors Hostile Engages Field Forces Hostile Evacuates to the North Support Unit Flank Hostile’s Position Hostile has Escaped!!!
  • 12. Cognitive Behaviors w/Python Location of target is…
  • 16. Relevance Much of our defense establishment is focused on Cold War doctrine and weapons. "Twenty years after the Cold War ended, this is simply not unacceptable. It's irresponsible.” President Obama (August 2009) The Question: How do we not fight our last war? The Answer: Open-Source Software (Jython)
  • 17. Jython Implementation COMBATXXI is developed with Java, and has an embedded Jython API Jython's features allow for quick creation and implementation of dynamic behaviors Each entity carries its own global Jython namespace throughout the simulation COMBATXXI has event triggers, which starts the entities' Jython scripts
  • 18. __.py Getters __.py Getters Encapsulated Source Code __.py Getters __.py Dynamic Behavior __.py Function Libraries Jython Implementation
  • 19. Example Code Snippet 01 # from the Functions Library class 02 # import the [is_Line-of-Sight_Between_Locations] method 03 fromfuncLibraryimportisLOSBetweenLocations() 04 # from the location wrapper class get the entity’s current location 05 locOfMe = location.getMyCurrentLocation() # locOfMe is an object 06 # test LOS east 5 meters at a time 07 distRange = 5 08 whilenoLOS != True: # using noLOS as a Boolean, loop until it is True 09 # create a temporary location offset true east, by the value in distRange 11 locTemp = locOfMe.newOffsetLocation(90, distRange ): 12 # test to see if the two locations have line-of-sight 13 noLOS = isLOSBetweenLocations(locOfMe, locTemp) 14 distRange += 5 # increase the distance by 5 meters 15 # create location object that is the longest point with line-of-sight 16 locToMoveTo = locOfMe.newOffsetLocation(90, distRange-5 )
  • 20. Example Code Snippet 16 locToMoveTo = locOfMe.newOffsetLocation(180, distRange-5 ) 17 # use the command wrapper class to create a move order object 18 moveOrder = command.createMoveOrder() 19 # add the destination location to the move order 20 moveOrder.addDestination(locToMoveTo) 21 # override the default rate of movement to 12 mph 22moveOrder.overrideDefaultSpeed(12) 23 # use the command wrapper class the execute the move order 24 command.executeOrder(moveOrder) Note: Behavior script syntax has been altered as to not disclose FOUO information
  • 21. Workforce Implementation Complete Documentation for users, to include examples in code snippet Hands-on training sessions in computer labs Continual support for users
  • 22. Take Away Military Analyst are using Jython to Model Current and Future Battlefield Scenarios In an Agent Based Model Dynamic and Reactive Behaviors are being Developed with Jython Non-Programmers are Developing the Complex Behaviors with Jython Java-based Source Code is Encapsulated and Control Access is Provided with Jython Wrapper Classes Programmers Assist the EmpoweredUsers with Documentation, Training, and on going User Support
  • 23. Contact Information Eric Silverman Sr. Project Manager Defense Contractor esilverman@alatecinc.com (w) 575-679-1457 | (m) 575-915-6002 ALATEC Inc A Service Disabled Veteran Owned Small Business www.alatecinc.com | twitter.com/alatec_jobs