code: function Probability(value, parameters) {
      abstractions.Element.call(this, utilities.types.PROBABILITY, parameters);
      if (value === undefined) value = 0;  // default value
      if (!isFinite(value) || value < 0 || value > 1) {
          throw new utilities.Exception({
              $module: '/bali/elements/Probability',
              $procedure: '$Probability',
              $exception: '$invalidParameter',
              $parameter: value.toString(),
              $text: '"An invalid probability value was passed to the constructor."'
          });
      }
  
      // since this element is immutable the value must be read-only
      this.getValue = function() { return value; };
  
      return this;
  
  }
docs: PUBLIC CONSTRUCTOR 
  This constructor creates a new probability element using the specified value.
  
  @param {Number} value The value of the probability.
  @param {Parameters} parameters Optional parameters used to parameterize this element.
  @returns {Probability} The new probability element.