(saveFormat "2.3")
(date "Mon 03/Mar/1997 16:47:52 MST")
(veerev "4.0")
(platform "HP9000s700")
(execMode fast)
(filterNAN 0)
(workspaceStackingOrder M)
(SaveCF no)
(device 0 ROOTCONTEXT
(properties
(trigMode deg)
(nextID 18)
(popupTitleText "Sequencer Logging 2")
(popupMoveable 1)
(popupTitleTextColor "Black")
(popupTitleBackgroundColor "Gray")
(deleteGlobals 0))
(deviceList
(UserFunctions
(nextID 2)
(context 0
(properties
(name "myRand1")
(trigMode deg)
(nextID 2))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(type data)
(name "X")
(lock constraints)
(optional yes)))
(deviceList
(device 0 RANDOMNUMBER
(properties
(lowerLimit 0)
(upperLimit 1))
(interface
(output 1
(name "Rand Val")
(lock name constraints))))
(device 1 FORMULA
(properties
(name " + ")
(expr 1 "X+Y"))
(interface
(input 1
(name "X")
(optional yes))
(input 2
(name "Y")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(configuration
(connect D0:1 D1:1)
(connect I1:1 D1:2)
(connect D1:1 O1:1)))
(contextCarrier
(active detail)
(detail
(extent 495 195)
(anchorPt 192 79)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 127 25))
(open
(extent 157 58))
(terminals on)
(pinCenter -20 0))
(devCarrierFor 1
(active icon)
(icon
(extent 46 25))
(open)
(terminals on)
(pinCenter 240 40))
(connect D0:1 D1:1
(points 4 131 0 170 0 170 30 214 30))
(connect I1:1 D1:2
(points 4 -192 6 -176 6 -176 50 214 50))
(connect D1:1 O1:1
(points 4 265 40 284 40 284 6 302 6)))
(stackingOrder 1 0))))
(context 1
(properties
(name "myRand2")
(trigMode deg)
(nextID 2))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(type data)
(name "X")
(lock constraints)
(optional yes)))
(deviceList
(device 0 RANDOMNUMBER
(properties
(lowerLimit 0)
(upperLimit 100))
(interface
(output 1
(name "Rand Val")
(lock name constraints))))
(device 1 FORMULA
(properties
(name " + ")
(expr 1 "X+Y"))
(interface
(input 1
(name "X")
(optional yes))
(input 2
(name "Y")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(configuration
(connect D0:1 D1:1)
(connect I1:1 D1:2)
(connect D1:1 O1:1)))
(contextCarrier
(active detail)
(detail
(extent 493 195)
(anchorPt 190 79)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 127 25))
(open
(extent 157 58))
(terminals on)
(pinCenter -20 0))
(devCarrierFor 1
(active icon)
(icon
(extent 46 25))
(open)
(terminals on)
(pinCenter 240 40))
(connect D0:1 D1:1
(points 4 131 0 170 0 170 30 214 30))
(connect I1:1 D1:2
(points 4 -190 6 -176 6 -176 50 214 50))
(connect D1:1 O1:1
(points 4 265 40 284 40 284 6 302 6)))
(stackingOrder 1 0)))))
(device 0 SEQUENCER
(properties
(transactions 2 "test1 LOGEN TESTEX:myRand1(1) \tRANGEEX: 1 LE 1.25 LE 1.5 \t"
"test2 LOGEN TESTEX:myRand2(1) \tRANGEEX: 1 LE 26 LE 51 \t"))
(interface
(output 1
(name "Return")
(tag "Return")
(lock name constraints)
(optional yes))
(output 2
(name "Log")
(tag "Log")
(lock name constraints)
(optional yes)))
(implementation
(logfields "name" "pass" "result")))
(device 1 FORCOUNT
(properties
(count 10))
(interface
(output 1
(name "Count")
(lock name constraints))))
(device 2 FORMULA
(properties
(name "mean(x)")
(expr 1 "mean(x)"))
(interface
(input 1
(name "X")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(device 3 TEXTDISPLAY
(properties
(name "Mean Value"))
(interface
(input 1
(name "Data"))))
(device 4 FORMULA
(properties
(name "sdev(x)")
(expr 1 "sdev(x)"))
(interface
(input 1
(name "X")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(device 5 TEXTDISPLAY
(properties
(name "Std Dev"))
(interface
(input 1
(name "Data"))))
(device 6 TEXTDISPLAY
(properties
(name "Min Value"))
(interface
(input 1
(name "Data"))))
(device 7 FORMULA
(properties
(name "min(x)")
(expr 1 "min(x)"))
(interface
(input 1
(name "X")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(device 8 TEXTDISPLAY
(properties
(name "Max Value"))
(interface
(input 1
(name "Data"))))
(device 9 FORMULA
(properties
(name "max(x)")
(expr 1 "max(x)"))
(interface
(input 1
(name "X")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(device 10 TODATASET
(interface
(input 1
(name "input")
(tag "inRecord")
(requires
(datatype Record))
(lock constraints)))
(implementation
(attr iopath file write "/tmp/myData"
(readTerm "\n")
(fs " ")
(eol "\n")
(multiField fullSyntax)
(arrayFormat block))))
(device 11 FROMDATASET
(properties
(readRecs all)
(expr 1 "Rec.test1.pass AND Rec.test2.pass"))
(interface
(output 1
(name "Rec")
(tag "records")))
(implementation
(attr iopath file read "/tmp/myData"
(readTerm "\n")
(fs " ")
(eol "\n")
(multiField fullSyntax)
(arrayFormat block))))
(device 12 FORMULA
(properties
(expr 1 "Rec[*].test1.result"))
(interface
(input 1
(name "Rec")
(optional yes))
(output 1
(name "Result")
(tag "Result")
(lock name constraints)
(optional yes))))
(device 15 CONTEXT
(properties
(name "Press For")
(description2 10 "This User Object is the outermost \"context\""
"for the InfoAbout help device.  Within this"
"device is the pop-up panel containing the info"
"Notepad.  If all you can see is a device with"
"\"Press For\", you should double-click the left"
"mouse button on the Press For to restore the"
"Panel View of the device.  To see how this device"
"operates, click on the Info About button first,"
"then press the Detail button in the \"Press For\"" "title bar.")
(trigMode deg)
(nextID 4))
(deviceList
(device 0 TOGGLE25
(properties
(name "Info About")
(description2 18 "This is a toggle device with the name changed to"
"reflect it\'s function.  The output of the device"
"is \"0\" when the button is up, and \"1\" when the" "button is down.  " ""
"A Reset Control Input terminal has been added to"
"to always pop the button back out after showing"
"the pop-up help (Info About This Example) User" "Object." ""
"The Toggle has set the \"AutoExecute\" option to let"
"it operate even when the RUN button in the title"
"bar has not been pressed.  Note, however, that"
"AutoExecute only works when no other threads are"
"operating, either from their Start buttons or from" "the RUN button." "" "")
(autoTrigger 1))
(interface
(input 1
(type control)
(name "Reset")
(lock name constraints)
(optional yes))
(output 1
(lock name constraints)))
(implementation
(value Int32
(data  0))
(initValue Int32
(data  0))))
(device 2 CONTEXT
(properties
(name "Info About This Example")
(description2 10 "This is a User Object that has both a detail view"
"and a Panel view.  If this device is visible as"
"an icon, you must double-click the left mouse"
"button to \"open up\" the non-iconic view." ""
"Since the User Object has both a Panel and Detail"
"view, when you double-click on the icon, you will"
"first see the Panel view.  To see the components"
"of the User Object, press the Detail button in"
"the \"Info About This Example\" title bar.")
(trigMode deg)
(nextID 2)
(popupMoveable 1))
(deviceList
(device 0 NOTE
(properties
(name "NotePad")
(description2 11 "This notepad is displayed as a Show on Execute"
"panel to present the information to the reader." ""
"It has been \"Added to Panel\" of the \"Info About"
"This Example\" user object, thus it is not "
"necessary to keep it as an open device inside the"
"Detail view; you can edit the notepad from the"
"Panel view of this User Object.  You can also"
"set/clear the \"Enable Edit\" flag in this Notepad\'s"
"Object Menu to keep the pop-up notepad from being" "altered by the user.")
(text2 20
"PURPOSE:  Shows how to output logged test results from the Sequencer to a "
"    DataSet, and then retrieve the data from the DataSet and analyze the"
"    results." "" "USER INPUT REQUIRED:  Press \"Run\"." "" "EXPLANATION:"
"\tYou can use a DataSet to store your logged test results from a Sequencer."
"    The Sequencer object Log output terminal is connected to the To DataSet"
"    object. Once the For Count object is finished, it causes the From DataSet"
"    object to retrieve the stored DataSet from /tmp/myData.  From DataSet is"
"    configured to retrieve ALL records from /tmp/myData, but to test each"
"    record against the condition Rec.test1.pass AND Rec.test2.pass.  In other"
"    words, a particular record is retrieved only if both test1 and test2 were"
"    passed for the record.  Of the retrieved records, if any, the expression"
"    Rec.test1.result returns all of the test1.result record fields, which are"
"    then statistically analyzed." ""
"\tNote that this model will error if none of the records satisfy the"
"    expression Rec.test1.pass AND Rec.test2.pass. ")))
(device 1 CONFIRM25
(properties
(name "DONE")
(description2 7 "This tiny \"thread\" begins running when the "
"enclosing UserObject is executed.  When the user"
"acknowledges the OK/DONE button, there is nothing"
"left to execute, so the thread ends.  Since there"
"are not other threads running, the User Object"
"is completed and will exit, removing the Show on" "Execute pop-up display."))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(configuration)
(ShowOnExecPanel
(relativeOrigin 2 2)))
(contextCarrier
(active detail)
(panel
(extent 821 499)
(widget 0 detail
(relativeOrigin 3 3)
(title off)
(borderStyle flat)
(extent 810 451)
(editing disabled))
(widget 1 detail
(relativeOrigin 375 459)
(title off)
(borderStyle flat)
(extent 69 33)))
(detail
(extent 866 520)
(anchorPt 433 270)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 78 25))
(open
(extent 848 437)
(editing enabled))
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon)
(open
(extent 58 37))
(title off)
(pinCenter 0 70)))
(stackingOrder 1 0))))
(device 3 IFTHENELSE
(properties
(name "!= 0")
(description2 5 "If no threads are running, the Toggle can generate"
"it\'s output data whenever the button is changed"
"(using the Toggle\'s AutoExecute mode).  In this"
"case, either the User Object is executed or the"
"Autoexecute sequence terminates.")
(cases 1 "a!=0"))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(name "Then")
(lock name constraints))
(output 2
(name "Else")
(lock name constraints))))
(configuration
(connect D1:0 D0:1)
(connect D2:1 D1:0)
(connect D0:1 D2:1)))
(contextCarrier
(active panel)
(panel
(extent 319 77)
(widget 0 detail
(relativeOrigin 101 16)
(title off)
(borderStyle flat)
(extent 114 39)
(scaled on)
(format button)))
(detail
(extent 912 591)
(anchorPt 256 245)
(configuration
(devCarrierFor 0
(active open)
(icon)
(open
(extent 114 39)
(scaled on)
(format button))
(title off)
(pinCenter 0 0))
(devCarrierFor 2
(active icon)
(icon
(extent 217 25))
(open
(extent 821 499)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter 190 50))
(devCarrierFor 3
(active icon)
(icon
(extent 46 25))
(open
(extent 73 64))
(terminals on)
(pinCenter 140 0))
(connect D1:0 D0:1
(points 5 190 65 190 80 -80 80 -80 0 -60 0))
(connect D2:1 D1:0
(points 3 165 -10 190 -10 190 35))
(connect D0:1 D2:1
(points 2 59 0 114 0)))
(stackingOrder 2 0 1))))
(device 16 NOTE)
(configuration
(connect D1:1 D0:0)
(connect D12:1 D2:1)
(connect D2:1 D3:1)
(connect D12:1 D4:1)
(connect D4:1 D5:1)
(connect D7:1 D6:1)
(connect D12:1 D7:1)
(connect D9:1 D8:1)
(connect D12:1 D9:1)
(connect D0:2 D10:1)
(connect D1:0 D11:0)
(connect D11:1 D12:1)))
(contextCarrier
(wndOrigin 2 2)
(wndState res)
(active detail)
(detail
(extent 942 555)
(anchorPt 210 117)
(configuration
(devCarrierFor 0
(active open)
(icon)
(open
(extent 290 76))
(terminals on)
(pinCenter -10 0))
(devCarrierFor 1
(active open)
(icon
(extent 110 64)
(iconImage "loop.icn"))
(open
(extent 160 34))
(pinCenter -120 -110))
(devCarrierFor 2
(active icon)
(icon
(extent 78 25))
(open)
(terminals on)
(pinCenter 320 310))
(devCarrierFor 3
(active open)
(icon
(extent 110 0))
(open
(extent 162 37))
(pinCenter 450 310))
(devCarrierFor 4
(active icon)
(icon
(extent 78 25))
(open)
(terminals on)
(pinCenter 310 380))
(devCarrierFor 5
(active open)
(icon
(extent 78 0))
(open
(extent 158 37))
(pinCenter 450 380))
(devCarrierFor 6
(active open)
(icon
(extent 110 0))
(open
(extent 159 35))
(pinCenter 450 170))
(devCarrierFor 7
(active icon)
(icon
(extent 78 25))
(open)
(terminals on)
(pinCenter 310 170))
(devCarrierFor 8
(active open)
(icon
(extent 110 0))
(open
(extent 163 35))
(pinCenter 450 240))
(devCarrierFor 9
(active icon)
(icon
(extent 78 25))
(open)
(terminals on)
(pinCenter 310 240))
(devCarrierFor 10
(active open)
(icon
(extent 110 25))
(open
(extent 251 67))
(terminals on)
(pinCenter 425 20))
(devCarrierFor 11
(active open)
(icon)
(open
(extent 316 135))
(terminals on)
(pinCenter -15 170))
(devCarrierFor 12
(active open)
(icon
(extent 78 64)
(iconImage "formula.icn"))
(open
(extent 178 60))
(pinCenter 120 380))
(devCarrierFor 15
(active open)
(icon
(extent 110 25))
(open
(extent 319 77)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter 530 -90))
(devCarrierFor 16
(active icon)
(icon
(extent 338 48)
(iconImage "disclaim.icn")
(label off))
(open
(extent 200 100)
(editing enabled))
(pinCenter 540 90))
(connect D1:1 D0:0
(points 3 -38 -110 0 -110 5 -59))
(connect D12:1 D2:1
(points 6 211 380 220 380 220 360 230 360 230 310 278 310))
(connect D2:1 D3:1
(points 2 361 310 366 310))
(connect D12:1 D4:1
(points 8 211 380 220 380 220 360 230 360 230 350 260 350 260 380 268 380))
(connect D4:1 D5:1
(points 2 351 380 368 380))
(connect D7:1 D6:1
(points 2 351 170 368 170))
(connect D12:1 D7:1
(points 8 211 380 220 380 220 360 230 360 230 310 240 310 240 170 268 170))
(connect D9:1 D8:1
(points 2 351 240 366 240))
(connect D12:1 D9:1
(points 8 211 380 220 380 220 360 230 360 230 310 240 310 240 240 268 240))
(connect D0:2 D10:1
(points 2 197 20 247 20))
(connect D1:0 D11:0
(points 6 -120 -91 -120 -80 -200 -80 -200 60 -10 60 -10 82))
(connect D11:1 D12:1
(points 6 185 170 210 170 210 260 20 260 20 380 28 380)))
(stackingOrder 7 1 11 6 12 0 14 10 8 9 2 3 5 4 13))
(numberFormats
(realFormat standard)
(realSigDigits 4)
(realRadixSpec 4)
(integerBase decimal))))
