DIRECTORY Core, RoseBehavior; RoseControl: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Core.ROPE; Simulation: TYPE = REF SimulationRec; SimulationRec: TYPE; Instantiate: PROC [cellType: Core.CellType] RETURNS [simulation: Simulation]; Test: PROC [simulation: Simulation, test: TestProc]; TestProc: TYPE = PROC [ simpleInstructions, driveInstructions: REF ANY, Eval: PROC]; Op: TYPE = {Add, Remove}; FetchValue: PROC [wire: Core.Wire] RETURNS [value: ROPE]; StoreValue: PROC [wire: Core.Wire, value: ROPE]; NotifyValue: PROC [ simulation: Simulation, wire: Core.Wire, Notify: NotifyValueProc, op: Op]; NotifyValueProc: TYPE = PROC [wire: Core.Wire, value: ROPE]; FetchLevel: PROC [wire: Core.Wire] RETURNS [level: RoseBehavior.Level]; StoreLevel: PROC [wire: Core.Wire, level: RoseBehavior.Level]; NotifyLevel: PROC [ simulation: Simulation, wire: Core.Wire, Notify: NotifyLevelProc, op: Op]; NotifyLevelProc: TYPE = PROC [wire: Core.Wire, level: RoseBehavior.Level]; END. hRoseControl.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Barth, September 12, 1985 7:19:23 pm PDT Spreitzer, August 13, 1985 5:04:02 pm PDT Theory This interface describes the instantiation of Rosemary simulation data structures and the control of simulations. Implementation The cellType must be a record. The simulation is instantiated for the list of cell instances directly on the record cell type. No flattening occurs. Value Operations The value in the following procedures is intended to be interpreted by the user. The wire argument must be atomic in the following procedures. Κ3– "cedar" style˜– "Cedar" stylešœ™Icode– "Cedar" stylešœ Οmœ1™K˜—š  œžœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜K˜—Kš œžœžœ.˜JK˜———Kšžœ˜—…—Ψs