SlideShare a Scribd company logo
1 of 50
Download to read offline
BRL-CAD: An Open Source Perspective
                 MIL-OSS Working Group 2, August 2010

Mr. Sean Morrison
morrison@arl.army.mil
410-278-6678
                        Approved for public release; distribution unlimited.
Main Topics
                 Background on BRL-CAD
                       What, who, why?



                      Tools & Techniques
                   for Geometry Analysis



              Conversion to Open Source




       Open Problems & Future Directions




2
Screenshots!




3
4
5
6
7
Main Topics
                 Background on BRL-CAD
                       What, who, why?



                      Tools & Techniques
                   for Geometry Analysis



              Conversion to Open Source




       Open Problems & Future Directions




8
Background
     • BRL-CAD* is a powerful open source solid modeling system that includes
       interactive geometry editing, ray tracing for rendering & geometric analyses, a
       robust geometric representation, data processing tools, and more than 25 years
       of development history.

     • Development of BRL-CAD started in 1979 by departed wizard Mike Muuss, author
       of many contributions to computing including the infamous “ping” network tool.

     • BRL-CAD was designed to provide tools, techniques, and methodology for
       representing, visualizing, and analyzing geometry. Particular emphasis is placed
       on validity, performance, and robustness for vulnerability and lethality analyses.




    * BRL-CAD is correctly pronounced as “be are el cad”
9
Structured Geometry
                                      tank




     hull              turret                             suspension              crew




        turret_armor            turret_interior                  gun




                          breech                   gun_tube            bore_evacuator




                        cylinder_1.s              cylinder_2.s     cylinder_3.s




10
Vulnerability / Lethality
                          Analysis


        Model of vehicle


                                       Specification of
        BRL-CAD ray tracer          munitions performance




     Shotlines representing            Vulnerability model
       penetrator paths


                                               Results
                                    e.g., damaged components, residual
                                           subsystem capabilities




11
Why Develop BRL-CAD?
     •   BRL-CAD is custom-tailored for engineering analysis work providing robust accurate
         geometric representation and high-performance geometry evaluation.
          –   There is no conversion necessary which is crucial for ensuring robust, consistent, and correct
              analytic results. Data conversions introduce errors and complicate validation & verification.

     •   Solid modeling and ray tracing are used to represent material interactions and
         determine paths of propagation. Analyses require shooting millions of rays through
         highly detailed target descriptions (with millimeter accuracy).
          –   This is a niche requirement not strongly supported by other CAD systems.
              BRL-CAD’s solid ray tracing is designed to significantly outperform commercial ray tracers.

     •   Extensive model repositories exist at ARL and AFRL of foreign and U.S. assets.
          –   Hundreds of highly detailed target descriptions
              represent a major investment in BRL-CAD
              spanning more than two decades.

     •   BRL-CAD provides scalability, portability,
         robustness, and verifiable accuracy that can
         perpetually and independently be adapted.
          –   This allows the U.S. Government to not favor
              any CAD vendor, avoids expensive licensing,
              and protects ARL from corporate restructuring.

     •   BRL-CAD is highly tuned to DoD needs,
         more than any other CAD system.

12
Main Topics
                  Background on BRL-CAD
                        What, who, why?



                       Tools & Techniques
                    for Geometry Analysis



               Conversion to Open Source




        Open Problems & Future Directions




13
Finite Element Analysis
                  of Target Descriptions




     Converted from a BRL-CAD CSG representation to an explicit finite element mesh

14
Hidden Line Diagrams




15
Hybrid Visualizations




16
Full Light Simulation




17
Geometric Analysis

     Presented Area, Volume, Centroid, Weight/Mass,
      Moments of Inertia, Line-of-sight Equivalence,
              Shape Factors, … (and much more)




18
Comparing Area Exposure

      Helmet presented area
      coverage comparisons




19
Automatic
      Detailed
        Tire
     Modeling




20
21
Metaballs for Blast Volumes

 •   The engineer traditionally:
      – Specifies a center of damage       Truck with Blast                 Centers of
        and lethal miss distance             Envelope        Glass Truck    Damage
      – Interpolates a 2D curve by hand
      – Extrapolates the 2D curves back
        into a 3D surface

 •   With metaballs, the 3D surface
     is automatically generated
     based on centers and lethal
     miss distances




