Random value generation for uncertainty analysis
You've clearly spent some time looking into best practices; your code is well separated, readable, logical. Keep up the formatting, and people will be happy to read over your code.

This did jump out at me though: you have two specific string literals "Normal Distribution" and "Triangular Distribution" that are repeated in separate files.. Advisable to avoid multiple instances of a string literal in future, especially in separate files; when code gets large, approaches like that can be time consuming and erroneous. 

Think: constants and enums. Your compiler won't pick up on string literal typos like that, which could lead to irritating runtime errors or unexpected behaviour. On the other hand, it will of course alert you to undeclared (mistyped) handles in your code. Much more efficient bug removal.