home *** CD-ROM | disk | FTP | other *** search
/ Media Share 13 / mediashare_13.zip / mediashare_13 / ZIPPED / PROGRAM / OOT-106A.ZIP / TRAFFIC.OOT < prev   
Text File  |  1994-01-30  |  16KB  |  890 lines

  1. TITL A very meaningsless example on the new features in OOTher
  2. OBJ: 0 710 445 OS-timer
  3. DESC 103
  4. +Summary:
  5. +
  6. +States:
  7. +
  8. +External Inputs:
  9. +
  10. +External Outputs:
  11. +
  12. +Constraints:
  13. +
  14. +Notes:
  15. +
  16. +References:
  17.  
  18. OBJ: 1 100 55 ObjHeader
  19. DESC 166
  20. +Summary:
  21. +Common properties for all objects.
  22. +States:
  23. +
  24. +External Inputs:
  25. +
  26. +External Outputs:
  27. +
  28. +Constraints:
  29. +
  30. +Notes:
  31. +#@@+{Header File objHdr.h}#@@
  32. +References:
  33.  
  34. ATTR identity
  35. DESC 128
  36. +Summary:
  37. +own global identity in the traffic light complex
  38. +Values:
  39. +#@@+{Type int }#@@
  40. +Constraints:
  41. +
  42. +Notes:
  43. +
  44. +References:
  45.  
  46. SERV ObjHeader
  47. DESC 163
  48. +Summary:
  49. +constructor.
  50. +
  51. +Parameters:
  52. +#@@+{Specifier}#@@
  53. +#@@+{Call Arguments int iIdent}#@@
  54. +Algorithm:
  55. +
  56. +Exceptions:
  57. +
  58. +Constraints:
  59. +
  60. +Notes:
  61. +
  62. +References:
  63.  
  64. FSMB
  65. TEXT "this fsm is empty!" 70 35 -1 " "
  66. TEXT "try another service!" 70 60 -1 " "
  67. FSME
  68. SERV getOwnIdentity
  69. DESC 179
  70. +Summary:
  71. +    fetch the global own identity
  72. +Parameters:
  73. +#@@+{Type int }#@@ #@@+{Call Arguments }#@@
  74. +#@@+{Qualifier const}#@@
  75. +Algorithm:
  76. +
  77. +Exceptions:
  78. +
  79. +Constraints:
  80. +
  81. +Notes:
  82.  
  83. FSMB
  84. RECV "GET ID" 135 150 2 " "
  85. SEND "OWN ID (id)" 120 220 0 " "
  86. STAT "any state" 130 65 -1 " "
  87. STAT "- - -" 140 300 1 " "
  88. TEXT "trivial FSM!" 115 20 -1 " "
  89. TEXT "state '- - -' may mean unchanged" 215 300 -1 " "
  90. FSME
  91. OBJ: 0 635 30 controlPanel
  92. DESC 212
  93. +Summary:
  94. +it is a control panel device where you can see which traffic ligs are OK/faulty.
  95. +
  96. +States:
  97. +
  98. +External Inputs:
  99. +
  100. +External Outputs:
  101. +
  102. +Constraints:
  103. +
  104. +Notes:
  105. +#@@+{Header File cp.h}#@@
  106. +
  107. +References:
  108.  
  109. ATTR stateMatrix
  110. DESC 314
  111. +Summary:
  112. +A matrix, with one indicator per lamp in the traffic light system. Every element in the matrix has a connected LED.
  113. +
  114. +Values:
  115. +#@@+{Type BOOL}#@@
  116. +#@@+{Qualifier [MAX_TRLIGHTS]}#@@
  117. +TRUE - light is/was burned, faulty since the  previous manual matrix resetting
  118. +
  119. +Constraints:
  120. +
  121. +Notes:
  122. +
  123. +References:
  124.  
  125. SERV collectionTime
  126. DESC 370
  127. +Summary:
  128. +Time to collect status of all traffic groups
  129. +
  130. +Parameters:
  131. +#@@+{Type void}#@@  #@@+{Call Arguments BOOL ERRind, longOwnData}#@@
  132. +
  133. +Algorithm:
  134. +Scan all traffic lights groups and collect their lamp status.
  135. +Switch on all the corresponding LEDs in the matrix.
  136. +NB this service NEVER switches a LED off!
  137. +
  138. +Exceptions:
  139. +
  140. +Constraints:
  141. +
  142. +Notes:
  143. +
  144. +References:
  145.  
  146. FSMB
  147. ACTN " " 40 380 2 "bulb ok"
  148. ASKM "GET gr i" 120 240 3 "group i"
  149. COND "bulb status?" 105 295 1 " "
  150. ITER "for all groups" 105 155 5 " "
  151. NEX2 "next" 110 435 2 " " 0 6 
  152. RECV "Timeout" 120 90 8 " "
  153. SEND "LED ON" 220 380 2 "is burned out"
  154. SEND "REQ Main Collect" 350 250 3 "all groups processed"
  155. STAT "SLEEP" 120 20 -1 " "
  156. STAT "SLEEP" 380 305 7 " "
  157. FSME
  158. SERV resetMatrix
  159. DESC 234
  160. +Summary:
  161. +An operator may manually reset the matrix.
  162. +
  163. +Parameters:
  164. +#@@+{
  165. +Type void
  166. +}#@@ #@@+{
  167. +Call Arguments 
  168. +}#@@
  169. +
  170. +Algorithm:
  171. +clear all LEDs and the corresponding data.
  172. +Exceptions:
  173. +
  174. +Constraints:
  175. +
  176. +Notes:
  177. +
  178. +References:
  179.  
  180. FSMB
  181. ITER "for all groups" 147 150 2 " "
  182. NEX2 "next LED" 157 320 1 " " 3 
  183. RECV "Foooooooooooooooooooooooomessage" 70 85 4 " "
  184. SEND "LED OFF" 155 235 0 " "
  185. STAT "- - -" 169 30 -1 " "
  186. STAT "- - -" 320 245 0 "all processed"
  187. FSME
  188. OBJ: 0 335 250 lightGroup
  189. DESC 288
  190. +Summary:
  191. +    This is a container of all traffic lights showing the same light configurtation.
  192. +States:
  193. +    LIGHT color of the whole group
  194. +
  195. +External Inputs:
  196. +
  197. +External Outputs:
  198. +
  199. +Constraints:
  200. +
  201. +Notes:
  202. +#@@+{Container trafficLight List }#@@
  203. +#@@+{Header File grtraf.h }#@@
  204. +
  205. +References:
  206.  
  207. ATTR lightState
  208. DESC 151
  209. +Summary:
  210. +    current state required for the whole group, also visible for drivers
  211. +Values:
  212. +    #@@+{Type LIGHT}#@@
  213. +Constraints:
  214. +
  215. +Notes:
  216. +
  217. +References:
  218.  
  219. SERV getBulbState
  220. DESC 422
  221. +Summary:
  222. +The service is used to collect bulb status for the whole group. The returned list contains  identities of all trafficLight inividuals having burned bulbs.
  223. +Parameters:
  224. +#@@+{Type List & }#@@
  225. +#@@+{Call Arguments  }#@@
  226. +#@@+{Qualifier const }#@@
  227. +
  228. +Algorithm:
  229. +fetch bulbState from all trafficLights in the group and create alist of those with are burned.
  230. +
  231. +Exceptions:
  232. +
  233. +Constraints:
  234. +
  235. +Notes:
  236. +
  237. +References:
  238.  
  239. SERV getColor
  240. DESC 180
  241. +Summary:
  242. +    returns current LIGHT state for the group
  243. +Parameters:
  244. +#@@+{Type LIGHT}#@@ #@@+{Call Arguments}#@@
  245. +Algorithm:
  246. +
  247. +Exceptions:
  248. +
  249. +Constraints:
  250. +
  251. +Notes:
  252. +
  253. +References:
  254.  
  255. SERV setColor
  256. DESC 279
  257. +Summary:
  258. +    request to set light state/color for the entire group.
  259. +Parameters:
  260. +#@@+{Type void }#@@
  261. +#@@+{Call Arguments LIGHT Ilight}#@@
  262. +
  263. +Algorithm:
  264. +Propagate the required light state to all traffic lights contained in this group.
  265. +
  266. +
  267. +Exceptions:
  268. +
  269. +Constraints:
  270. +
  271. +Notes:
  272.  
  273. OBJ: 0 705 265 syncUnit
  274. DESC 171
  275. +Summary:
  276. +This is an external unit having all the logic for traffic control.
  277. +
  278. +States:
  279. +
  280. +External Inputs:
  281. +
  282. +External Outputs:
  283. +
  284. +Constraints:
  285. +
  286. +Notes:
  287. +
  288. +References:
  289.  
  290. OBJ: 0 420 425 timer
  291. DESC 132
  292. +Summary:
  293. +
  294. +States:
  295. +
  296. +External Inputs:
  297. +
  298. +External Outputs:
  299. +
  300. +Constraints:
  301. +
  302. +Notes:
  303. +#@@+{Header File timex1.h}#@@
  304. +References:
  305.  
  306. ATTR timeoutQueue
  307. DESC 692
  308. +Summary:
  309. +Queue of requested timeouts
  310. +Values:
  311. +#@@+{Type REQuest }#@@
  312. +#@@+{Specifier Static}#@@
  313. +#@@+{Qualifier [MAX_STN]}#@@
  314. +
  315. +Constraints:
  316. +The queue is a sorted list of the requests. The requests are sorted with these to be expired first in the beginning of the queue.
  317. +The internal records contain:
  318. +- time to expirationafter that  the previous element in queue has expired. I.e. time to expiration is sum of timeout values of all preceeding elements.
  319. +- ownIdentity of the object who requested the timeout
  320. +- user supplied ownData (to be returned at expiration)
  321. +
  322. +Notes:
  323. +
  324. +MAX_STN is the highest number of requests that can be served. Here assumed 'enought large'
  325. +
  326. +
  327. +References:
  328.  
  329. SERV internalTimer
  330. DESC 582
  331. +Summary:
  332. +   The internal timer occurs every NN seconds, wich specified accuracy of the time-out handling.
  333. +Internal timer is invoked when a NN-sec messages comes from the operating system.
  334. +
  335. +Parameters:
  336. +#@@+{Type void}#@@ #@@+{Call Arguments }#@@
  337. +
  338. +Algorithm:
  339. +subtract NN from time specification in all the elements in the queue and send messages to the objects which time requests expired.
  340. +
  341. +The receiving objects are addressed by their ownIdentites. The ownData submitted when the request was ordered are returned.
  342. +
  343. +
  344. +Exceptions:
  345. +
  346. +Constraints:
  347. +
  348. +Notes:
  349. +
  350. +References:
  351.  
  352. FSMB
  353. ACTN "Timer = TICKtime" 75 155 7 " "
  354. ACTN "sumTime = 0" 90 210 0 " "
  355. ACTN "get element in queue" 65 325 5 " "
  356. ACTN "elementTime -= Timer-sumTime" 185 465 4 "No!"
  357. COND "sumTime+elementTime < Timer" 35 385 2 " "
  358. ITER "while sumTime < Timer" 60 270 1 " "
  359. NEX2 "end while" 100 535 2 " " 8 3 
  360. RECV "TICK" 110 95 9 " "
  361. SEND "TimeOut" 30 465 4 "Yes!"
  362. STAT "---" 110 30 -1 " "
  363. STAT "---" 355 355 5 "end of loop"
  364. FSME
  365. SERV requestTimeout
  366. DESC 430
  367. +Summary:
  368. +Applications may request timeout message.
  369. +
  370. +Parameters:
  371. +#@@+{Type void}#@@
  372. +#@@+{Call Arguments int secondsToTimeout, int ownIdentity, long ownData}#@@
  373. +
  374. +Algorithm:
  375. +File the request into proper location in the queue (time to expiration).
  376. +
  377. +Exceptions:
  378. +
  379. +Constraints:
  380. +If no memory to create the timer block a immediate timeout message is sent to the requesting object with an ERRor code.
  381. +
  382. +Notes:
  383. +
  384. +References:
  385.  
  386. FSMB
  387. ACTN "find location where to add elem." 60 170 4 " "
  388. ACTN "move rest of queue 1 step" 80 230 0 " "
  389. ACTN "add elemet to queue" 95 295 1 " "
  390. ACTN "recalc time for next elem" 80 350 2 " "
  391. RECV "REQ timeout t" 110 110 5 " "
  392. STAT "---" 135 35 -1 " "
  393. STAT "---" 135 415 3 " "
  394. FSME
  395. OBJ: 0 75 465 trafficLight
  396. DESC 234
  397. +Summary:
  398. +    a device showing instructions to drivers.
  399. +States:
  400. +    RED, YELLOW, GREEN
  401. +External Inputs:
  402. +    orders to set ligth state.
  403. +External Outputs:
  404. +    bulb alarms
  405. +Constraints:
  406. +
  407. +Notes:
  408. +    #@@+{Header File trlight.h}#@@
  409. +References:
  410.  
  411. ATTR bulbState
  412. DESC 177
  413. +Summary:
  414. +    contains info ia ny of bulbs is burned.
  415. +Values:
  416. +    TRUE - all OK
  417. +    FALSE - at least one bulb is burned
  418. +#@@+{Type BOOL }#@@
  419. +
  420. +Constraints:
  421. +
  422. +Notes:
  423. +
  424. +References:
  425.  
  426. ATTR lightState
  427. DESC 122
  428. +Summary:
  429. +    current state, also visible for drivers
  430. +Values:
  431. +    #@@+{Type LIGHT}#@@
  432. +Constraints:
  433. +
  434. +Notes:
  435. +
  436. +References:
  437.  
  438. SERV getBulbState
  439. DESC 161
  440. +Summary:
  441. +    get bulb's Health state
  442. +Parameters:
  443. +#@@+{Type BOOL}#@@ #@@+{Call Arguments}#@@
  444. +Algorithm:
  445. +
  446. +Exceptions:
  447. +
  448. +Constraints:
  449. +
  450. +Notes:
  451. +
  452. +References:
  453.  
  454. SERV ownCheck
  455. DESC 553
  456. +Summary:
  457. +Own check is invoked when a timer message is received. Then the bulbs are checked for conductivity. If any is burned the bulb state is set to indicate the fault..
  458. +
  459. +Parameters:
  460. +#@@+{Call Arguments BOOL ERRindicator, long ownData}#@@
  461. +#@@+{Type void}#@@
  462. +
  463. +
  464. +Algorithm:
  465. +if ERRin is TRUE, discard the timer. and wait for a message with ERRind being FALSE.
  466. +
  467. +Otherwise perform a hardware self test to check conductivity of each bulb. If any one is burned set the bulbState to faulty..
  468. +
  469. +Exceptions:
  470. +
  471. +Constraints:
  472. +
  473. +Notes:
  474. +
  475. +References:
  476.  
  477. SERV setColor
  478. DESC 185
  479. +Summary:
  480. +    request to set light state/color
  481. +Parameters:
  482. +#@@+{Type void }#@@
  483. +#@@+{Call Arguments LIGHT Ilight}#@@
  484. +Algorithm:
  485. +
  486. +Exceptions:
  487. +
  488. +Constraints:
  489. +
  490. +Notes:
  491. +
  492. +References:
  493.  
  494. SERV trafficLight
  495. DESC 154
  496. +Summary:
  497. +    constructor
  498. +Parameters:
  499. +#@@+{Call Arguments LIGHT Ilight, int Ident}#@@
  500. +Algorithm:
  501. +
  502. +Exceptions:
  503. +
  504. +Constraints:
  505. +
  506. +Notes:
  507. +
  508. +References:
  509.  
  510. CON2 w 3 6 "N" "1"
  511. DESC 51
  512. +Summary:
  513. +
  514. +Constraints:
  515. +
  516. +Notes:
  517. +
  518. +References:
  519.  
  520. CON2 m 2 5 "N" "1"
  521. DESC 51
  522. +Summary:
  523. +
  524. +Constraints:
  525. +
  526. +Notes:
  527. +
  528. +References:
  529.  
  530. CON2 m 2 3 "N" "1"
  531. DESC 51
  532. +Summary:
  533. +
  534. +Constraints:
  535. +
  536. +Notes:
  537. +
  538. +References:
  539.  
  540. CON3 -40 0 100
  541. CON2 m 4 3 "N" "1"
  542. DESC 51
  543. +Summary:
  544. +
  545. +Constraints:
  546. +
  547. +Notes:
  548. +
  549. +References:
  550.  
  551. CON3 20 20 100
  552. CON2 g 1 3 "N" "1"
  553. DESC 51
  554. +Summary:
  555. +
  556. +Constraints:
  557. +
  558. +Notes:
  559. +
  560. +References:
  561.  
  562. CON2 g 1 6 "N" "1"
  563. DESC 51
  564. +Summary:
  565. +
  566. +Constraints:
  567. +
  568. +Notes:
  569. +
  570. +References:
  571.  
  572. CON2 m 3 6 "N" "1"
  573. DESC 106
  574. +Summary:
  575. +Flow of messages to control traffic lights in the group
  576. +Constraints:
  577. +
  578. +Notes:
  579. +
  580. +References:
  581.  
  582. CON3 50 -50 100
  583. CON2 m 6 5 "N" "1"
  584. DESC 51
  585. +Summary:
  586. +
  587. +Constraints:
  588. +
  589. +Notes:
  590. +
  591. +References:
  592.  
  593. CON3 0 0 100
  594. CON2 m 0 5 "N" "1"
  595. DESC 51
  596. +Summary:
  597. +
  598. +Constraints:
  599. +
  600. +Notes:
  601. +
  602. +References:
  603.  
  604. CON3 40 50 100
  605. CON2 m 5 6 "N" "1"
  606. DESC 51
  607. +Summary:
  608. +
  609. +Constraints:
  610. +
  611. +Notes:
  612. +
  613. +References:
  614.  
  615. CON3 42 50 100
  616. CON2 m 5 2 "N" "1"
  617. DESC 51
  618. +Summary:
  619. +
  620. +Constraints:
  621. +
  622. +Notes:
  623. +
  624. +References:
  625.  
  626. CON3 20 20 100
  627. PRCR "GroupProcessor" "NN"
  628. DESC 63
  629. +Summary:
  630. +
  631. +Purpose:
  632. +
  633. +Constraints:
  634. +
  635. +Notes:
  636. +
  637. +References:
  638.  
  639. PRCR "MainProcessor" "1"
  640. DESC 63
  641. +Summary:
  642. +
  643. +Purpose:
  644. +
  645. +Constraints:
  646. +
  647. +Notes:
  648. +
  649. +References:
  650.  
  651. PRCR "TrLightProcessor" "NN*MM"
  652. DESC 63
  653. +Summary:
  654. +
  655. +Purpose:
  656. +
  657. +Constraints:
  658. +
  659. +Notes:
  660. +
  661. +References:
  662.  
  663. TASK "OS" 0 0 0 "1"
  664. DESC 101
  665. +Summary:
  666. +
  667. +Priority:
  668. +
  669. +Purpose:
  670. +
  671. +Persistency Features:
  672. +
  673. +Constraints:
  674. +
  675. +Notes:
  676. +
  677. +References:
  678.  
  679. TASK "coordinator" 0 0 0 "1"
  680. DESC 101
  681. +Summary:
  682. +
  683. +Priority:
  684. +
  685. +Purpose:
  686. +
  687. +Persistency Features:
  688. +
  689. +Constraints:
  690. +
  691. +Notes:
  692. +
  693. +References:
  694.  
  695. TASK "grConcentratorProc" 0 0 0 "1"
  696. DESC 101
  697. +Summary:
  698. +
  699. +Priority:
  700. +
  701. +Purpose:
  702. +
  703. +Persistency Features:
  704. +
  705. +Constraints:
  706. +
  707. +Notes:
  708. +
  709. +References:
  710.  
  711. TASK "panelProc" 0 0 0 "1"
  712. DESC 101
  713. +Summary:
  714. +
  715. +Priority:
  716. +
  717. +Purpose:
  718. +
  719. +Persistency Features:
  720. +
  721. +Constraints:
  722. +
  723. +Notes:
  724. +
  725. +References:
  726.  
  727. TASK "timerProc" 0 0 0 "1"
  728. DESC 101
  729. +Summary:
  730. +
  731. +Priority:
  732. +
  733. +Purpose:
  734. +
  735. +Persistency Features:
  736. +
  737. +Constraints:
  738. +
  739. +Notes:
  740. +
  741. +References:
  742.  
  743. TASK "traProc" 0 0 0 "1"
  744. DESC 101
  745. +Summary:
  746. +
  747. +Priority:
  748. +
  749. +Purpose:
  750. +
  751. +Persistency Features:
  752. +
  753. +Constraints:
  754. +
  755. +Notes:
  756. +
  757. +References:
  758.  
  759. CONP "GroupProcessor" "OS"
  760. CONP "GroupProcessor" "grConcentratorProc"
  761. CONP "GroupProcessor" "timerProc"
  762. CONP "MainProcessor" "OS"
  763. CONP "MainProcessor" "coordinator"
  764. CONP "MainProcessor" "panelProc"
  765. CONP "MainProcessor" "timerProc"
  766. CONP "TrLightProcessor" "OS"
  767. CONP "TrLightProcessor" "timerProc"
  768. CONP "TrLightProcessor" "traProc"
  769. CONT "OS" "OS-timer"
  770. CONT "coordinator" "syncUnit"
  771. CONT "grConcentratorProc" "lightGroup"
  772. CONT "panelProc" "controlPanel"
  773. CONT "timerProc" "timer"
  774. CONT "traProc" "trafficLight"
  775. ACTN "action" 420 325 3 " "
  776. ASKM "ask (=send+receive syncron)" 170 250 2 "number > highLimit"
  777. COND "condition" 225 155 6 " "
  778. ITER "loop start" 410 250 2 "otherwise"
  779. NEX2 "next loop" 411 390 1 " " 0 
  780. NEX2 "lebel" 130 325 2 " " 7 1 
  781. RECV "receive message" 205 85 8 " "
  782. SEND "send message" 25 250 2 "number < lowLimit"
  783. STAT "state" 235 30 -1 " "
  784. STAT "new state" 555 390 3 "end of loop"
  785. STAT "new state2" 115 390 5 " "
  786. UACT "panel operator" 390 150
  787. DESC 196
  788. +The panel operator can:
  789. +- read out the LED matrix to find out which traffic lights have burned out bulbs
  790. +- reset the panel, e.g. to see after next check period which lamps are still burned out
  791.  
  792. UACT "sync unit" 410 315
  793. DESC 108
  794. + This acror is an external coordination system, sending orders to switch traffic lights to required color.
  795.  
  796. UACT "OS - operating system timer serv" 580 140
  797. DESC 3
  798.  
  799. UCAS "bulbSurveillance" 240 60
  800. DESC 267
  801. +This use case shows cooperation with the operator.
  802. +The operator can look upon the LED panel containing one LED per each traffic light.
  803. +The panel shows which traffic lights had/have burned bulbs.
  804. +He can reset the panel to prepare for the next accumulation period.
  805.  
  806. SQOB -1
  807. SQSE "LED:s on" 388 0 -1 3
  808. SQSE "LED ON" 265 0 -1 3
  809. SQSE "LED:s off" 503 80 -1 3
  810. SQOB 5
  811. SQSE "REQ timeout" 70 80 0 3
  812. SQSE "REQ timeout" 417 24 0 3
  813. SQOB 3
  814. SQSE "GET gr i " 198 39 0 3
  815. SQSR "resp gr i" 36 89
  816. SQSE "GET gr i+1 " 315 51 0 3
  817. SQSR "resp gr i+1" 48 218
  818. SQOB 2
  819. SQSE "TimeOut" 145 276 0 1
  820. SQSE "RESET" 467 40 1 0
  821. SQTX "request a timeout for next scan of traffic light groups" 347 65
  822. SQTX "fetch bulb status from all traffic light groups, one-by-one" 341 192
  823. SQTX "switch on the LEDs on the panel for all the non-working bulbs" 345 257
  824. SQTX "The actor resets the panel for the  next accumulation period" 351 466
  825. SQTX "request a timeout for next scan of traffic light groups (as above...)" 353 413
  826. UCAS "traffic control" 140 360
  827. DESC 68
  828. + The Use Case shows how the control of traffic lights is going on.
  829.  
  830. SQOB -1
  831. SQOB 3
  832. SQSE "lightColor" 102 208 2 0
  833. SQSE "Foooooooooooooooooomessage" 372 30 1 0
  834. SQOB 6
  835. SQSE "message" 147 26 2 1
  836. SQSE "message" 228 24 2 1
  837. SQTX "The light group receives the requested color." 354 99
  838. SQTX "Each traffic light will be updated with the new color." 354 136
  839. SQTX "Next light, etc." 356 222
  840. SQTX "Now all lights are set. 
  841. Nothing more to do..." 355 281
  842. SQTX "This message has a long name, to show how the dynamic distance calculation works!" 356 363
  843. UCAS "bulb status collection" 95 150
  844. DESC 104
  845. +This use case shows how to collect status of the bulbsfrom each traffic light to the group controller.
  846.  
  847. SQOB 5
  848. SQSE "REQ Timeout" 232 28 0 1
  849. SQSE "REQ Timeout" 355 59 0 2
  850. SQSE "REQ Timeout" 583 22 1 2
  851. SQSE "REQ Timeout" 108 80 0 1
  852. SQOB 6
  853. SQSE "CHECK NOW" 183 58 0 0
  854. SQSE "GET, light K" 447 40 1 2
  855. SQSR "resp K" 35 72
  856. SQSE "GET K+1" 530 29 1 2
  857. SQSR "resp K+1" 27 147
  858. SQOB 3
  859. SQSE "message" 410 177 0 0
  860. SQTX "Request next timeout message, in MM seconds, as above..." 270 574
  861. SQTX "Request next timeout message, as above..." 260 228
  862. SQTX "Update the state of own bulbs." 258 204
  863. SQTX "Each traffic light periodically will collect status of its bulbs. Request timeout in NN seconds." 263 101
  864. SQTX "Timer expires. Time to check bulbs!" 260 176
  865. SQTX "Each group controller collects periodically status of the bulbs. Request timeout in MM sec." 263 338
  866. SQTX "Timer expires. Collect status from traffic lights, one-by-one." 264 407
  867. SQTX "Update list of burned bulbs." 265 475
  868. UCAS "timer use case" 520 60
  869. DESC 126
  870. +a use case showing handling of TICKS received from OS.
  871. +A TICK is comming every XXX seconds (paramater set at system start).
  872.  
  873. UZUA " " 0 3
  874. DESC 3
  875.  
  876. UZUA " " 1 4
  877. DESC 3
  878.  
  879. UZUA " " 2 6
  880. DESC 3
  881.  
  882. UZUU "uses" 3 5
  883. DESC 3
  884.  
  885.