22
Metaballs for Blast Volumes




23
BRL-CAD in a Nutshell
• More than one million lines of code                        • Extensively cross-platform:

• More than 400 binary                                            • Windows,
  applications                                                    • Mac,
• More than a dozen                                               • Linux,
  libraries                                                       • UNIX,
                                                                  • … from desktops to
                                                                    supercomputers
                                                             • Became Open Source
                                                               software in 2004
                                                                  • Open code,
                                                                  • Open access,
                                                                  • Open standards
                                                                  • … It’s free!
                                                             • BRL-CAD became the first
                                                               Open Source solid modeling
                                                               system in production use
                                                               under OSI*-approved
                                                               license terms


24          * Open Source Initiative http://opensource.org
BRL-CAD Community
     •   SLAD V/L analysts and target describers
     •   MUVES and AJEM users throughout U.S. DoD
          – Army, Air Force, Navy
     •   International collaborations:
         Senior National Representative
         V/L Assessment Methodology
         (VLAM) working group
          – United Kingdom, Germany,
             Netherlands, …
     •   Extensive international ties throughout
         the Open Source community,
         academia, and commercial industry
          – University of Utah
          – University of North Carolina
             at Chapel Hill
          – Johns Hopkins University
          – Texas A&M University
          … and many others …
     •   Google Summer of Code
          – Exclusive Open Source opportunity

25
Main Topics
                  Background on BRL-CAD
                        What, who, why?



                       Tools & Techniques
                    for Geometry Analysis



               Conversion to Open Source




        Open Problems & Future Directions




26
Towards Open Source


     … the long, manpower-intensive way …

     •   Lots of playing “Devil’s Advocate”
     •   Obtain common understanding
     •   Continually dismay fears
     •   Quantify benefits
                                    The journey to
     •   Obtain buy-in              make BRL-CAD
     •   Keep going                 Open Source
                                             began in 1998.
                                                   *

                                  *Fortunately   much has changed since then.



27
• Garner support within
       development team
      They think it’s impossible, but okay.
      They were almost right.




28
• Obtain initial support from
       management
      They didn’t entirely understand, but didn’t see
      cause to stop the effort either..

      Lots of questions.




29
(This is much better now thanks to persistent efforts from folks like Risacher and Wheeler, but still an open issue.)




         • Become an open source legal expert
              Many, many questions and FUD to dispel. Required
              constant shepherding, even amongst the dev team, to
              keep support going and fears at bay. Nobody
              knowledgeable to help navigate the issues.

              Had to have answers ready for all of the worst possible
              “what if” scenarios.. Many licenses to read in detail.

              This was the most meticulously tedious step.




30
• Talk to Tech Transfer
      They really didn’t understand, but were willing
      to listen. Their focus was the worst case
      possible. They wanted to see evidence of
      others releasing as Open Source.

      We seemed to be the first within the Army …
      (maybe first within DoD)
      So we were stuck.



31
• Talk to Security / Public Affairs
      Fortunately, BRL-CAD was designed from the
      beginning to be devoid of sensitive data.
      Without analysis codes or military data
      embedded, there were no objections.

      In fact, this would mean substantially less
      overhead for them! (No more licenses to
      review and file.)



32
• Talk to Information Assurance
      They didn’t really understand nor have
      authority to halt the effort, but were
      consulted for blessing regardless.

      They had the usual questions and fears that
      we had heard and answered many times over
      by this point. They didn’t have objections.




33
• Talk to Legal
      It took months to get a sit down.
      Persistence!

      Finally, we got to meet with patent counsel
      and former NSA Secure Linux legal guru,
      Steve Bloor. (woot!)

      He understood everything.



34
• Consider the legalities of licensing

      Bloor made our options clear. Public domain
      was downright trivial but had major risks.
      NOSA-style was also easy but had many
      limitations (less than ideal).

      Everything else required full rights.
      Copyright was even better.




