<> <> <<(FooPublicWire>> <<(record>> <<(fu>> <<(sequence (fubit (atom) ()))>> <<((variableWire TRUE))>> <<)>> <<(bar>> <<(record>> <<(true (atom) ())>> <<(complement (atom) ())>> <<)>> <<((simpleDrive TRUE))>> <<)>> <<)>> <<()>> <<)>> <> <> <> <> DIRECTORY RoseBehavior; FooRoseDefs: CEDAR DEFINITIONS = { FooPublicWireSimple: TYPE = MACHINE DEPENDENT RECORD [ fu(0:0..31): fuSimple, fill1(2:0..13): [0 .. 16383], bar(2:14..15): barSimple ]; fuSimple: TYPE = REF fuSimpleSequence; fuSimpleSequence: TYPE = RECORD [elts: SEQUENCE length: NAT OF BOOL]; barSimple: TYPE = MACHINE DEPENDENT RECORD [ true(0:0..0): BOOL, complement(0:1..1): BOOL ]; FooPublicWireSwitch: TYPE = MACHINE DEPENDENT RECORD [ fu(0): fuSwitch, bar(2): barSwitch ]; fuSwitch: TYPE = REF fuSwitchSequence; fuSwitchSequence: TYPE = RECORD [elts: SEQUENCE length: NAT OF SwitchVal]; SwitchVal: TYPE = RoseBehavior.SwitchVal; barSwitch: TYPE = MACHINE DEPENDENT RECORD [ true(0): SwitchVal, complement(1): SwitchVal ]; FooPublicWireDrive: TYPE = MACHINE DEPENDENT RECORD [ fu(0:0..3): Drive, bar(0:4..7): Drive ]; Drive: TYPE = RoseBehavior.Drive; FooFu, FooBar, FooBarTrue, FooBarComplement: RoseBehavior.PortPath; }.