#! D:\VW/vee -r
(saveFormat "1.2")
(date "Sun 31/Aug/1997")
(SaveCF "no")
(filterNAN 0)
(component 0 "ROOTCONTEXT"
 (name "Untitled")
 (interface
 )
 (implementation
  (UserFunctions
   (nextID 9)
   (context 1
    (name "InitTest")
    (interface
     (sequence in)
     (sequence out)
     (output 1
      (type data)
      (name "X")
      (lock constraints)
      (optional yes)
     )
    )
    (implementation
     (locked no)
     (trigMode deg)
     (nextID 1)
     (component 0 "FORMULA"
      (interface
       (sequence in)
       (sequence out)
       (output 1
        (name "Result")
        (lock name constraints)
       )
      )
      (implementation
       (component expr 1 "randomseed((10^9)*fracPart(now()/100))")
      )
      (views
       (icon
       )
       (detail
        (origin 101 68)
        (extent 290 32)
       )
       (terminals on)
       (active detail)
      )
     )
     (configuration
      (connect D0:1 O1:1)
     )
    )
    (views
     (detail
      (origin 35 23)
      (extent 471 122)
      (configuration
       (connect D0:1 O1:1
        (Point 443 84)
        (Point 474 84)
        (Point 474 80)
        (Point 505 80)
       )
      )
     )
     (terminals on)
     (active detail)
    )
   )
   (context 5
    (name "DevTest1")
    (interface
     (sequence in)
     (sequence out)
     (output 1
      (type data)
      (name "X")
      (lock constraints)
      (optional yes)
     )
    )
    (implementation
     (locked no)
     (trigMode deg)
     (nextID 1)
     (component 0 "FORMULA"
      (interface
       (sequence in)
       (sequence out)
       (output 1
        (name "Result")
        (lock name constraints)
       )
      )
      (implementation
       (component expr 1 "random(-1, 11)")
      )
      (views
       (icon
       )
       (detail
        (origin 131 159)
        (extent 129 32)
       )
       (terminals on)
       (active detail)
      )
     )
     (configuration
      (connect D0:1 O1:1)
     )
    )
    (views
     (detail
      (origin 35 23)
      (extent 334 300)
      (configuration
       (connect D0:1 O1:1
        (Point 312 175)
        (Point 340 175)
        (Point 340 170)
        (Point 368 170)
       )
      )
     )
     (terminals on)
     (active detail)
    )
   )
   (context 6
    (name "DevTest2")
    (interface
     (sequence in)
     (sequence out)
     (output 1
      (type data)
      (name "X")
      (lock constraints)
      (optional yes)
     )
    )
    (implementation
     (locked no)
     (trigMode deg)
     (nextID 1)
     (component 0 "FORMULA"
      (interface
       (sequence in)
       (sequence out)
       (output 1
        (name "Result")
        (lock name constraints)
       )
      )
      (implementation
       (component expr 1 "random(-1, 11)")
      )
      (views
       (icon
       )
       (detail
        (origin 131 159)
        (extent 129 32)
       )
       (terminals on)
       (active detail)
      )
     )
     (configuration
      (connect D0:1 O1:1)
     )
    )
    (views
     (detail
      (origin 35 23)
      (extent 334 300)
      (configuration
       (connect D0:1 O1:1
        (Point 312 175)
        (Point 340 175)
        (Point 340 170)
        (Point 368 170)
       )
      )
     )
     (terminals on)
     (active detail)
    )
   )
   (context 7
    (name "DevTest3")
    (interface
     (sequence in)
     (sequence out)
     (output 1
      (type data)
      (name "X")
      (lock constraints)
      (optional yes)
     )
    )
    (implementation
     (locked no)
     (trigMode deg)
     (nextID 1)
     (component 0 "FORMULA"
      (interface
       (sequence in)
       (sequence out)
       (output 1
        (name "Result")
        (lock name constraints)
       )
      )
      (implementation
       (component expr 1 "random(-1, 11)")
      )
      (views
       (icon
       )
       (detail
        (origin 131 159)
        (extent 129 32)
       )
       (terminals on)
       (active detail)
      )
     )
     (configuration
      (connect D0:1 O1:1)
     )
    )
    (views
     (detail
      (origin 35 23)
      (extent 340 300)
      (configuration
       (connect D0:1 O1:1
        (Point 312 175)
        (Point 343 175)
        (Point 343 170)
        (Point 374 170)
       )
      )
     )
     (terminals on)
     (active detail)
    )
   )
   (context 8
    (name "LogTest")
    (interface
     (sequence in)
     (sequence out)
     (input 1
      (name "A")
      (optional yes)
     )
    )
    (implementation
     (locked no)
     (trigMode deg)
     (nextID 1)
     (component 0 "TOFILE"
      (interface
       (sequence in)
       (sequence out)
       (input 1
        (name "A")
        (optional yes)
       )
      )
      (implementation
       (attr iopath file append "vlogfile.txt"
        (readTerm "\n")
        (fs "\r\n")
        (eol "\r\n")
        (multiField fullSyntax)
        (arrayFormat block)
       )
       (procedure
         WRITE TEXT a.Name STR FW:6 LJ
         WRITE TEXT a.Result REAL FIX:2 FW:5 RJ
         WRITE TEXT A.Pass INT FW:2 RJ
         WRITE TEXT A.TimeStamp TIME:HMS:H24 FW:12 RJ EOL
       )
      )
      (views
       (icon
       )
       (detail
        (origin 89 109)
        (extent 382 185)
       )
       (terminals on)
       (active detail)
      )
     )
     (configuration
      (connect I1:1 D0:1)
     )
    )
    (views
     (detail
      (origin 35 23)
      (extent 525 336)
      (configuration
       (connect I1:1 D0:1
        (Point 35 190)
        (Point 50 190)
        (Point 50 201)
        (Point 56 201)
       )
      )
     )
     (terminals on)
     (active detail)
    )
   )
  )
  (locked no)
  (trigMode deg)
  (nextID 46)
  (component 17 "SEQUENCER"
   (interface
    (sequence in)
    (sequence out)
    (output 1
     (name "Return")
     (tag "Return")
     (lock name constraints)
     (optional yes)
    )
    (output 2
     (name "Log")
     (tag "Log")
     (lock name constraints)
     (optional yes)
    )
   )
   (implementation
    (component logproc "logTest(thisTest)")
    (component logfields "name" "pass" "result" "timestamp" "description")
    (procedure
      Init EXECEX:InitTest() 	//Initialize Test Setup
      test1 LOGEN TESTEX:DevTest1() 	RANGEEX: 0 LE 5 LE 10 	//Device Test 1.
      test2 LOGEN TESTEX:DevTest2() 	RANGEEX: 0 LE 5 LE 10 	//Device Test 2.
      test3 LOGEN TESTEX:DevTest3() 	RANGEEX: TestLimit[0] LE 5 LE TestLimit[1] 	//Device Test 3.
    )
   )
   (views
    (icon
    )
    (detail
     (origin 40 269)
     (extent 340 102)
    )
    (terminals on)
    (active detail)
   )
  )
  (component 18 "TEXTDISPLAY"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "Data")
    )
   )
   (implementation
    (component clearAtPrerun 1)
    (component clearAtActivate 1)
   )
   (views
    (icon
    )
    (detail
     (origin 470 278)
     (extent 141 25)
    )
    (active detail)
   )
  )
  (component 30 "TEXTDISPLAY"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "Data")
    )
   )
   (implementation
    (component clearAtPrerun 1)
    (component clearAtActivate 1)
   )
   (views
    (icon
    )
    (detail
     (origin 186 417)
     (extent 428 27)
    )
    (active detail)
   )
  )
  (component 31 "TOSTRING"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "A")
     (optional yes)
    )
    (output 1
     (name "result")
     (lock name constraints)
    )
   )
   (implementation
    (attr iopath string write "string"
     (readTerm "\n")
     (fs " ")
     (eol "\n")
     (multiField fullSyntax)
     (arrayFormat block)
    )
    (procedure
      WRITE TEXT A.test1.Name, ", "
      WRITE TEXT A.test1.Result, ", " REAL FIX:2
      WRITE TEXT A.test1.Pass, ", " INT
      WRITE TEXT A.test1.TimeStamp, ", " DATE:WDMY
      WRITE TEXT A.test1.Description EOL
    )
   )
   (views
    (icon
     (origin 89 422)
     (extent 63 16)
    )
    (detail
     (origin 117 156)
     (extent 387 128)
    )
    (terminals on)
    (active icon)
   )
  )
  (component 33 "TOSTRING"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "A")
     (optional yes)
    )
    (output 1
     (name "result")
     (lock name constraints)
    )
   )
   (implementation
    (attr iopath string write "string"
     (readTerm "\n")
     (fs " ")
     (eol "\n")
     (multiField fullSyntax)
     (arrayFormat block)
    )
    (procedure
      WRITE TEXT A.test2.Name, ", "
      WRITE TEXT A.test2.Result, ", " REAL FIX:2
      WRITE TEXT A.test2.Pass, ", " INT
      WRITE TEXT A.test2.TimeStamp, ", " DATE:WDMY
      WRITE TEXT A.test2.Description EOL
    )
   )
   (views
    (icon
     (origin 89 482)
     (extent 63 16)
    )
    (detail
     (origin 97 276)
     (extent 387 128)
    )
    (terminals on)
    (active icon)
   )
  )
  (component 34 "TEXTDISPLAY"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "Data")
    )
   )
   (implementation
    (component clearAtPrerun 1)
    (component clearAtActivate 1)
   )
   (views
    (icon
    )
    (detail
     (origin 186 477)
     (extent 428 27)
    )
    (active detail)
   )
  )
  (component 35 "TOSTRING"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "A")
     (optional yes)
    )
    (output 1
     (name "result")
     (lock name constraints)
    )
   )
   (implementation
    (attr iopath string write "string"
     (readTerm "\n")
     (fs " ")
     (eol "\n")
     (multiField fullSyntax)
     (arrayFormat block)
    )
    (procedure
      WRITE TEXT A.test3.Name, ", "
      WRITE TEXT A.test3.Result, ", " REAL FIX:2
      WRITE TEXT A.test3.Pass, ", " INT
      WRITE TEXT A.test3.TimeStamp, ", " DATE:WDMY
      WRITE TEXT A.test3.Description EOL
    )
   )
   (views
    (icon
     (origin 89 542)
     (extent 63 16)
    )
    (detail
     (origin 87 276)
     (extent 387 128)
    )
    (terminals on)
    (active icon)
   )
  )
  (component 36 "TEXTDISPLAY"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "Data")
    )
   )
   (implementation
    (component clearAtPrerun 1)
    (component clearAtActivate 1)
   )
   (views
    (icon
    )
    (detail
     (origin 186 537)
     (extent 428 27)
    )
    (active detail)
   )
  )
  (component 37 "LABEL"
   (name "Elementary Sequencer Operation")
   (interface
    (sequence in)
    (sequence out)
   )
   (implementation
    (component labelValue "Elementary Sequencer Operation")
   )
   (views
    (icon
     (extent 232 0)
    )
    (detail
     (origin 130 49)
     (extent 421 42)
     (just c)
    )
    (title off)
    (active detail)
    (font "Arial" 26 bold)
   )
  )
  (component 41 "NOTE"
   (interface
   )
   (implementation
    (component text 21 5
      
     Elementary Sequencer Example / v1.2 / 31 aug 97 / gvg
     
     * This little program demonstrates VEE Sequencer operation.
     It uses three dummy test functions -- "DevTest1", "DevTest2",
     and "DevTest3" -- that return random numbers to perform the
     tests, and an auxiliary function named "InitTest" to seed 
     the random-number generator.
     
     The v1.1 version of this example added a function named 
     "logTest" to perform logging to a file name "vlogfile.txt".
     The v1.2 version added a global variable to show how limits
     could be invoked dynamically.
     
     * Revision history:
     
       v1.0 / not dated / gvg
       v1.1 / 18 jun 97 / gvg / Added logTest function.
       v1.2 / 31 aug 97 / gvg / Added global variable.
     
     [<>]
    )
   )
   (views
    (icon
     (origin 346 174)
     (extent 68 52)
     (iconImage "notepad.icn")
    )
    (detail
     (origin 58 86)
     (extent 544 329)
     (editing enabled)
    )
    (active icon)
   )
  )
  (component 44 "CONSTANT"
   (name "Real")
   (subType "Real")
   (interface
    (sequence in)
    (sequence out)
    (output 1
     (name "Real")
     (lock name constraints)
    )
   )
   (implementation
    (component value Real
     (numDims 1)
     (size 2)
     (data 
       [ 0 10 ]
     )
    )
    (component initValue Real
     (data  0     )
    )
   )
   (views
    (icon
    )
    (detail
     (origin 14 123)
     (extent 113 55)
     (showFormat real)
    )
    (active detail)
   )
  )
  (component 45 "TOGLOBAL"
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (name "Data")
     (tag "Data")
    )
   )
   (implementation
    (component globalName TestLimit)
   )
   (views
    (icon
    )
    (detail
     (origin 185 124)
     (extent 81 53)
    )
    (terminals on)
    (active detail)
   )
  )
  (configuration
   (connect D11:0 D0:0)
   (connect D0:1 D1:1)
   (connect D3:1 D2:1)
   (connect D0:2 D3:1)
   (connect D0:2 D4:1)
   (connect D4:1 D5:1)
   (connect D0:2 D6:1)
   (connect D6:1 D7:1)
   (connect D10:1 D11:1)
  )
 )
 (views
  (detail
   (origin 0 24)
   (extent 640 418)
   (configuration
    (connect D11:0 D0:0
     (Point 220 179)
     (Point 220 248)
    )
    (connect D0:1 D1:1
     (Point 432 290)
     (Point 467 290)
    )
    (connect D3:1 D2:1
     (Point 154 430)
     (Point 183 430)
    )
    (connect D0:2 D3:1
     (Point 432 350)
     (Point 450 350)
     (Point 450 390)
     (Point 70 390)
     (Point 70 430)
     (Point 86 430)
    )
    (connect D0:2 D4:1
     (Point 432 350)
     (Point 450 350)
     (Point 450 390)
     (Point 70 390)
     (Point 70 490)
     (Point 86 490)
    )
    (connect D4:1 D5:1
     (Point 154 490)
     (Point 183 490)
    )
    (connect D0:2 D6:1
     (Point 432 350)
     (Point 450 350)
     (Point 450 390)
     (Point 70 390)
     (Point 70 520)
     (Point 80 520)
     (Point 80 550)
     (Point 86 550)
    )
    (connect D6:1 D7:1
     (Point 154 550)
     (Point 183 550)
    )
    (connect D10:1 D11:1
     (Point 129 150)
     (Point 142 150)
    )
   )
   (stackingOrder 7 5 2 3 4 6 1 9 10 11
     0 8)
  )
  (active detail)
  (numberFormats
   (realFormat standard)
   (realSigDigits 4)
   (realRadixSpec 4)
   (integerBase decimal)
  )
 )
)