Page 344 -
P. 344

CHAPTER 12  ANALYSIS MODELING                                      315

                              robot control system. The Ward and Mellor notation used to represent multiple equiv-
                              alent instances simply overlays process (or control process) bubbles to indicate
                              multiplicity.

                              12.4.4 Hatley and Pirbhai Extensions
                              The Hatley and Pirbhai [HAT87] extensions to basic structured analysis notation focus
                              less on the creation of additional graphical symbols and more on the representation
                              and specification of the control-oriented aspects of the software. The dashed arrow
                              is once again used to represent control or event flow. Unlike Ward and Mellor, Hat-
                              ley and Pirbhai suggest that dashed and solid notation be represented separately.
                              Therefore, a control flow diagram is defined. The CFD contains the same processes as
                The CFD shows how  the DFD, but shows control flow, rather than data flow. Instead of representing con-
                events move through a  trol processes directly within the flow model, a notational reference (a solid bar) to
                system. The CSPEC  a control specification (CSPEC) is used. In essence, the solid bar can be viewed as a
                indicates how software
                behaves as a  "window" into an "executive" (the CSPEC) that controls the processes (functions) rep-
                consequence of events  resented in the DFD based on the event that is passed through the window. The CSPEC,
                and what processes  described in detail in Section 12.6.4, is used to indicate (1) how the software behaves
                come into play to  when an event or control signal is sensed and (2) which processes are invoked as a
                manage events.
                              consequence of the occurrence of the event. A process specification is used to describe
                              the inner workings of a process represented in a flow diagram.
                                Using the notation described in Figures 12.12 and 12.13, along with additional
                              information contained in PSPECs and CSPECs, Hatley and Pirbhai create a model of
                              a real-time system. Data flow diagrams are used to represent data and the processes
                              that manipulate it. Control flow diagrams show how events flow among processes
                              and illustrate those external events that cause various processes to be activated. The
                              interrelationship between the process and control models is shown schematically in
                              Figure 12.14. The process model is "connected" to the control model through data
                              conditions. The control model is "connected" to the process model through process
                              activation information contained in the CSPEC.
                                A data condition occurs whenever data input to a process result in control output.
                              This situation is illustrated in Figure 12.15, part of a flow model for an automated
                              monitoring and control system for pressure vessels in an oil refinery. The process
                              check and convert pressure implements the algorithm described in the PSPEC
                              pseudocode shown. When the absolute tank pressure is greater than an allowable
                              maximum, an above pressure event is generated. Note that when Hatley and Pirb-
                              hai notation is used, the data flow is shown as part of a DFD, while the control flow
                              is noted separately as part of a control flow diagram. As we noted earlier, the verti-
                              cal solid bar into which the above pressure event flows is a pointer to the CSPEC.
                              Therefore, to determine what happens when this event occurs, we must check the
                              CSPEC.
                                The control specification (CSPEC) contains a number of important modeling tools.
                              A process activation table (described in Section 12.6.4) is used to indicate which
   339   340   341   342   343   344   345   346   347   348   349