public static void Execute(PSharpRuntime runtime) { var s = (StateImpl)PTesterCommandLine.main_s.Clone(); s.UserBooleanChoice = delegate() { return(runtime.Random()); }; s.CreateMachineCallback = delegate(PrtImplMachine machine) { PTesterCommandLine.coverage.DeclareMachine(machine); }; s.DequeueCallback = delegate(PrtImplMachine machine, string evName, string senderMachineName, string senderMachineStateName) { PTesterCommandLine.coverage.ReportDequeue(machine, evName, senderMachineName, senderMachineStateName); }; s.StateTransitionCallback = delegate(PrtImplMachine machine, PrtState from, PrtState to, string reason) { PTesterCommandLine.coverage.ReportStateTransition(machine, from, to, reason); }; PTesterCommandLine.currentImpl = s; runtime.CreateMachine(typeof(PSharpMachine), new MachineInitEvent(s)); }