hsai institute for maneuverability and terrain physics simulations (imtps) software engineering owen...

15
HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Upload: preston-sparks

Post on 02-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

HSAI Institute for Maneuverability and Terrain Physics

Simulations (IMTPS)

Software Engineering

Owen J. Eslinger, Ph.D.

8 Oct 2009

Page 2: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Development Team• Multiple Authors• Multiple Platforms (Mac/Linux/PC)• Multiple Compilers (Intel/PGI/GNU/…)

Development Team• Multiple Authors• Multiple Platforms (Mac/Linux/PC)• Multiple Compilers (Intel/PGI/GNU/…)

Third Party Applications(Lapack, UMFPACK, Parmetis …)

• May not be present on all platforms• May be different versions or in non-standard locations

Third Party Applications(Lapack, UMFPACK, Parmetis …)

• May not be present on all platforms• May be different versions or in non-standard locations

Modular Code• Toggle modules to streamline calculations• Alterations to code may affect other modules• Problem specific modules (heat / groundwater / … )

Modular Code• Toggle modules to streamline calculations• Alterations to code may affect other modules• Problem specific modules (heat / groundwater / … )

Revision Control - SVN

Page 3: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

SVN - Countermine ADH Branch

Page 4: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

How I came to love the bomb, or why Stacy shouldn’t be beaten regularly

Page 5: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

CMake

Developed by Kitware, Inc.

Portable: Unix, Windows, etc.

Language Support:C, C++, Fortran

Comparable to:Scons - Pthon Build System

Easily add package support with modules

Auto-detect system configuration

Page 6: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Wiki

Started: Number of Pages:Number of Edits:Number of Users:User with Most Edits (Number):Total Current Lines:Pages with Edits in Last Quarter:

http://134.164.168.8/wiki/index.php/Main_Page

(internal ERDC only)

Page 7: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

CTest - Nightly Testing

Straightforward Test Problems

• Designed to test basic functionality

• Mesh Refinement Studies on Basic Geometries

• Test Boundary Condition Implementation

Page 8: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

CTest - Nightly Testing

Test 6-10

Test 11-13Test 14-16

Test 3-5

Page 9: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

CTest - Test 6

Test 6aU=x Test 6b

U=z

Test 6cU=y

Test 6dU=1-z

Page 10: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

CTest – Test 7

Test 7a*MISSING* Test 7b

U=z

Test 7cU=y

Test 7dU=x

Page 11: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

CDash - Dashboard

• Display Nightly, Experimental, Continuous Builds• We Perform Nightly Testing

Page 12: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Dashboard, Failure Modes

Page 13: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Test ResultsTest Results

Tests Uploaded to Central Repository• Performed on multiple machines• Test various compilers and modules• Easy for all contributors to monitor

Tests Uploaded to Central Repository• Performed on multiple machines• Test various compilers and modules• Easy for all contributors to monitor

Tests Performed Nightly• Clearly display Pass/Fail Statistics• Facilitates Maintenance across multiple developers

Tests Performed Nightly• Clearly display Pass/Fail Statistics• Facilitates Maintenance across multiple developers

<<Include CDASH Image Once we have more green than red>>

Page 14: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Development Team• Multiple Authors• Multiple Platforms (Mac/Linux/PC)• Multiple Compilers (Intel/PGI/GNU/…)

Development Team• Multiple Authors• Multiple Platforms (Mac/Linux/PC)• Multiple Compilers (Intel/PGI/GNU/…)

Third Party Applications(Lapack, UMFPACK, Parmetis …)

• May not be present on all platforms• May be different versions or in non-standard locations

Third Party Applications(Lapack, UMFPACK, Parmetis …)

• May not be present on all platforms• May be different versions or in non-standard locations

Modular Code• Toggle modules to streamline calculations• Alterations to code may affect other modules• Problem specific modules (heat / groundwater / … )

Modular Code• Toggle modules to streamline calculations• Alterations to code may affect other modules• Problem specific modules (heat / groundwater / … )

Complex Development EnvironmentComplex Development Environment

Page 15: HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009

Owen J. Eslinger

[email protected]

Information Technology Laboratory (ITL)US Army Engineer Research and Development Center (ERDC)

US Army Corps of Engineers (USACE)