35
• Make it happen, acquire rights
      The U.S. Government has no default copyright.
      At least, not nationally… BUT, copyright can be
      established and assigned.

      How? Contract modification, substantial
      derivative work, copyright claim on derivative,
      assignment.

      (There’s even standard clauses!)

36
• Get the okay from Management
      Once copyright was acquired, it finally became a
      “simple” matter of release approval from
      management.

      We showed a substantial quantifiable process
      savings in addition to numerous “hypothetical”
      potential benefits. We’d done our homework.
      The code was ready.

      After more than five years of persistent effort, we
      got the okay to release as Open Source in
      December 2004.

37
Before Open Source
                                      Army             BRL-CAD world-wide site
                               Navy                     licenses: about 2000
                      Air Force
                Non-DoD
Government



 Academic



 Industrial



 Individual


          500                            0                         500

                Domestic                     Foreign
                Total = 1,233                Total = 871
After Open Source
                                                                    BRL-CAD downloads in first
                                                                    month: more than 2000




                                               Incomplete


                                                              “the world’s oldest
                                                 month



                                                            source code repository”
                                                                   – August 2007,
                                                               Robin Luckey, Ohloh Inc.




     •   More than 200,000 downloads and 2,000,000 website hits per year         (as of 2010)

     •   Activity (both interest and development) is increasing year over year
     •   Presently receiving about three-to-five staff-years of contributed effort
         from the Open Source community including source code enhancements, bug
         fixes, documentation, website development, and more…
     •   Received roughly an additional staff-year of effort in 2008 and 2009 by
         being accepted into the Google Summer of Code


39
Air
             Force
Foreign                 Industry
                ARL

               BRL-CAD

     Navy                      Individuals

                    Academia

The OLD way



                      Air
                     Force       Individuals
          Foreign
                    Open Source
                    Community
      Navy
                     BRL-CAD
                    BRL-CAD

          Academia              Industry

                       ARL

             The NEW way
40
Main Topics
                  Background on BRL-CAD
                        What, who, why?



                       Tools & Techniques
                    for Geometry Analysis



               Conversion to Open Source




        Open Problems & Future Directions




41
Open Problems

     •   NIH: “Not Invented Here”
     •   Perceptions of government code
     •   Open communication with the community
     •   Avoiding the
         waterfalls
         with agility
     •   Collaboration
     •   Meritocracy
     •   Diversity
     •   “GLOSS”

42
Blatant Solicitation
               (er, Potential for Collaboration)

The BRL-CAD Geometry Service is an interface for accessing revision-controlled geometry
from a data repository. Sitting on top of an embeddable geometry engine, the service
provides and stores geometry data similar to how a web server delivers web pages.
Thank you!
                      Questions? Comments?
                            Christopher Sean Morrison
                                      morrison@arl.army.mil
                                          410-278-6678
     Several of the images contained within this presentation were created with the support and
         efforts of many individuals. The following deserve special recognition and thanks:

                                            Mike Muuss
                                             Lee Butler
                                          Erik Greenwald
                                             Cliff Yapp
                                            Ron Bowers
                                            Mike Gillich
                                         Justin Shumaker
                                        Stephen Kennedy
                                           Karel Kulhavy
                                          Edwin Davisson
                             Approved for public release; distribution unlimited.

44
Additional Information
        about BRL-CAD




45
Geometric Representations
                   Geometric
                   Definition               Applications of Use
                 4 values         • Implicit primitives with constructive solid
                 •Radius            geometry (CSG) provide a representation
                 •Position          format that is very compact and numerically
CSG
                                    robust (no cracks)
implicits
                                         Solidity constraint is guaranteed making it
                                         well-suited for solid modeling and engineering
                                         analysis purposes
                 200 values       • Spline surface boundary representations are
                 •Surface           prevalent in commercial CAD systems for
                 •Patches           their modeling flexibility
                 •Knot                   More recently they are also the subject of
BREP             •Values                 real-time ray tracing computer graphics
NURBS            •Weights
                                         research



                 1000             • Polygonal boundary models are commonly
                 values or          used by display systems (e.g., OpenGL and
                 more               DirectX) for interactive rendering and real-
                 (configurable)
                                    time visualization
                 •Individual
                                         Many advancements have been made over
