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

