RunProtelisProgram

fun <P : Position<P>> RunProtelisProgram(    randomGenerator: RandomGenerator,     environment: Environment<Any, P>,     device: ProtelisDevice<P>,     reaction: Reaction<Any>,     program: ProtelisProgram,     retentionTime: Double = Double.NaN)
fun <P : Position<P>> RunProtelisProgram(    randomGenerator: RandomGenerator,     environment: Environment<Any, P>,     device: ProtelisDevice<P>,     reaction: Reaction<Any>,     program: ProtelisProgram,     retentionTime: Double = Double.NaN,     packetLossDistributionName: String,     vararg packetLossDistributionParameters: Double)
fun <P : Position<P>> RunProtelisProgram(    randomGenerator: RandomGenerator,     environment: Environment<Any, P>,     device: ProtelisDevice<P>,     reaction: Reaction<Any>,     program: String,     retentionTime: Double = Double.NaN)
fun <P : Position<P>> RunProtelisProgram(    randomGenerator: RandomGenerator,     environment: Environment<Any, P>,     device: ProtelisDevice<P>,     reaction: Reaction<Any>,     program: String,     retentionTime: Double = Double.NaN,     packetLossDistributionName: String,     vararg packetLossDistributionParameters: Double)