BREP             •Polygons               the years on high-performance ray tracing of
facets           •Vertices               triangle models
                 •Normal values

46
Representation
     Data Implications




47
Constructive Solid Geometry
       wedge               (wedge ∩ block) − cylinder

cylinder


     block                 wedge − block − cylinder



     block − (wedge ∪ cylinder)




48
Some of
     BRL-CAD’s Primitives




49
Who is this guy?


     Morrison is the open source project lead and principal
     software architect for BRL-CAD. His primary areas of
     expertise are in computer graphics, open source project
     management, solid modeling, system administration,
     information security, human-computer interface and
     interaction design, software testing, and computational
     geometry.

     He is involved numerous open source
     projects including BRL-CAD, BZFlag, FTGL,
     and with ties throughout the open source community.
     ‘brlcad’ on Freenode IRC




50

More Related Content

Similar to BRL-CAD: An Open Source Perspective

DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...
DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...
DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...DataStax
 
GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphNeo4j
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalramazan fırın
 
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real WorldAchim Friedland
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Herman Wu
 
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...AVEVA Group plc
 
Optimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4jOptimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4jNeo4j
 
Model-Driven Physical-Design for Future Nanoscale Architectures
Model-Driven Physical-Design for Future Nanoscale ArchitecturesModel-Driven Physical-Design for Future Nanoscale Architectures
Model-Driven Physical-Design for Future Nanoscale ArchitecturesCiprian Teodorov
 
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Neo4j
 
Graphs for Enterprise Architects
Graphs for Enterprise ArchitectsGraphs for Enterprise Architects
Graphs for Enterprise ArchitectsNeo4j
 
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
Keynote: A Roadmap for Domain-Specific Low-Code PlatformsKeynote: A Roadmap for Domain-Specific Low-Code Platforms
Keynote: A Roadmap for Domain-Specific Low-Code PlatformsObeo
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...bdemchak
 
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...Dilnoza Bobokalonova
 
Iirs- Opensources software solutions and Data services for Domain
Iirs- Opensources software solutions and Data services for DomainIirs- Opensources software solutions and Data services for Domain
Iirs- Opensources software solutions and Data services for DomainTushar Dholakia
 
Model-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software RepositoriesModel-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software RepositoriesMarkus Scheidgen
 
Data Validation Victories: Tips for Better Data Quality
Data Validation Victories: Tips for Better Data QualityData Validation Victories: Tips for Better Data Quality
Data Validation Victories: Tips for Better Data QualitySafe Software
 
Developing Active-Active Geo-Distributed Apps with Redis
Developing Active-Active Geo-Distributed Apps with RedisDeveloping Active-Active Geo-Distributed Apps with Redis
Developing Active-Active Geo-Distributed Apps with RedisCihan Biyikoglu
 
Avogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsAvogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsMarcus Hanwell
 

Similar to BRL-CAD: An Open Source Perspective (20)

DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...
DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...
DataStax | Network Analysis Adventure with DSE Graph, DataStax Studio, and Ti...
 
RobertGoldingResume
RobertGoldingResumeRobertGoldingResume
RobertGoldingResume
 
GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge Graph
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-final
 
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
 
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
Delivering Asset Management for Infrastructure Projects by Liam Gallagher, Ja...
 
Optimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4jOptimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4j
 
Model-Driven Physical-Design for Future Nanoscale Architectures
Model-Driven Physical-Design for Future Nanoscale ArchitecturesModel-Driven Physical-Design for Future Nanoscale Architectures
Model-Driven Physical-Design for Future Nanoscale Architectures
 
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
 
Graphs for Enterprise Architects
Graphs for Enterprise ArchitectsGraphs for Enterprise Architects
Graphs for Enterprise Architects
 
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
Keynote: A Roadmap for Domain-Specific Low-Code PlatformsKeynote: A Roadmap for Domain-Specific Low-Code Platforms
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...
 
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
Dilnoza Bobokalonova Resume | Embedded Systems Engineering | Backend Software...
 
