<> <> DIRECTORY IO, List, OrderedSymbolTableRef, PrincOps, Rope, RoseEvents, RoseTypes; RoseRun: CEDAR DEFINITIONS = BEGIN OPEN RoseTypes; Run: PROC [sim: Simulation]; Next: PROC [sim: Simulation] RETURNS [stepType: StepType]; StepSim: PROC [sim: Simulation] RETURNS [stepType: StepType]; StepType: TYPE = {noStep, switchStep, otherStep}; stop: BOOLEAN; <> ActivityReport: TYPE = REF ActivityReportRep; ActivityReportRep: TYPE = RECORD [ node: Node, socket: Socket]; <> FindExteriorVicinity: PROC [cell: Cell, index: CARDINAL]; PerturbNode: PROC [node: Node, within: Cell]; PerturbPort: PROC [cell: Cell, index: CARDINAL]; ValueChanged: PROC [node: Node]; ScheduleCell: PROC [Cell]; StrEvals: EvalProcs; StrMirrorEvals: EvalProcs; NewToOld: PROC [cell: Cell]; <> AllowToModify: PROC [cell: Cell, modifier: ModifyProc, blindly, mayRescheduleSelf: BOOLEAN _ FALSE]; <> <> <> ModifyProc: TYPE = PROC [cell: Cell] RETURNS [subtle: BOOLEAN _ FALSE]; <> <> <> Test: PROC [sim: Simulation, cth: CellTestHandle, parms: TestParms, testData: REF ANY _ NIL]; <> TestParms: TYPE = REF TestParmsRep; TestParmsRep: TYPE = RECORD [ stopBefore, stopAfter: BOOLEAN _ FALSE]; Eval: PROC [handle: CellTestHandle, returnAfter: ReturnAfter _ returnWhenSettled] RETURNS [happened: StepType]; ReturnAfter: TYPE = PACKED ARRAY MaskableStepType OF BOOLEAN; MaskableStepType: TYPE = StepType[switchStep .. otherStep]; returnWhenSettled: ReturnAfter = [FALSE, FALSE]; DisableableStop: PROC [proc: UNSAFE PROC ANY RETURNS ANY, msg: ROPE, data: REF ANY _ NIL]; <> DisableThisStop: PROC [fh: PrincOps.FrameHandle] RETURNS [ok: BOOL]; <> END.