Software Sustainability in Cyclus


Kathryn (Katy) Huff

image generated by Anthony Scopatz, Paul P.H.  Wilson, and Katy Huff

A Nuclear Fuel Cycle Simulation Framework

Cyclus Infrastructure


  • C++
  • Python
  • xml
  • CMake
  • conda
  • GoogleTest
  • nose
  • hdf5
  • sqlite
  • boost
  • Coin-Cbc

Agent Based Systems Analysis


Hundreds of discrete facilities mine, mill, convert, fabricate, transmute, recycle, and store nuclear material.

from Paul Lisowski

Agent Based Systems Analysis

A facility might create material.

source

Agent Based Systems Analysis

It might request material.

sink

Agent Based Systems Analysis

It might do both.

fac

Agent Based Systems Analysis

Even simple fuel cycles have many independent agents.

material flow

Lessons Learned: Openness


Obviously.

Communication Drives Collaboration


Workflows must be Motivated


Lessons Learned: Flexibility


Export control is serious.

Export Control is a big deal in nuclear

'Modified' Open Source


Dynamic library loading and modular encapsulation allow for security of proprietary or sensitive data.

Lessons Learned: Developers Disappear

katy graduating

But, Leaders Appear

scopatz


Leadership transition is key. Be friends.

Links

  • fuelcycle.org
  • katyhuff.github.io

Acknowledgements

  • Cyclus Development Team!

THE END

Katy Huff

katyhuff.github.io/cyclus_wssspe
Creative Commons License
Software Sustainability in Cyclus by Kathryn Huff is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at http://katyhuff.github.io/cyclus_wssspe.