Iirs- Opensources software solutions and Data services for Domain
Iirs- Opensources software solutions and Data services for DomainIirs- Opensources software solutions and Data services for Domain
Iirs- Opensources software solutions and Data services for Domain
 
Model-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software RepositoriesModel-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software Repositories
 
R at Microsoft
R at MicrosoftR at Microsoft
R at Microsoft
 
Data Validation Victories: Tips for Better Data Quality
Data Validation Victories: Tips for Better Data QualityData Validation Victories: Tips for Better Data Quality
Data Validation Victories: Tips for Better Data Quality
 
Developing Active-Active Geo-Distributed Apps with Redis
Developing Active-Active Geo-Distributed Apps with RedisDeveloping Active-Active Geo-Distributed Apps with Redis
Developing Active-Active Geo-Distributed Apps with Redis
 
Avogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and SemanticsAvogadro, Open Chemistry and Semantics
Avogadro, Open Chemistry and Semantics
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

BRL-CAD: An Open Source Perspective

  • 1. BRL-CAD: An Open Source Perspective MIL-OSS Working Group 2, August 2010 Mr. Sean Morrison morrison@arl.army.mil 410-278-6678 Approved for public release; distribution unlimited.
  • 2. Main Topics Background on BRL-CAD What, who, why? Tools & Techniques for Geometry Analysis Conversion to Open Source Open Problems & Future Directions 2
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. Main Topics Background on BRL-CAD What, who, why? Tools & Techniques for Geometry Analysis Conversion to Open Source Open Problems & Future Directions 8
  • 9. Background • BRL-CAD* is a powerful open source solid modeling system that includes interactive geometry editing, ray tracing for rendering & geometric analyses, a robust geometric representation, data processing tools, and more than 25 years of development history. • Development of BRL-CAD started in 1979 by departed wizard Mike Muuss, author of many contributions to computing including the infamous “ping” network tool. • BRL-CAD was designed to provide tools, techniques, and methodology for representing, visualizing, and analyzing geometry. Particular emphasis is placed on validity, performance, and robustness for vulnerability and lethality analyses. * BRL-CAD is correctly pronounced as “be are el cad” 9
  • 10. Structured Geometry tank hull turret suspension crew turret_armor turret_interior gun breech gun_tube bore_evacuator cylinder_1.s cylinder_2.s cylinder_3.s 10
  • 11. Vulnerability / Lethality Analysis Model of vehicle Specification of BRL-CAD ray tracer munitions performance Shotlines representing Vulnerability model penetrator paths Results e.g., damaged components, residual subsystem capabilities 11
  • 12. Why Develop BRL-CAD? • BRL-CAD is custom-tailored for engineering analysis work providing robust accurate geometric representation and high-performance geometry evaluation. – There is no conversion necessary which is crucial for ensuring robust, consistent, and correct analytic results. Data conversions introduce errors and complicate validation & verification. • Solid modeling and ray tracing are used to represent material interactions and determine paths of propagation. Analyses require shooting millions of rays through highly detailed target descriptions (with millimeter accuracy). – This is a niche requirement not strongly supported by other CAD systems. BRL-CAD’s solid ray tracing is designed to significantly outperform commercial ray tracers. • Extensive model repositories exist at ARL and AFRL of foreign and U.S. assets. – Hundreds of highly detailed target descriptions represent a major investment in BRL-CAD spanning more than two decades. • BRL-CAD provides scalability, portability, robustness, and verifiable accuracy that can perpetually and independently be adapted. – This allows the U.S. Government to not favor any CAD vendor, avoids expensive licensing, and protects ARL from corporate restructuring. • BRL-CAD is highly tuned to DoD needs, more than any other CAD system. 12
  • 13. Main Topics Background on BRL-CAD What, who, why? Tools & Techniques for Geometry Analysis Conversion to Open Source Open Problems & Future Directions 13
  • 14. Finite Element Analysis of Target Descriptions Converted from a BRL-CAD CSG representation to an explicit finite element mesh 14
  • 18. Geometric Analysis Presented Area, Volume, Centroid, Weight/Mass, Moments of Inertia, Line-of-sight Equivalence, Shape Factors, … (and much more) 18
  • 19. Comparing Area Exposure Helmet presented area coverage comparisons 19
  • 20. Automatic Detailed Tire Modeling 20
  • 21. 21
  • 22. Metaballs for Blast Volumes • The engineer traditionally: – Specifies a center of damage Truck with Blast Centers of and lethal miss distance Envelope Glass Truck Damage – Interpolates a 2D curve by hand – Extrapolates the 2D curves back into a 3D surface • With metaballs, the 3D surface is automatically generated based on centers and lethal miss distances 22
  • 23. Metaballs for Blast Volumes 23
  • 24. BRL-CAD in a Nutshell • More than one million lines of code • Extensively cross-platform: • More than 400 binary • Windows, applications • Mac, • More than a dozen • Linux, libraries • UNIX, • … from desktops to supercomputers • Became Open Source software in 2004 • Open code, • Open access, • Open standards • … It’s free! • BRL-CAD became the first Open Source solid modeling system in production use under OSI*-approved license terms 24 * Open Source Initiative http://opensource.org
  • 25. BRL-CAD Community • SLAD V/L analysts and target describers • MUVES and AJEM users throughout U.S. DoD – Army, Air Force, Navy • International collaborations: Senior National Representative V/L Assessment Methodology (VLAM) working group – United Kingdom, Germany, Netherlands, … • Extensive international ties throughout the Open Source community, academia, and commercial industry – University of Utah – University of North Carolina at Chapel Hill – Johns Hopkins University – Texas A&M University … and many others … • Google Summer of Code – Exclusive Open Source opportunity 25
  • 26. Main Topics Background on BRL-CAD What, who, why? Tools & Techniques for Geometry Analysis Conversion to Open Source Open Problems & Future Directions 26
  • 27. Towards Open Source … the long, manpower-intensive way … • Lots of playing “Devil’s Advocate” • Obtain common understanding • Continually dismay fears • Quantify benefits The journey to • Obtain buy-in make BRL-CAD • Keep going Open Source began in 1998. * *Fortunately much has changed since then. 27
  • 28. • Garner support within development team They think it’s impossible, but okay. They were almost right. 28
  • 29. • Obtain initial support from management They didn’t entirely understand, but didn’t see cause to stop the effort either.. Lots of questions. 29
  • 30. (This is much better now thanks to persistent efforts from folks like Risacher and Wheeler, but still an open issue.) • Become an open source legal expert Many, many questions and FUD to dispel. Required constant shepherding, even amongst the dev team, to keep support going and fears at bay. Nobody knowledgeable to help navigate the issues. Had to have answers ready for all of the worst possible “what if” scenarios.. Many licenses to read in detail. This was the most meticulously tedious step. 30
  • 31. • Talk to Tech Transfer They really didn’t understand, but were willing to listen. Their focus was the worst case possible. They wanted to see evidence of others releasing as Open Source. We seemed to be the first within the Army … (maybe first within DoD) So we were stuck. 31
  • 32. • Talk to Security / Public Affairs Fortunately, BRL-CAD was designed from the beginning to be devoid of sensitive data. Without analysis codes or military data embedded, there were no objections. In fact, this would mean substantially less overhead for them! (No more licenses to review and file.) 32
  • 33. • Talk to Information Assurance They didn’t really understand nor have authority to halt the effort, but were consulted for blessing regardless. They had the usual questions and fears that we had heard and answered many times over by this point. They didn’t have objections. 33
  • 34. • Talk to Legal It took months to get a sit down. Persistence! Finally, we got to meet with patent counsel and former NSA Secure Linux legal guru, Steve Bloor. (woot!) He understood everything. 34
  • 35. • Consider the legalities of licensing Bloor made our options clear. Public domain was downright trivial but had major risks. NOSA-style was also easy but had many limitations (less than ideal). Everything else required full rights. Copyright was even better. 35
  • 36. • Make it happen, acquire rights The U.S. Government has no default copyright. At least, not nationally… BUT, copyright can be established and assigned. How? Contract modification, substantial derivative work, copyright claim on derivative, assignment. (There’s even standard clauses!) 36
  • 37. • Get the okay from Management Once copyright was acquired, it finally became a “simple” matter of release approval from management. We showed a substantial quantifiable process savings in addition to numerous “hypothetical” potential benefits. We’d done our homework. The code was ready. After more than five years of persistent effort, we got the okay to release as Open Source in December 2004. 37
  • 38. Before Open Source Army BRL-CAD world-wide site Navy licenses: about 2000 Air Force Non-DoD Government Academic Industrial Individual 500 0 500 Domestic Foreign Total = 1,233 Total = 871
  • 39. After Open Source BRL-CAD downloads in first month: more than 2000 Incomplete “the world’s oldest month source code repository” – August 2007, Robin Luckey, Ohloh Inc. • More than 200,000 downloads and 2,000,000 website hits per year (as of 2010) • Activity (both interest and development) is increasing year over year • Presently receiving about three-to-five staff-years of contributed effort from the Open Source community including source code enhancements, bug fixes, documentation, website development, and more… • Received roughly an additional staff-year of effort in 2008 and 2009 by being accepted into the Google Summer of Code 39
  • 40. Air Force Foreign Industry ARL BRL-CAD Navy Individuals Academia The OLD way Air Force Individuals Foreign Open Source Community Navy BRL-CAD BRL-CAD Academia Industry ARL The NEW way 40
  • 41. Main Topics Background on BRL-CAD What, who, why? Tools & Techniques for Geometry Analysis Conversion to Open Source Open Problems & Future Directions 41
  • 42. Open Problems • NIH: “Not Invented Here” • Perceptions of government code • Open communication with the community • Avoiding the waterfalls with agility • Collaboration • Meritocracy • Diversity • “GLOSS” 42
  • 43. Blatant Solicitation (er, Potential for Collaboration) The BRL-CAD Geometry Service is an interface for accessing revision-controlled geometry from a data repository. Sitting on top of an embeddable geometry engine, the service provides and stores geometry data similar to how a web server delivers web pages.
  • 44. Thank you! Questions? Comments? Christopher Sean Morrison morrison@arl.army.mil 410-278-6678 Several of the images contained within this presentation were created with the support and efforts of many individuals. The following deserve special recognition and thanks: Mike Muuss Lee Butler Erik Greenwald Cliff Yapp Ron Bowers Mike Gillich Justin Shumaker Stephen Kennedy Karel Kulhavy Edwin Davisson Approved for public release; distribution unlimited. 44
  • 45. Additional Information about BRL-CAD 45
  • 46. Geometric Representations Geometric Definition Applications of Use 4 values • Implicit primitives with constructive solid •Radius geometry (CSG) provide a representation •Position format that is very compact and numerically CSG robust (no cracks) implicits Solidity constraint is guaranteed making it well-suited for solid modeling and engineering analysis purposes 200 values • Spline surface boundary representations are •Surface prevalent in commercial CAD systems for •Patches their modeling flexibility •Knot More recently they are also the subject of BREP •Values real-time ray tracing computer graphics NURBS •Weights research 1000 • Polygonal boundary models are commonly values or used by display systems (e.g., OpenGL and more DirectX) for interactive rendering and real- (configurable) time visualization •Individual Many advancements have been made over BREP •Polygons the years on high-performance ray tracing of facets •Vertices triangle models •Normal values 46
  • 47. Representation Data Implications 47
  • 48. Constructive Solid Geometry wedge (wedge ∩ block) − cylinder cylinder block wedge − block − cylinder block − (wedge ∪ cylinder) 48
  • 49. Some of BRL-CAD’s Primitives 49
  • 50. Who is this guy? Morrison is the open source project lead and principal software architect for BRL-CAD. His primary areas of expertise are in computer graphics, open source project management, solid modeling, system administration, information security, human-computer interface and interaction design, software testing, and computational geometry. He is involved numerous open source projects including BRL-CAD, BZFlag, FTGL, and with ties throughout the open source community. ‘brlcad’ on Freenode IRC 50